diff --git a/i18n/translation-templates/CHANGELOG.pot b/i18n/translation-templates/CHANGELOG.pot index 9ada8ab1d..985320aa6 100644 --- a/i18n/translation-templates/CHANGELOG.pot +++ b/i18n/translation-templates/CHANGELOG.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-12 11:50+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,8494 +17,8862 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../../CHANGELOG.md:1 -msgid "2026-07-12" +msgid "2026-07-16" msgstr "" #: ../../../CHANGELOG.md:3 -msgid "matrix-registration-bot has been removed from the playbook" +msgid "(Backward Compatibility Break) Bridge variables have been renamed" msgstr "" #: ../../../CHANGELOG.md:5 -msgid "The [matrix-registration-bot](./docs/configuring-playbook-bot-matrix-registration-bot.md) service has been removed from the playbook, as it has been unmaintained." +msgid "All bridge roles (`roles/custom/matrix-bridge-*`) now use a uniform variable naming scheme, where the variable prefix matches the role directory name. This adopts the naming policy proposed in [#4705](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4705) and requested in [#5096](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/5096)." msgstr "" #: ../../../CHANGELOG.md:7 -msgid "The playbook will let you know if you're using any `matrix_bot_matrix_registration_bot_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bot-matrix-registration-bot.md#uninstalling-the-component-manually)." +msgid "Previously, bridge variable prefixes were all over the place (`matrix_mautrix_telegram_*`, `matrix_heisenbridge_*`, `matrix_steam_bridge_*`, etc.). Now, they all follow the same pattern that bot roles (`matrix_bot__*`) have been using for years: the `matrix-bridge-mautrix-telegram` role uses `matrix_bridge_mautrix_telegram_*` variables, the `matrix-bridge-steam` role uses `matrix_bridge_steam_*` variables, and so on." msgstr "" #: ../../../CHANGELOG.md:9 -msgid "Continuwuity v26 no longer supports LDAP" +msgid "Only Ansible variables were renamed. Systemd service names, container names, `/matrix/*` directories, database names and usernames, and appservice registration contents (tokens, bot usernames) all remain the same. No data migration is necessary and bridges keep working as before, once you rename the variables in your `vars.yml` configuration file." msgstr "" #: ../../../CHANGELOG.md:11 -msgid "The playbook now installs [Continuwuity](./docs/configuring-playbook-continuwuity.md) v26, a major upgrade from the v0.5.x series which **removes LDAP authentication support** (see the [v26.6.0 release notes](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v26.6.0))." +msgid "The playbook will let you know if your configuration still uses old-style variable names." msgstr "" #: ../../../CHANGELOG.md:13 -msgid "The playbook never exposed dedicated variables for Continuwuity's LDAP support, so most people are unaffected. However, if you had enabled LDAP via `matrix_continuwuity_environment_variables_extension` or a custom configuration template, you'll need to migrate to another authentication method, such as the newly introduced [OpenID Connect support](https://continuwuity.org/guides/oidc)." +msgid "Here is the full rename map:" msgstr "" -#: ../../../CHANGELOG.md:15 -msgid "2026-06-29" +#: ../../../CHANGELOG.md:0 +msgid "Old variable prefix" msgstr "" -#: ../../../CHANGELOG.md:17 -msgid "Support for running on Synology DSM" +#: ../../../CHANGELOG.md:0 +msgid "New variable prefix" msgstr "" -#: ../../../CHANGELOG.md:19 -msgid "Thanks to [cksit](https://github.com/cksit), the playbook can now run on [Synology DSM](https://www.synology.com/dsm) 7 and later." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_appservice_discord_`" msgstr "" -#: ../../../CHANGELOG.md:21 -msgid "Synology hosts are detected automatically (via `/etc/synoinfo.conf`), so other systems are unaffected. On DSM, the playbook uses the platform's native user management (`synouser`/`synogroup`), works around a Docker SDK incompatibility, and installs a small boot-fix service that handles a few DSM-specific boot quirks." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_appservice_discord_`" msgstr "" -#: ../../../CHANGELOG.md:23 -msgid "To get started, see the new [Configuring Synology DSM](./docs/configuring-playbook-synology.md) documentation page." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_appservice_irc_`" msgstr "" -#: ../../../CHANGELOG.md:25 -msgid "Mautrix bridges now expose their API (for Mautrix Manager and similar tools)" +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_appservice_irc_`" msgstr "" -#: ../../../CHANGELOG.md:27 -msgid "The playbook now exposes the HTTP API of each [mautrix](https://github.com/mautrix) bridge, so tools like [Mautrix Manager](https://github.com/mautrix/manager) can help you log into them. This is especially useful for [mautrix-gmessages](./docs/configuring-playbook-bridge-mautrix-gmessages.md): Google has removed its QR-code login, leaving a [manual cookie-extraction flow](https://docs.mau.fi/bridges/go/gmessages/authentication.html) that tools like Mautrix Manager can streamline." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_beeper_linkedin_`" msgstr "" -#: ../../../CHANGELOG.md:29 -msgid "The API is exposed at `https://matrix.example.com/bridges/SERVICENAME` (for example, `https://matrix.example.com/bridges/gmessages`) and is advertised via a new `/.well-known/matrix/mautrix` file, so compatible tools can discover your bridges automatically. Such tools authenticate with your own Matrix access token, so no bridge secret needs to be shared with them." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_beeper_linkedin_`" msgstr "" -#: ../../../CHANGELOG.md:31 -msgid "This affects all mautrix bridges based on the new bridge framework (bluesky, gmessages, meta-instagram, meta-messenger, signal, slack, telegram, twitter and whatsapp) and is enabled by default." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_heisenbridge_`" msgstr "" -#: ../../../CHANGELOG.md:33 -msgid "To learn more (including how to turn it off), see the [Expose the bridge's API](./docs/configuring-playbook-bridge-mautrix-bridges.md#expose-the-bridges-api-for-mautrix-manager-and-similar-tools) section on our common mautrix bridges documentation page." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_heisenbridge_`" msgstr "" -#: ../../../CHANGELOG.md:35 -msgid "2026-06-28" +#: ../../../CHANGELOG.md:0 +msgid "`matrix_hookshot_`" msgstr "" -#: ../../../CHANGELOG.md:37 -msgid "baibot now supports Venice, our recommended provider" +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_hookshot_`" msgstr "" -#: ../../../CHANGELOG.md:39 -msgid "[baibot](./docs/configuring-playbook-bot-baibot.md) now ships a preset for the [Venice](./docs/configuring-playbook-bot-baibot.md#venice) provider, and it's the one we recommend. It's the most capable provider baibot supports (text generation with vision, file inputs and web search, speech-to-text, text-to-speech, and image generation and editing), and the only one that runs inference with no logging and no training on your data." +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_androidsms_`" msgstr "" -#: ../../../CHANGELOG.md:41 -msgid "Enabling it takes a preset toggle and an API key:" +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_wsproxy_androidsms_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_bluesky_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_bluesky_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_discord_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_discord_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_gmessages_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_gmessages_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_googlechat_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_googlechat_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_gvoice_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_gvoice_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_imessage_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_wsproxy_imessage_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_meta_instagram_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_meta_instagram_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_meta_messenger_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_meta_messenger_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_signal_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_signal_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_slack_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_slack_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_telegram_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_telegram_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_twitter_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_twitter_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_whatsapp_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_whatsapp_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mautrix_wsproxy_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mautrix_wsproxy_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_meshtastic_relay_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_meshtastic_relay_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mx_puppet_groupme_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mx_puppet_groupme_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_mx_puppet_steam_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_mx_puppet_steam_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_postmoogle_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_postmoogle_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_rustpush_bridge_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_rustpush_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_sms_bridge_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_sms_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_steam_bridge_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_steam_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_wechat_`" +msgstr "" + +#: ../../../CHANGELOG.md:0 +msgid "`matrix_bridge_wechat_`" +msgstr "" + +#: ../../../CHANGELOG.md:46 +msgid "A few special cases beyond the prefix map:" +msgstr "" + +#: ../../../CHANGELOG.md:48 +msgid "`matrix_mautrix_signal_wsproxy_syncproxy_connection_string` (a variable of the mautrix-wsproxy role, despite its name) is now `matrix_bridge_mautrix_wsproxy_syncproxy_connection_string`" msgstr "" #: ../../../CHANGELOG.md:49 -msgid "[OpenAI](https://openai.com/) and baibot's other providers remain fully supported. To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md#venice) documentation page." +msgid "`matrix_playbook_migration_matrix_postmoogle_migration_validation_enabled` is now `matrix_playbook_migration_matrix_bridge_postmoogle_migration_validation_enabled`" msgstr "" #: ../../../CHANGELOG.md:51 -msgid "2026-06-24" +msgid "You can update your `vars.yml` file automatically with this `sed` command (on macOS, use `sed -i ''` instead of `sed -i`):" msgstr "" -#: ../../../CHANGELOG.md:53 -msgid "Support for bridging to iMessage via RustPush" +#: ../../../CHANGELOG.md:88 +msgid "The `sed` command only replaces prefixes followed by an underscore, so values that intentionally match old prefixes (like the default database names, e.g. `matrix_mautrix_telegram`) are not affected." msgstr "" -#: ../../../CHANGELOG.md:55 -msgid "Thanks to [jasonlaguidice](https://github.com/jasonlaguidice), the playbook now supports bridging to [iMessage](https://support.apple.com/messages) via a new [RustPush](https://github.com/OpenBubbles/rustpush)-based bridge ([jasonlaguidice/imessage](https://github.com/jasonlaguidice/imessage))." +#: ../../../CHANGELOG.md:90 +msgid "**Note**: if you have defined your own custom variables whose names embed an old prefix (e.g. `vault_matrix_postmoogle_password` referencing a secret in an Ansible Vault file), the `sed` command renames such references too. Either rename your custom variables to match (including their definitions in encrypted vault files, which `sed` cannot reach), or revert those spots manually." msgstr "" -#: ../../../CHANGELOG.md:57 -msgid "Unlike the existing [mautrix-wsproxy](./docs/configuring-playbook-bridge-mautrix-wsproxy.md) iMessage bridge, this one talks directly to Apple's push notification service, so it needs neither a running Mac nor a wsproxy on the homeserver. Each user supplies a hardware key extracted from a Mac through the bridge bot's login flow." -msgstr "" - -#: ../../../CHANGELOG.md:59 -msgid "To learn more, see our [Setting up RustPush (iMessage) bridging](./docs/configuring-playbook-bridge-rustpush.md) documentation page." -msgstr "" - -#: ../../../CHANGELOG.md:61 -msgid "2026-05-24" -msgstr "" - -#: ../../../CHANGELOG.md:63 -msgid "matrix-ldap-registration-proxy has been removed from the playbook" -msgstr "" - -#: ../../../CHANGELOG.md:65 -msgid "The [matrix-ldap-registration-proxy](./docs/configuring-playbook-matrix-ldap-registration-proxy.md) service has been removed from the playbook, as the source code and the container image have become unavailable." -msgstr "" - -#: ../../../CHANGELOG.md:67 -msgid "The playbook will let you know if you're using any `matrix_ldap_registration_proxy_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-matrix-ldap-registration-proxy.md#uninstalling-the-component-manually)." -msgstr "" - -#: ../../../CHANGELOG.md:69 -msgid "2026-05-23" -msgstr "" - -#: ../../../CHANGELOG.md:71 -msgid "Go-NEB has been removed from the playbook" -msgstr "" - -#: ../../../CHANGELOG.md:73 -msgid "[Go-NEB](./docs/configuring-playbook-bot-go-neb.md) has been removed from the playbook, as it has been discontinued since June 2023." -msgstr "" - -#: ../../../CHANGELOG.md:75 -msgid "The playbook will let you know if you're using any `matrix_bot_go_neb_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-go-neb.md#uninstalling-go-neb-manually)." -msgstr "" - -#: ../../../CHANGELOG.md:77 -msgid "2026-05-19" -msgstr "" - -#: ../../../CHANGELOG.md:79 -msgid "matrix-registration has been removed from the playbook" -msgstr "" - -#: ../../../CHANGELOG.md:81 -msgid "The [matrix-registration](./docs/configuring-playbook-matrix-registration.md) service has been removed from the playbook, as it has been unmaintained (archived) since November, 2025." -msgstr "" - -#: ../../../CHANGELOG.md:83 -msgid "The playbook will let you know if you're using any `matrix_registration_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-matrix-registration.md#uninstalling-the-component-manually)." -msgstr "" - -#: ../../../CHANGELOG.md:85 -msgid "2026-05-18" -msgstr "" - -#: ../../../CHANGELOG.md:87 -msgid "LiveKit Server has been upgraded to v1.12.0" -msgstr "" - -#: ../../../CHANGELOG.md:89 -msgid "The playbook now ships [LiveKit Server](./docs/configuring-playbook-livekit-server.md) v1.12.0. See the [upstream release notes](https://github.com/livekit/livekit/releases/tag/v1.12.0) for details." -msgstr "" - -#: ../../../CHANGELOG.md:91 -msgid "This release tightens TURN security:" -msgstr "" - -#: ../../../CHANGELOG.md:93 -msgid "**TURN credentials now carry a TTL** (default: 300 seconds), exposed via `livekit_server_config_turn_ttl_seconds`." +#: ../../../CHANGELOG.md:92 +msgid "2026-07-15" msgstr "" #: ../../../CHANGELOG.md:94 -msgid "**TURN no longer relays traffic to restricted peer CIDRs** (loopback, link-local, multicast, private, unspecified) by default. If your setup legitimately requires it, list the ranges in `livekit_server_config_turn_allow_restricted_peer_cidrs`." +msgid "Google Voice bridging" msgstr "" #: ../../../CHANGELOG.md:96 -msgid "For example, to allow TURN to reach the common [RFC1918](https://www.rfc-editor.org/rfc/rfc1918) private ranges, add to your `vars.yml`:" +msgid "The playbook can now bridge [Google Voice](https://voice.google.com/) via the [mautrix-gvoice](https://github.com/mautrix/gvoice) bridge. Text and media flow both ways, and portal rooms build themselves for your recent conversations." +msgstr "" + +#: ../../../CHANGELOG.md:98 +msgid "Login is by cookie, not a paired phone: you copy the cookies from a browser signed in to voice.google.com and hand them to the bot. Google expires them on its own schedule, so expect to log in again every so often. See [Setting up Mautrix Google Voice bridging](./docs/configuring-playbook-bridge-mautrix-gvoice.md) to get started." +msgstr "" + +#: ../../../CHANGELOG.md:100 +msgid "matrix-appservice-kakaotalk has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:102 +msgid "The [matrix-appservice-kakaotalk](./docs/configuring-playbook-bridge-appservice-kakaotalk.md) bridge has been removed from the playbook. This component could only be installed by self-building its source code, and its upstream repository has become unreachable, which makes installation impossible. The bridge was also based on the unmaintained node-kakao library, and there have been reports that using it may get KakaoTalk accounts banned." msgstr "" #: ../../../CHANGELOG.md:104 -msgid "Adjust the ranges to match your network. To deny specific CIDRs (taking precedence over the allow list above), use `livekit_server_config_turn_deny_peer_cidrs` in the same shape." +msgid "The playbook will let you know if you're using any `matrix_appservice_kakaotalk_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bridge-appservice-kakaotalk.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:107 -msgid "2026-05-07" +#: ../../../CHANGELOG.md:106 +msgid "Dedicated CAPTCHA variables for Matrix Authentication Service" msgstr "" -#: ../../../CHANGELOG.md:109 -msgid "Tuwunel support" +#: ../../../CHANGELOG.md:108 +msgid "[Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) can now be protected with CAPTCHA (ReCaptcha v2, Cloudflare Turnstile, or hCaptcha) via dedicated variables, instead of going through `matrix_authentication_service_configuration_extension_yaml`. See the [captcha documentation](./docs/configuring-captcha.md#matrix-authentication-service) for details." msgstr "" -#: ../../../CHANGELOG.md:111 -msgid "Thanks to [Jason Volk](https://github.com/jevolk), the playbook now supports the [Tuwunel](./docs/configuring-playbook-tuwunel.md) homeserver as an optional alternative to Synapse." +#: ../../../CHANGELOG.md:110 +msgid "2026-07-14" msgstr "" -#: ../../../CHANGELOG.md:113 -msgid "Tuwunel is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md) written in Rust. The former conduwuit maintainer [endorses Tuwunel as conduwuit's successor](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/5200#issuecomment-4396211185). Like [Continuwuity](./docs/configuring-playbook-continuwuity.md), Tuwunel continues development on top of conduwuit's database format." +#: ../../../CHANGELOG.md:112 +msgid "The playbook no longer ships a custom welcome page for Element Web" msgstr "" -#: ../../../CHANGELOG.md:115 -#: ../../../CHANGELOG.md:619 -#: ../../../CHANGELOG.md:832 -msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." +#: ../../../CHANGELOG.md:114 +msgid "Element Web [redesigned its welcome page](https://github.com/element-hq/element-web/pull/33211) (the screen shown at `/#/welcome` before logging in) into a built-in component and no longer loads a custom `welcome.html` file by default. Since the playbook upgraded to an Element Web version containing that change (spring 2026), the custom welcome page the playbook installed (and the variables customizing it) had silently stopped having any effect." msgstr "" -#: ../../../CHANGELOG.md:117 -msgid "People that used to run conduwuit may wish to [migrate from conduwuit to Tuwunel](./docs/configuring-playbook-tuwunel.md#migrating-from-conduwuit) via the new `tuwunel-migrate-from-conduwuit` tag, which performs an in-place binary-swap migration that reads the conduwuit database directly." +#: ../../../CHANGELOG.md:116 +msgid "The playbook now embraces the new upstream behavior and no longer ships its own `welcome.html`. The following variables have been removed and the playbook will let you know if you're still using them: `matrix_client_element_welcome_headline`, `matrix_client_element_welcome_text`, `matrix_client_element_welcome_logo_link` and `matrix_client_element_page_template_welcome_path`." msgstr "" -#: ../../../CHANGELOG.md:119 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite/Continuwuity to Tuwunel) without data loss. The exception is conduwuit, due to the shared database format." +#: ../../../CHANGELOG.md:118 +msgid "Most welcome page customizations keep working, because they go through Element Web's branding configuration, which the new welcome page still honors:" msgstr "" -#: ../../../CHANGELOG.md:122 -msgid "2026-04-24" +#: ../../../CHANGELOG.md:120 +msgid "a custom logo, via `matrix_client_element_welcome_logo` (or `matrix_client_element_branding_auth_header_logo_url`)" msgstr "" -#: ../../../CHANGELOG.md:124 -msgid "Support for bridging to Meshtastic via meshtastic-matrix-relay" +#: ../../../CHANGELOG.md:121 +msgid "a custom background, via `matrix_client_element_branding_welcome_background_url`" msgstr "" -#: ../../../CHANGELOG.md:126 -msgid "Thanks to [luschmar](https://github.com/luschmar), the playbook now supports bridging to [Meshtastic](https://meshtastic.org/) mesh networks via [meshtastic-matrix-relay](https://github.com/jeremiah-k/meshtastic-matrix-relay) (mmrelay)." -msgstr "" - -#: ../../../CHANGELOG.md:128 -msgid "To learn more, see our [Setting up a Matrix <-> Meshtastic bridge](./docs/configuring-playbook-bridge-meshtastic-relay.md) documentation page." -msgstr "" - -#: ../../../CHANGELOG.md:130 -msgid "(BC Break) mautrix-telegram has been rewritten in Go (bridgev2)" -msgstr "" - -#: ../../../CHANGELOG.md:132 -msgid "The [mautrix-telegram](./docs/configuring-playbook-bridge-mautrix-telegram.md) bridge has been [rewritten in Go](https://mau.fi/blog/2026-04-mautrix-release/) on top of the [bridgev2](https://docs.mau.fi/bridges/go/) architecture. See the [upstream v26.04 release notes](https://github.com/mautrix/telegram/releases/tag/v0.2604.0) for what changed in the bridge itself (shared-portal behavior, management-room state, new features, etc.)." +#: ../../../CHANGELOG.md:123 +msgid "If you need a fully custom welcome page, you can self-host an HTML page and point Element Web at it, like this:" msgstr "" #: ../../../CHANGELOG.md:134 -msgid "**Most users won't have to do anything.** If you use the playbook's integrated Postgres (the default) and haven't customized telegram-bridge variables beyond `matrix_mautrix_telegram_api_id` and `matrix_mautrix_telegram_api_hash`, just re-run the playbook; the bridge will migrate itself on first start. Taking a backup beforehand is still a good idea." +msgid "BorgBackup now includes Synapse's local thumbnails" msgstr "" #: ../../../CHANGELOG.md:136 -msgid "⚠️ **SQLite users: do not upgrade yet.** Upstream v0.2604.0 has a [known bug in the legacy SQLite migration](https://github.com/mautrix/telegram/releases/tag/v0.2604.0) that can corrupt your data. The playbook detects this case and will refuse to proceed. Either switch to Postgres first (set `matrix_mautrix_telegram_database_engine: postgres`; the playbook handles the pgloader migration), or wait for the next upstream release." +msgid "For Synapse servers, the built-in [BorgBackup](./docs/configuring-playbook-backup-borg.md) integration no longer excludes the media store's `local_thumbnails` directory from backups." msgstr "" #: ../../../CHANGELOG.md:138 -msgid "Playbook-specific things to know. The playbook will fail loudly if you're affected:" +msgid "Synapse only generates thumbnails of local media at upload time (unless `dynamic_thumbnails` is enabled, which the playbook does not do), and there is no tooling to regenerate them. Restoring a backup made with the previous exclusion list therefore left all previously uploaded local images without thumbnails. The [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) recommends backing this directory up, and the playbook now follows that recommendation." msgstr "" #: ../../../CHANGELOG.md:140 -msgid "Many `matrix_mautrix_telegram_*` variables have been **removed** (web-login endpoint, lottieconverter, username/alias/displayname templates, filter-mode, bot-token relaybot, Shared-Secret-Auth map). The deprecation check will tell you exactly what to rename or drop when you run the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:141 -msgid "**Old-style relaybot users** (`matrix_mautrix_telegram_bot_token`): switch to the common [mautrix bridge relay mode](./docs/configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional) via `matrix_mautrix_telegram_bridge_relay_enabled: true`." +msgid "Expect your backups to grow somewhat, depending on how much image media your local users have uploaded. If you prefer the old behavior, you can redefine `backup_borg_location_exclude_patterns` in your `vars.yml`." msgstr "" #: ../../../CHANGELOG.md:142 -msgid "**Shared-Secret-Auth double-puppeting users**: switch to [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md); the playbook wires it up automatically." +msgid "2026-07-12" msgstr "" -#: ../../../CHANGELOG.md:143 -msgid "**Custom `matrix_mautrix_telegram_bridge_permissions`**: map `relaybot` to `relay`, `puppeting` to `user`, `full` to `user`. Validated at playbook time." +#: ../../../CHANGELOG.md:144 +msgid "matrix-registration-bot has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:145 -msgid "2026-04-03" +#: ../../../CHANGELOG.md:146 +msgid "The [matrix-registration-bot](./docs/configuring-playbook-bot-matrix-registration-bot.md) service has been removed from the playbook, as it has been unmaintained." msgstr "" -#: ../../../CHANGELOG.md:147 -msgid "(BC Break) Synapse Admin (fork by etke.cc) is now Ketesa" +#: ../../../CHANGELOG.md:148 +msgid "The playbook will let you know if you're using any `matrix_bot_matrix_registration_bot_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bot-matrix-registration-bot.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:149 -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. For the full story behind the rename and a tour of what's new, see the [Ketesa v1.0.0 announcement](https://etke.cc/blog/introducing-ketesa/)." +#: ../../../CHANGELOG.md:150 +msgid "Continuwuity v26 no longer supports LDAP" msgstr "" -#: ../../../CHANGELOG.md:151 -msgid "Ketesa is a zero-configuration drop-in replacement for Synapse Admin: no server-side changes required, just update the role variables." +#: ../../../CHANGELOG.md:152 +msgid "The playbook now installs [Continuwuity](./docs/configuring-playbook-continuwuity.md) v26, a major upgrade from the v0.5.x series which **removes LDAP authentication support** (see the [v26.6.0 release notes](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v26.6.0))." msgstr "" -#: ../../../CHANGELOG.md:153 -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`." +#: ../../../CHANGELOG.md:154 +msgid "The playbook never exposed dedicated variables for Continuwuity's LDAP support, so most people are unaffected. However, if you had enabled LDAP via `matrix_continuwuity_environment_variables_extension` or a custom configuration template, you'll need to migrate to another authentication method, such as the newly introduced [OpenID Connect support](https://continuwuity.org/guides/oidc)." msgstr "" -#: ../../../CHANGELOG.md:155 -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." +#: ../../../CHANGELOG.md:156 +msgid "2026-06-29" msgstr "" -#: ../../../CHANGELOG.md:157 -msgid "The playbook will automatically detect leftover `matrix_synapse_admin_*` variables and fail with a helpful message listing what needs to be renamed." +#: ../../../CHANGELOG.md:158 +msgid "Support for running on Synology DSM" msgstr "" -#: ../../../CHANGELOG.md:159 -msgid "The playbook handles reverse-proxy routing for subpath deployments (e.g. `/ketesa`), including MAS-enabled setups — though OIDC auth flows on real servers still have some rough edges. Feedback is appreciated in [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc)." +#: ../../../CHANGELOG.md:160 +msgid "Thanks to [cksit](https://github.com/cksit), the playbook can now run on [Synology DSM](https://www.synology.com/dsm) 7 and later." msgstr "" -#: ../../../CHANGELOG.md:161 -msgid "See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details." +#: ../../../CHANGELOG.md:162 +msgid "Synology hosts are detected automatically (via `/etc/synoinfo.conf`), so other systems are unaffected. On DSM, the playbook uses the platform's native user management (`synouser`/`synogroup`), works around a Docker SDK incompatibility, and installs a small boot-fix service that handles a few DSM-specific boot quirks." msgstr "" -#: ../../../CHANGELOG.md:163 -msgid "2026-04-02" +#: ../../../CHANGELOG.md:164 +msgid "To get started, see the new [Configuring Synology DSM](./docs/configuring-playbook-synology.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:165 -msgid "(BC Break) Draupnir for all Self Service Provisioning is now disabled by default" +#: ../../../CHANGELOG.md:166 +msgid "Mautrix bridges now expose their API (for Mautrix Manager and similar tools)" msgstr "" -#: ../../../CHANGELOG.md:167 -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.." +#: ../../../CHANGELOG.md:168 +msgid "The playbook now exposes the HTTP API of each [mautrix](https://github.com/mautrix) bridge, so tools like [Mautrix Manager](https://github.com/mautrix/manager) can help you log into them. This is especially useful for [mautrix-gmessages](./docs/configuring-playbook-bridge-mautrix-gmessages.md): Google has removed its QR-code login, leaving a [manual cookie-extraction flow](https://docs.mau.fi/bridges/go/gmessages/authentication.html) that tools like Mautrix Manager can streamline." msgstr "" -#: ../../../CHANGELOG.md:169 -msgid "[Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) now ships with `allowSelfServiceProvisioning: false` as default upstream and in this playbook." +#: ../../../CHANGELOG.md:170 +msgid "The API is exposed at `https://matrix.example.com/bridges/SERVICENAME` (for example, `https://matrix.example.com/bridges/gmessages`) and is advertised via a new `/.well-known/matrix/mautrix` file, so compatible tools can discover your bridges automatically. Such tools authenticate with your own Matrix access token, so no bridge secret needs to be shared with them." msgstr "" -#: ../../../CHANGELOG.md:171 -msgid "This means users can no longer provision Draupnir instances by inviting the appservice bot unless you explicitly opt in." +#: ../../../CHANGELOG.md:172 +msgid "This affects all mautrix bridges based on the new bridge framework (bluesky, gmessages, meta-instagram, meta-messenger, signal, slack, telegram, twitter and whatsapp) and is enabled by default." msgstr "" -#: ../../../CHANGELOG.md:173 -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." +#: ../../../CHANGELOG.md:174 +msgid "To learn more (including how to turn it off), see the [Expose the bridge's API](./docs/configuring-playbook-bridge-mautrix-bridges.md#expose-the-bridges-api-for-mautrix-manager-and-similar-tools) section on our common mautrix bridges documentation page." msgstr "" -#: ../../../CHANGELOG.md:175 -msgid "If you want to enable Self Service Provisioning, add the following to your `vars.yml`:" +#: ../../../CHANGELOG.md:176 +msgid "2026-06-28" +msgstr "" + +#: ../../../CHANGELOG.md:178 +msgid "baibot now supports Venice, our recommended provider" +msgstr "" + +#: ../../../CHANGELOG.md:180 +msgid "[baibot](./docs/configuring-playbook-bot-baibot.md) now ships a preset for the [Venice](./docs/configuring-playbook-bot-baibot.md#venice) provider, and it's the one we recommend. It's the most capable provider baibot supports (text generation with vision, file inputs and web search, speech-to-text, text-to-speech, and image generation and editing), and the only one that runs inference with no logging and no training on your data." msgstr "" #: ../../../CHANGELOG.md:182 -msgid "2026-03-23" +msgid "Enabling it takes a preset toggle and an API key:" msgstr "" -#: ../../../CHANGELOG.md:184 -msgid "Migration validation system introduced" +#: ../../../CHANGELOG.md:190 +msgid "[OpenAI](https://openai.com/) and baibot's other providers remain fully supported. To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md#venice) documentation page." msgstr "" -#: ../../../CHANGELOG.md:186 -msgid "Previously, when updating your setup, you had to remember to read the [CHANGELOG](CHANGELOG.md) file or risk breakage." +#: ../../../CHANGELOG.md:192 +msgid "2026-06-24" msgstr "" -#: ../../../CHANGELOG.md:188 -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)." +#: ../../../CHANGELOG.md:194 +msgid "Support for bridging to iMessage via RustPush" msgstr "" -#: ../../../CHANGELOG.md:191 -msgid "A new `matrix_playbook_migration_validated_version` variable has been introduced." +#: ../../../CHANGELOG.md:196 +msgid "Thanks to [jasonlaguidice](https://github.com/jasonlaguidice), the playbook now supports bridging to [iMessage](https://support.apple.com/messages) via a new [RustPush](https://github.com/OpenBubbles/rustpush)-based bridge ([jasonlaguidice/imessage](https://github.com/jasonlaguidice/imessage))." msgstr "" -#: ../../../CHANGELOG.md:193 -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." +#: ../../../CHANGELOG.md:198 +msgid "Unlike the existing [mautrix-wsproxy](./docs/configuring-playbook-bridge-mautrix-wsproxy.md) iMessage bridge, this one talks directly to Apple's push notification service, so it needs neither a running Mac nor a wsproxy on the homeserver. Each user supplies a hardware key extracted from a Mac through the bridge bot's login flow." msgstr "" -#: ../../../CHANGELOG.md:195 -msgid "**Existing users** will need to add the following to their `vars.yml` file after reviewing all changelog entries up to now:" +#: ../../../CHANGELOG.md:200 +msgid "To learn more, see our [Setting up RustPush (iMessage) bridging](./docs/configuring-playbook-bridge-rustpush.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:201 -msgid "Going forward, whenever a breaking change is introduced the playbook will:" +#: ../../../CHANGELOG.md:202 +msgid "2026-05-24" msgstr "" -#: ../../../CHANGELOG.md:203 -msgid "bump its expected version value (`matrix_playbook_migration_expected_version`), causing a discrepancy with what you validated (`matrix_playbook_migration_validated_version`)" +#: ../../../CHANGELOG.md:204 +msgid "matrix-ldap-registration-proxy has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:205 -msgid "fail when you run it with a helpful message listing what changed and linking to the relevant changelog entries" +#: ../../../CHANGELOG.md:206 +msgid "The [matrix-ldap-registration-proxy](./docs/configuring-playbook-matrix-ldap-registration-proxy.md) service has been removed from the playbook, as the source code and the container image have become unavailable." msgstr "" -#: ../../../CHANGELOG.md:207 -msgid "After reviewing and adapting your setup, you simply update the variable to the new version." +#: ../../../CHANGELOG.md:208 +msgid "The playbook will let you know if you're using any `matrix_ldap_registration_proxy_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-matrix-ldap-registration-proxy.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:209 -msgid "If you'd like to live dangerously and skip these checks (not recommended), you can set this once and be done with it:" +#: ../../../CHANGELOG.md:210 +msgid "2026-05-23" msgstr "" -#: ../../../CHANGELOG.md:215 -msgid "2026-03-19" +#: ../../../CHANGELOG.md:212 +msgid "Go-NEB has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:217 -msgid "Matrix Authentication Service now prefers UNIX sockets for playbook-managed Postgres" +#: ../../../CHANGELOG.md:214 +msgid "[Go-NEB](./docs/configuring-playbook-bot-go-neb.md) has been removed from the playbook, as it has been discontinued since June 2023." msgstr "" -#: ../../../CHANGELOG.md:219 -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." +#: ../../../CHANGELOG.md:216 +msgid "The playbook will let you know if you're using any `matrix_bot_go_neb_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-go-neb.md#uninstalling-go-neb-manually)." msgstr "" -#: ../../../CHANGELOG.md:221 -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." +#: ../../../CHANGELOG.md:218 +msgid "2026-05-19" msgstr "" -#: ../../../CHANGELOG.md:223 -msgid "If you use an external Postgres server for MAS, this does not change your setup." +#: ../../../CHANGELOG.md:220 +msgid "matrix-registration has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:225 -#: ../../../CHANGELOG.md:241 -msgid "If you'd like to keep the previous TCP-based behavior, add the following configuration to your `vars.yml`:" +#: ../../../CHANGELOG.md:222 +msgid "The [matrix-registration](./docs/configuring-playbook-matrix-registration.md) service has been removed from the playbook, as it has been unmaintained (archived) since November, 2025." msgstr "" -#: ../../../CHANGELOG.md:231 -msgid "2026-03-17" +#: ../../../CHANGELOG.md:224 +msgid "The playbook will let you know if you're using any `matrix_registration_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-matrix-registration.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:233 -msgid "Synapse now prefers UNIX sockets for playbook-managed Postgres and Valkey" +#: ../../../CHANGELOG.md:226 +msgid "2026-05-18" +msgstr "" + +#: ../../../CHANGELOG.md:228 +msgid "LiveKit Server has been upgraded to v1.12.0" +msgstr "" + +#: ../../../CHANGELOG.md:230 +msgid "The playbook now ships [LiveKit Server](./docs/configuring-playbook-livekit-server.md) v1.12.0. See the [upstream release notes](https://github.com/livekit/livekit/releases/tag/v1.12.0) for details." +msgstr "" + +#: ../../../CHANGELOG.md:232 +msgid "This release tightens TURN security:" +msgstr "" + +#: ../../../CHANGELOG.md:234 +msgid "**TURN credentials now carry a TTL** (default: 300 seconds), exposed via `livekit_server_config_turn_ttl_seconds`." msgstr "" #: ../../../CHANGELOG.md:235 -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." +msgid "**TURN no longer relays traffic to restricted peer CIDRs** (loopback, link-local, multicast, private, unspecified) by default. If your setup legitimately requires it, list the ranges in `livekit_server_config_turn_allow_restricted_peer_cidrs`." msgstr "" #: ../../../CHANGELOG.md:237 -msgid "This reduces unnecessary container-network wiring and keeps local IPC off the network stack, which is a bit simpler and slightly more secure." +msgid "For example, to allow TURN to reach the common [RFC1918](https://www.rfc-editor.org/rfc/rfc1918) private ranges, add to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:239 -msgid "If you use an external Postgres server or external Redis/Valkey for Synapse, this does not change your setup." +#: ../../../CHANGELOG.md:245 +msgid "Adjust the ranges to match your network. To deny specific CIDRs (taking precedence over the allow list above), use `livekit_server_config_turn_deny_peer_cidrs` in the same shape." msgstr "" #: ../../../CHANGELOG.md:248 -msgid "2026-03-01" +msgid "2026-05-07" msgstr "" #: ../../../CHANGELOG.md:250 -msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently" +msgid "Tuwunel support" msgstr "" #: ../../../CHANGELOG.md:252 -msgid "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:" +msgid "Thanks to [Jason Volk](https://github.com/jevolk), the playbook now supports the [Tuwunel](./docs/configuring-playbook-tuwunel.md) homeserver as an optional alternative to Synapse." msgstr "" #: ../../../CHANGELOG.md:254 -msgid "the Synapse `s3_storage_provider` module configuration" +msgid "Tuwunel is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md) written in Rust. The former conduwuit maintainer [endorses Tuwunel as conduwuit's successor](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/5200#issuecomment-4396211185). Like [Continuwuity](./docs/configuring-playbook-continuwuity.md), Tuwunel continues development on top of conduwuit's database format." msgstr "" -#: ../../../CHANGELOG.md:255 -msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)" +#: ../../../CHANGELOG.md:256 +#: ../../../CHANGELOG.md:760 +#: ../../../CHANGELOG.md:973 +msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" -#: ../../../CHANGELOG.md:257 -msgid "Previously, this variable could be set, but was not effectively applied by either of these paths." +#: ../../../CHANGELOG.md:258 +msgid "People that used to run conduwuit may wish to [migrate from conduwuit to Tuwunel](./docs/configuring-playbook-tuwunel.md#migrating-from-conduwuit) via the new `tuwunel-migrate-from-conduwuit` tag, which performs an in-place binary-swap migration that reads the conduwuit database directly." msgstr "" -#: ../../../CHANGELOG.md:259 -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:261 -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." +#: ../../../CHANGELOG.md:260 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite/Continuwuity to Tuwunel) without data loss. The exception is conduwuit, due to the shared database format." msgstr "" #: ../../../CHANGELOG.md:263 -msgid "2026-02-26" +msgid "2026-04-24" msgstr "" #: ../../../CHANGELOG.md:265 -msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`" +msgid "Support for bridging to Meshtastic via meshtastic-matrix-relay" msgstr "" #: ../../../CHANGELOG.md:267 -msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role." +msgid "Thanks to [luschmar](https://github.com/luschmar), the playbook now supports bridging to [Meshtastic](https://meshtastic.org/) mesh networks via [meshtastic-matrix-relay](https://github.com/jeremiah-k/meshtastic-matrix-relay) (mmrelay)." msgstr "" #: ../../../CHANGELOG.md:269 -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." +msgid "To learn more, see our [Setting up a Matrix <-> Meshtastic bridge](./docs/configuring-playbook-bridge-meshtastic-relay.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:271 -msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available." +msgid "(BC Break) mautrix-telegram has been rewritten in Go (bridgev2)" msgstr "" #: ../../../CHANGELOG.md:273 -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." +msgid "The [mautrix-telegram](./docs/configuring-playbook-bridge-mautrix-telegram.md) bridge has been [rewritten in Go](https://mau.fi/blog/2026-04-mautrix-release/) on top of the [bridgev2](https://docs.mau.fi/bridges/go/) architecture. See the [upstream v26.04 release notes](https://github.com/mautrix/telegram/releases/tag/v0.2604.0) for what changed in the bridge itself (shared-portal behavior, management-room state, new features, etc.)." msgstr "" #: ../../../CHANGELOG.md:275 -msgid "2026-02-21" +msgid "**Most users won't have to do anything.** If you use the playbook's integrated Postgres (the default) and haven't customized telegram-bridge variables beyond `matrix_mautrix_telegram_api_id` and `matrix_mautrix_telegram_api_hash`, just re-run the playbook; the bridge will migrate itself on first start. Taking a backup beforehand is still a good idea." msgstr "" #: ../../../CHANGELOG.md:277 -msgid "(BC Break) coturn is no longer auto-enabled by default" +msgid "⚠️ **SQLite users: do not upgrade yet.** Upstream v0.2604.0 has a [known bug in the legacy SQLite migration](https://github.com/mautrix/telegram/releases/tag/v0.2604.0) that can corrupt your data. The playbook detects this case and will refuse to proceed. Either switch to Postgres first (set `matrix_mautrix_telegram_database_engine: postgres`; the playbook handles the pgloader migration), or wait for the next upstream release." msgstr "" #: ../../../CHANGELOG.md:279 -msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment." +msgid "Playbook-specific things to know. The playbook will fail loudly if you're affected:" msgstr "" #: ../../../CHANGELOG.md:281 -msgid "This reduces resources and attach surface for deployments which:" +msgid "Many `matrix_mautrix_telegram_*` variables have been **removed** (web-login endpoint, lottieconverter, username/alias/displayname templates, filter-mode, bot-token relaybot, Shared-Secret-Auth map). The deprecation check will tell you exactly what to rename or drop when you run the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:282 +msgid "**Old-style relaybot users** (`matrix_mautrix_telegram_bot_token`): switch to the common [mautrix bridge relay mode](./docs/configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional) via `matrix_mautrix_telegram_bridge_relay_enabled: true`." msgstr "" #: ../../../CHANGELOG.md:283 -msgid "either don't need calls at all" +msgid "**Shared-Secret-Auth double-puppeting users**: switch to [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md); the playbook wires it up automatically." msgstr "" #: ../../../CHANGELOG.md:284 -msgid "or use the modern [Matrix RTC](docs/configuring-playbook-matrix-rtc.md)/[Element Call](docs/configuring-playbook-element-call.md) stack." +msgid "**Custom `matrix_mautrix_telegram_bridge_permissions`**: map `relaybot` to `relay`, `puppeting` to `user`, `full` to `user`. Validated at playbook time." msgstr "" #: ../../../CHANGELOG.md:286 -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." +msgid "2026-04-03" msgstr "" #: ../../../CHANGELOG.md:288 -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`." +msgid "(BC Break) Synapse Admin (fork by etke.cc) is now Ketesa" msgstr "" #: ../../../CHANGELOG.md:290 -msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:" +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. For the full story behind the rename and a tour of what's new, see the [Ketesa v1.0.0 announcement](https://etke.cc/blog/introducing-ketesa/)." msgstr "" -#: ../../../CHANGELOG.md:299 -msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik" +#: ../../../CHANGELOG.md:292 +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:301 -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." +#: ../../../CHANGELOG.md:294 +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:303 -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." +#: ../../../CHANGELOG.md:296 +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:305 -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." +#: ../../../CHANGELOG.md:298 +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:307 -msgid "2026-02-17" +#: ../../../CHANGELOG.md:300 +msgid "The playbook handles reverse-proxy routing for subpath deployments (e.g. `/ketesa`), including MAS-enabled setups — though OIDC auth flows on real servers still have some rough edges. Feedback is appreciated in [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc)." msgstr "" -#: ../../../CHANGELOG.md:309 -msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:302 +msgid "See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details." msgstr "" -#: ../../../CHANGELOG.md:311 -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." +#: ../../../CHANGELOG.md:304 +msgid "2026-04-02" msgstr "" -#: ../../../CHANGELOG.md:313 -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." +#: ../../../CHANGELOG.md:306 +msgid "(BC Break) Draupnir for all Self Service Provisioning is now disabled by default" msgstr "" -#: ../../../CHANGELOG.md:315 -#: ../../../CHANGELOG.md:377 -#: ../../../CHANGELOG.md:387 -#: ../../../CHANGELOG.md:448 -#: ../../../CHANGELOG.md:470 -#: ../../../CHANGELOG.md:1005 -msgid "As always, the playbook would let you know about this and point out any variables you may have missed." +#: ../../../CHANGELOG.md:308 +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:317 -msgid "synapse-auto-invite-accept has been removed from the playbook" +#: ../../../CHANGELOG.md:310 +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:319 -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)." +#: ../../../CHANGELOG.md:312 +msgid "This means users can no longer provision Draupnir instances by inviting the appservice bot unless you explicitly opt in." msgstr "" -#: ../../../CHANGELOG.md:321 -msgid "See [this section](./docs/configuring-playbook-synapse-auto-accept-invite.md#native-alternative) for details about how to enable the function on Synapse." +#: ../../../CHANGELOG.md:314 +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:316 +msgid "If you want to enable Self Service Provisioning, add the following to your `vars.yml`:" msgstr "" #: ../../../CHANGELOG.md:323 -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`." +msgid "2026-03-23" msgstr "" #: ../../../CHANGELOG.md:325 -msgid "2026-02-16" +msgid "Migration validation system introduced" msgstr "" #: ../../../CHANGELOG.md:327 -msgid "matrix-appservice-slack has been removed from the playbook" +msgid "Previously, when updating your setup, you had to remember to read the [CHANGELOG](CHANGELOG.md) file or risk breakage." msgstr "" #: ../../../CHANGELOG.md:329 -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." +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:331 -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)." +#: ../../../CHANGELOG.md:332 +msgid "A new `matrix_playbook_migration_validated_version` variable has been introduced." msgstr "" -#: ../../../CHANGELOG.md:333 -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." +#: ../../../CHANGELOG.md:334 +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:335 -msgid "2026-02-13" +#: ../../../CHANGELOG.md:336 +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:337 -msgid "Conditional service restart for `install-*` commands" +#: ../../../CHANGELOG.md:342 +msgid "Going forward, whenever a breaking change is introduced the playbook will:" msgstr "" -#: ../../../CHANGELOG.md:339 -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." +#: ../../../CHANGELOG.md:344 +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:341 -msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before." -msgstr "" - -#: ../../../CHANGELOG.md:343 -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:345 -msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:" -msgstr "" - -#: ../../../CHANGELOG.md:347 -msgid "**Before**:" +#: ../../../CHANGELOG.md:346 +msgid "fail when you run it with a helpful message listing what changed and linking to the relevant changelog entries" msgstr "" #: ../../../CHANGELOG.md:348 -msgid "total time: ~56 seconds 🐌" -msgstr "" - -#: ../../../CHANGELOG.md:349 -msgid "Traefik restarted: yes (unnecessarily) ❌" +msgid "After reviewing and adapting your setup, you simply update the variable to the new version." msgstr "" #: ../../../CHANGELOG.md:350 -msgid "dependent services restarted: yes, all of them ❌" -msgstr "" - -#: ../../../CHANGELOG.md:351 -msgid "**After**:" -msgstr "" - -#: ../../../CHANGELOG.md:352 -msgid "total time: ~27 seconds ⚡" -msgstr "" - -#: ../../../CHANGELOG.md:353 -msgid "Traefik restarted: no ✅" -msgstr "" - -#: ../../../CHANGELOG.md:354 -msgid "dependent services restarted: no ✅" +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:356 -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." +msgid "2026-03-19" msgstr "" -#: ../../../CHANGELOG.md:359 -msgid "2026-02-12" +#: ../../../CHANGELOG.md:358 +msgid "Matrix Authentication Service now prefers UNIX sockets for playbook-managed Postgres" msgstr "" -#: ../../../CHANGELOG.md:361 -msgid "Dimension integration manager has been removed from the playbook" +#: ../../../CHANGELOG.md:360 +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:363 -msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." +#: ../../../CHANGELOG.md:362 +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:365 -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)." +#: ../../../CHANGELOG.md:364 +msgid "If you use an external Postgres server for MAS, this does not change your setup." msgstr "" -#: ../../../CHANGELOG.md:367 -msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:366 +#: ../../../CHANGELOG.md:382 +msgid "If you'd like to keep the previous TCP-based behavior, add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:369 -msgid "The role for Hydrogen has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +#: ../../../CHANGELOG.md:372 +msgid "2026-03-17" msgstr "" -#: ../../../CHANGELOG.md:371 -msgid "Along with the relocation, the `matrix_client_hydrogen_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." +#: ../../../CHANGELOG.md:374 +msgid "Synapse now prefers UNIX sockets for playbook-managed Postgres and Valkey" msgstr "" -#: ../../../CHANGELOG.md:373 -#: ../../../CHANGELOG.md:466 -msgid "You need to do the following replacement:" +#: ../../../CHANGELOG.md:376 +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:375 -msgid "`matrix_client_hydrogen_` -> `hydrogen_`" +#: ../../../CHANGELOG.md:378 +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:379 -msgid "2026-02-11" -msgstr "" - -#: ../../../CHANGELOG.md:381 -msgid "(BC Break) coturn role has been relocated and variable names need adjustments" -msgstr "" - -#: ../../../CHANGELOG.md:383 -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:385 -msgid "Along with the relocation, the `matrix_coturn_` prefix on its variable names has been renamed to `coturn_`, so you need to adjust your `vars.yml` configuration." +#: ../../../CHANGELOG.md:380 +msgid "If you use an external Postgres server or external Redis/Valkey for Synapse, this does not change your setup." msgstr "" #: ../../../CHANGELOG.md:389 -msgid "conduwuit has been removed from the playbook" +msgid "2026-03-01" msgstr "" #: ../../../CHANGELOG.md:391 -msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." +msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently" msgstr "" #: ../../../CHANGELOG.md:393 -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)." +msgid "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:" msgstr "" #: ../../../CHANGELOG.md:395 -msgid "Since [Continuwuity](configuring-playbook-continuwuity.md) is a drop-in replacement for conduwuit, migration is possible. Please refer to [this section](./configuring-playbook-continuwuity.md#migrating-from-conduwuit) for details." +msgid "the Synapse `s3_storage_provider` module configuration" msgstr "" -#: ../../../CHANGELOG.md:397 -msgid "2026-02-09" +#: ../../../CHANGELOG.md:396 +msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)" msgstr "" -#: ../../../CHANGELOG.md:399 -msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" +#: ../../../CHANGELOG.md:398 +msgid "Previously, this variable could be set, but was not effectively applied by either of these paths." msgstr "" -#: ../../../CHANGELOG.md:401 -msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" +#: ../../../CHANGELOG.md:400 +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:403 -msgid "The `matrix_media_repo_datastore_file_id` and `matrix_media_repo_datastore_s3_id` variables are no longer auto-configured with values. They must now be explicitly defined in your `vars.yml` file. The playbook will fail with a helpful error if they are not set (when needed)." +#: ../../../CHANGELOG.md:402 +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:405 -msgid "These were never meant to be auto-configured. They were derived from `matrix_homeserver_generic_secret_key`, which is intended for secrets that are OK to change subsequently (and Ansible would assist in propagating these changes). matrix-media-repo datastore IDs are not secrets — they are static identifiers linking media to storage backends, and **must not change** after first use." +#: ../../../CHANGELOG.md:404 +msgid "2026-02-26" msgstr "" -#: ../../../CHANGELOG.md:407 -msgid "**For existing installations**, retrieve your current values from the server:" +#: ../../../CHANGELOG.md:406 +msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`" msgstr "" -#: ../../../CHANGELOG.md:413 -msgid "Then add to your `vars.yml`:" +#: ../../../CHANGELOG.md:408 +msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role." +msgstr "" + +#: ../../../CHANGELOG.md:410 +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:412 +msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available." +msgstr "" + +#: ../../../CHANGELOG.md:414 +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:416 +msgid "2026-02-21" +msgstr "" + +#: ../../../CHANGELOG.md:418 +msgid "(BC Break) coturn is no longer auto-enabled by default" +msgstr "" + +#: ../../../CHANGELOG.md:420 +msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment." msgstr "" #: ../../../CHANGELOG.md:422 -msgid "**Why do this?**: This change allows us to **remove the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library** from the [prerequisites](docs/prerequisites.md), as it was the last component that depended on it." +msgid "This reduces resources and attach surface for deployments which:" msgstr "" #: ../../../CHANGELOG.md:424 -msgid "2026-02-08" +msgid "either don't need calls at all" msgstr "" -#: ../../../CHANGELOG.md:426 -msgid "Zulip bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:425 +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:428 -msgid "Zulip bridge has been removed from the playbook, as it doesn't work, and the maintainer seems to have abandoned it. See [this issue](https://github.com/GearKite/MatrixZulipBridge/issues/23) for more context." +#: ../../../CHANGELOG.md:427 +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:430 -msgid "Switched to faster secret derivation for service passwords" +#: ../../../CHANGELOG.md:429 +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:432 -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:434 -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:436 -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:438 -msgid "On a fast mini PC, evaluating `postgres_managed_databases` (which references multiple database passwords) dropped from **~10.7 seconds to ~0.6 seconds**. The Postgres role evaluates this variable multiple times during a run, so the cumulative savings are significant. All other roles that reference derived passwords also benefit." +#: ../../../CHANGELOG.md:431 +msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:" msgstr "" #: ../../../CHANGELOG.md:440 -msgid "**What this means for users**: all derived service passwords (database passwords, appservice tokens, etc.) will change on the next playbook run. The main/superuser database password (`postgres_connection_password`) is not affected, as it is hardcoded in inventory variables rather than derived via hashing. All services will receive their new passwords as part of the same run, so this should be a seamless, non-user-impacting change." +msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik" msgstr "" #: ../../../CHANGELOG.md:442 -msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" +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:444 -msgid "The role for Dynamic DNS has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgid "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:446 -msgid "Along with the relocation, the `matrix_dynamic_dns_` prefix on its variable names has been renamed to `ddclient_`, so you need to adjust your `vars.yml` configuration." +msgid "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:448 +msgid "2026-02-17" msgstr "" #: ../../../CHANGELOG.md:450 -msgid "ma1sd has been removed from the playbook" +msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:452 -msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time." +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:454 -msgid "The playbook will let you know if you're using any `matrix_ma1sd_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-ma1sd.md#uninstalling-the-component-manually)." +msgid "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:456 -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." +#: ../../../CHANGELOG.md:518 +#: ../../../CHANGELOG.md:528 +#: ../../../CHANGELOG.md:589 +#: ../../../CHANGELOG.md:611 +#: ../../../CHANGELOG.md:1146 +msgid "As always, the playbook would let you know about this and point out any variables you may have missed." msgstr "" #: ../../../CHANGELOG.md:458 -msgid "2026-02-07" +msgid "synapse-auto-invite-accept has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:460 -msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" +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:462 -msgid "The role for Cinny has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgid "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:464 -msgid "Along with the relocation, the `matrix_client_cinny_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." +msgid "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:466 +msgid "2026-02-16" msgstr "" #: ../../../CHANGELOG.md:468 -msgid "`matrix_client_cinny_` -> `cinny_`" +msgid "matrix-appservice-slack has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:470 +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:472 -msgid "The Sliding Sync proxy has been removed from the playbook" +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:474 -msgid "The [Sliding Sync proxy](./docs/configuring-playbook-sliding-sync-proxy.md) has been removed from the playbook, as it's been replaced with a different method (called Simplified Sliding Sync) integrated to newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`)." +msgid "**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:476 -msgid "The playbook will let you know if you're using any `matrix_sliding_sync_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the proxy manually](./docs/configuring-playbook-sliding-sync-proxy.md#uninstalling-the-proxy-manually)." +msgid "2026-02-13" msgstr "" #: ../../../CHANGELOG.md:478 -msgid "2026-02-04" +msgid "Conditional service restart for `install-*` commands" msgstr "" #: ../../../CHANGELOG.md:480 -msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" +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:482 -msgid "**TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities." +msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before." msgstr "" #: ../../../CHANGELOG.md:484 -msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" +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:486 +msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:" +msgstr "" + +#: ../../../CHANGELOG.md:488 +msgid "**Before**:" +msgstr "" + +#: ../../../CHANGELOG.md:489 +msgid "total time: ~56 seconds 🐌" +msgstr "" + +#: ../../../CHANGELOG.md:490 +msgid "Traefik restarted: yes (unnecessarily) ❌" msgstr "" #: ../../../CHANGELOG.md:491 -msgid "Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details." +msgid "dependent services restarted: yes, all of them ❌" +msgstr "" + +#: ../../../CHANGELOG.md:492 +msgid "**After**:" msgstr "" #: ../../../CHANGELOG.md:493 -msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" +msgid "total time: ~27 seconds ⚡" +msgstr "" + +#: ../../../CHANGELOG.md:494 +msgid "Traefik restarted: no ✅" msgstr "" #: ../../../CHANGELOG.md:495 -msgid "Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami))." +msgid "dependent services restarted: no ✅" msgstr "" #: ../../../CHANGELOG.md:497 -msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt__...`). This approach failed for [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) deployments, where tokens are opaque and don't contain username information. This resulted in device-level stickiness (same token → same worker) rather than user-level stickiness (same user → same worker regardless of device), leading to suboptimal cache utilization on sync workers." +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:499 -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:501 -msgid "This change:" +#: ../../../CHANGELOG.md:500 +msgid "2026-02-12" msgstr "" #: ../../../CHANGELOG.md:502 -msgid "**Automatically enables** when sync workers are configured (no action required)" -msgstr "" - -#: ../../../CHANGELOG.md:503 -msgid "**Works universally** with any authentication system" +msgid "Dimension integration manager has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:504 -msgid "**Replaces the old implementation** entirely to keep the codebase simple" +msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." msgstr "" -#: ../../../CHANGELOG.md:505 -msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" +#: ../../../CHANGELOG.md:506 +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:507 -msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" +#: ../../../CHANGELOG.md:508 +msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:518 -msgid "2025-12-09" +#: ../../../CHANGELOG.md:510 +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:512 +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:514 +#: ../../../CHANGELOG.md:607 +msgid "You need to do the following replacement:" +msgstr "" + +#: ../../../CHANGELOG.md:516 +msgid "`matrix_client_hydrogen_` -> `hydrogen_`" msgstr "" #: ../../../CHANGELOG.md:520 -msgid "Traefik Cert Dumper upgrade" +msgid "2026-02-11" msgstr "" #: ../../../CHANGELOG.md:522 -msgid "The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration." +msgid "(BC Break) coturn role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:524 -msgid "The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration." +msgid "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:526 -msgid "2025-11-23" -msgstr "" - -#: ../../../CHANGELOG.md:528 -msgid "Matrix.to support" +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:530 -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)." +msgid "conduwuit has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:532 -msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." +msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." msgstr "" #: ../../../CHANGELOG.md:534 -msgid "2025-11-09" +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:536 -msgid "matrix-appservice-webhooks has been removed from the playbook" +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:538 -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." +msgid "2026-02-09" msgstr "" #: ../../../CHANGELOG.md:540 -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)." +msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" msgstr "" #: ../../../CHANGELOG.md:542 -msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" +msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" msgstr "" #: ../../../CHANGELOG.md:544 -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)." +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:546 -#: ../../../CHANGELOG.md:578 -msgid "The playbook will let you know if you're using any variables for those bridges:" +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:548 -msgid "`matrix_mautrix_facebook_*`" -msgstr "" - -#: ../../../CHANGELOG.md:549 -msgid "`matrix_mautrix_instagram_*`" -msgstr "" - -#: ../../../CHANGELOG.md:551 -#: ../../../CHANGELOG.md:585 -msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" -msgstr "" - -#: ../../../CHANGELOG.md:553 -msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" +msgid "**For existing installations**, retrieve your current values from the server:" msgstr "" #: ../../../CHANGELOG.md:554 -msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" +msgid "Then add to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:556 -msgid "2025-11-08" +#: ../../../CHANGELOG.md:563 +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:558 -msgid "MatrixZulipBridge support" +#: ../../../CHANGELOG.md:565 +msgid "2026-02-08" msgstr "" -#: ../../../CHANGELOG.md:560 -msgid "Thanks to [Suguru Hirahara](https://github.com/luixxiul), the playbook now supports the [GearKite/MatrixZulipBridge](https://github.com/GearKite/MatrixZulipBridg) bridge for bridging Matrix to [Zulip](https://zulip.com/)." +#: ../../../CHANGELOG.md:567 +msgid "Zulip bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:562 -msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." +#: ../../../CHANGELOG.md:569 +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:564 -msgid "2025-11-07" +#: ../../../CHANGELOG.md:571 +msgid "Switched to faster secret derivation for service passwords" msgstr "" -#: ../../../CHANGELOG.md:566 -msgid "The matrix-chatgpt-bot has been removed from the playbook" +#: ../../../CHANGELOG.md:573 +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:568 -msgid "The [matrix-bot-chatgpt](./docs/configuring-playbook-bot-chatgpt.md) has been removed from the playbook, as it has been deprecated since September 2024." +#: ../../../CHANGELOG.md:575 +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:570 -msgid "The playbook will let you know if you're using any `matrix_bot_chatgpt_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-chatgpt.md#uninstalling-matrix-chatgpt-bot-manually)." +#: ../../../CHANGELOG.md:577 +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:572 -msgid "2025-11-05" -msgstr "" - -#: ../../../CHANGELOG.md:574 -msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" -msgstr "" - -#: ../../../CHANGELOG.md:576 -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:580 -msgid "`matrix_mx_puppet_discord_*`" +#: ../../../CHANGELOG.md:579 +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:581 -msgid "`matrix_mx_puppet_instagram_*`" -msgstr "" - -#: ../../../CHANGELOG.md:582 -msgid "`matrix_mx_puppet_slack_*`" +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:583 -msgid "`matrix_mx_puppet_twitter_*`" +msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" +msgstr "" + +#: ../../../CHANGELOG.md:585 +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:587 -msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" +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:588 -msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:591 +msgid "ma1sd has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:589 -msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:593 +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:590 -msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:595 +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:592 -msgid "2025-11-04" +#: ../../../CHANGELOG.md:597 +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:594 -msgid "The Go Skype bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:599 +msgid "2026-02-07" msgstr "" -#: ../../../CHANGELOG.md:596 -msgid "The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025." +#: ../../../CHANGELOG.md:601 +msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:598 -msgid "The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually)." +#: ../../../CHANGELOG.md:603 +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:600 -msgid "2025-10-02" +#: ../../../CHANGELOG.md:605 +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:602 -msgid "Element Admin support" -msgstr "" - -#: ../../../CHANGELOG.md:604 -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:606 -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:608 -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:611 -msgid "2025-04-26" +#: ../../../CHANGELOG.md:609 +msgid "`matrix_client_cinny_` -> `cinny_`" msgstr "" #: ../../../CHANGELOG.md:613 -msgid "Continuwuity support" +msgid "The Sliding Sync proxy has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:615 -msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." +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:617 -msgid "Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path." +msgid "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:619 +msgid "2026-02-04" msgstr "" #: ../../../CHANGELOG.md:621 -msgid "People that used to run conduwuit, may wish to:" +msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" msgstr "" #: ../../../CHANGELOG.md:623 -msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" +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:624 -msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook" +#: ../../../CHANGELOG.md:625 +msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" msgstr "" -#: ../../../CHANGELOG.md:626 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss." +#: ../../../CHANGELOG.md:632 +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:629 -msgid "2025-04-09" +#: ../../../CHANGELOG.md:634 +msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" msgstr "" -#: ../../../CHANGELOG.md:631 -msgid "Element Call frontend installation is now optional" +#: ../../../CHANGELOG.md:636 +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:633 -msgid "Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**." +#: ../../../CHANGELOG.md:638 +msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt__...`). This approach failed for [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) deployments, where tokens are opaque and don't contain username information. This resulted in device-level stickiness (same token → same worker) rather than user-level stickiness (same user → same worker regardless of device), leading to suboptimal cache utilization on sync workers." msgstr "" -#: ../../../CHANGELOG.md:635 -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)." +#: ../../../CHANGELOG.md:640 +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:637 -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)." +#: ../../../CHANGELOG.md:642 +msgid "This change:" msgstr "" -#: ../../../CHANGELOG.md:639 -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:" +#: ../../../CHANGELOG.md:643 +msgid "**Automatically enables** when sync workers are configured (no action required)" msgstr "" -#: ../../../CHANGELOG.md:641 -msgid "Adjusting your `vars.yml` configuration like this:" +#: ../../../CHANGELOG.md:644 +msgid "**Works universally** with any authentication system" +msgstr "" + +#: ../../../CHANGELOG.md:645 +msgid "**Replaces the old implementation** entirely to keep the codebase simple" +msgstr "" + +#: ../../../CHANGELOG.md:646 +msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" msgstr "" #: ../../../CHANGELOG.md:648 -msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" -msgstr "" - -#: ../../../CHANGELOG.md:650 -msgid "Getting rid of the `call.element.example.com` DNS record" -msgstr "" - -#: ../../../CHANGELOG.md:653 -msgid "2025-03-15" -msgstr "" - -#: ../../../CHANGELOG.md:655 -msgid "Element Call support" -msgstr "" - -#: ../../../CHANGELOG.md:657 -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)." +msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" msgstr "" #: ../../../CHANGELOG.md:659 -msgid "Element Call is a native Matrix video conferencing application developed by [Element](https://element.io/) that has the goal of replacing [Jitsi](./docs/configuring-playbook-jitsi.md) and the old WebRTC stack used in previous Element versions." +msgid "2025-12-09" msgstr "" #: ../../../CHANGELOG.md:661 -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." +msgid "Traefik Cert Dumper upgrade" msgstr "" #: ../../../CHANGELOG.md:663 -msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." +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:666 -msgid "2025-03-08" +#: ../../../CHANGELOG.md:665 +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:668 -msgid "6️⃣ IPv6 support enablement recommended by default" +#: ../../../CHANGELOG.md:667 +msgid "2025-11-23" msgstr "" -#: ../../../CHANGELOG.md:670 -msgid "Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet." +#: ../../../CHANGELOG.md:669 +msgid "Matrix.to support" msgstr "" -#: ../../../CHANGELOG.md:672 -msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." +#: ../../../CHANGELOG.md:671 +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:674 -msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" +#: ../../../CHANGELOG.md:673 +msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:676 -msgid "enabling IPv6 support for the Docker container networks:" +#: ../../../CHANGELOG.md:675 +msgid "2025-11-09" msgstr "" #: ../../../CHANGELOG.md:677 -msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" -msgstr "" - -#: ../../../CHANGELOG.md:678 -msgid "stop all services (`just stop-all`)" +msgid "matrix-appservice-webhooks has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:679 -msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" +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:680 -msgid "re-run the playbook fully: `just install-all`" +#: ../../../CHANGELOG.md:681 +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:682 -msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" +#: ../../../CHANGELOG.md:683 +msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:684 -msgid "2025-02-26" +#: ../../../CHANGELOG.md:685 +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:686 -msgid "🪦 Bye-bye, Email2Matrix" +#: ../../../CHANGELOG.md:687 +#: ../../../CHANGELOG.md:719 +msgid "The playbook will let you know if you're using any variables for those bridges:" msgstr "" -#: ../../../CHANGELOG.md:688 -msgid "The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today." +#: ../../../CHANGELOG.md:689 +msgid "`matrix_mautrix_facebook_*`" msgstr "" #: ../../../CHANGELOG.md:690 -msgid "If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration." +msgid "`matrix_mautrix_instagram_*`" msgstr "" -#: ../../../CHANGELOG.md:693 -msgid "2025-02-23" +#: ../../../CHANGELOG.md:692 +#: ../../../CHANGELOG.md:726 +msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" +msgstr "" + +#: ../../../CHANGELOG.md:694 +msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:695 -msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" +msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:697 -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." +msgid "2025-11-08" msgstr "" #: ../../../CHANGELOG.md:699 -msgid "It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**." +msgid "MatrixZulipBridge support" msgstr "" -#: ../../../CHANGELOG.md:702 -msgid "In light of this new information, you have 2 options:" +#: ../../../CHANGELOG.md:701 +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:704 -msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" +#: ../../../CHANGELOG.md:703 +msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:706 -msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." +#: ../../../CHANGELOG.md:705 +msgid "2025-11-07" msgstr "" -#: ../../../CHANGELOG.md:708 -msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" +#: ../../../CHANGELOG.md:707 +msgid "The matrix-chatgpt-bot has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:710 -msgid "Consider closing the STUN/UDP port with the following configuration:" +#: ../../../CHANGELOG.md:709 +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:716 -msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" +#: ../../../CHANGELOG.md:711 +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:718 -msgid "2025-02-21" +#: ../../../CHANGELOG.md:713 +msgid "2025-11-05" msgstr "" -#: ../../../CHANGELOG.md:720 -msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" +#: ../../../CHANGELOG.md:715 +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:717 +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:721 +msgid "`matrix_mx_puppet_discord_*`" msgstr "" #: ../../../CHANGELOG.md:722 -msgid "We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`." +msgid "`matrix_mx_puppet_instagram_*`" +msgstr "" + +#: ../../../CHANGELOG.md:723 +msgid "`matrix_mx_puppet_slack_*`" msgstr "" #: ../../../CHANGELOG.md:724 -msgid "This variable did **2 different things at once**:" +msgid "`matrix_mx_puppet_twitter_*`" msgstr "" -#: ../../../CHANGELOG.md:726 -msgid "ensured that container networks were created with IPv6 being enabled" -msgstr "" - -#: ../../../CHANGELOG.md:727 -msgid "adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)" +#: ../../../CHANGELOG.md:728 +msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:729 -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:" +msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:730 -msgid "`ip6tables` defaults to `true` for everyone" +msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:731 -msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" +msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:733 -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`." +msgid "2025-11-04" msgstr "" -#: ../../../CHANGELOG.md:736 -msgid "This change affects you like this:" +#: ../../../CHANGELOG.md:735 +msgid "The Go Skype bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:738 -msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" +#: ../../../CHANGELOG.md:737 +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:739 -msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" -msgstr "" - -#: ../../../CHANGELOG.md:740 -msgid "✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected." +msgid "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:741 -msgid "🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:" +msgid "2025-10-02" +msgstr "" + +#: ../../../CHANGELOG.md:743 +msgid "Element Admin support" +msgstr "" + +#: ../../../CHANGELOG.md:745 +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:747 +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:749 +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:752 -msgid "Support for bridging to Bluesky via mautrix-bluesky" +msgid "2025-04-26" msgstr "" #: ../../../CHANGELOG.md:754 -msgid "Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky)." +msgid "Continuwuity support" msgstr "" #: ../../../CHANGELOG.md:756 -msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." msgstr "" -#: ../../../CHANGELOG.md:759 -msgid "2025-02-19" +#: ../../../CHANGELOG.md:758 +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:761 -msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" +#: ../../../CHANGELOG.md:762 +msgid "People that used to run conduwuit, may wish to:" msgstr "" -#: ../../../CHANGELOG.md:763 -msgid "We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592)." +#: ../../../CHANGELOG.md:764 +msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" msgstr "" #: ../../../CHANGELOG.md:765 -msgid "To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem." +msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook" msgstr "" #: ../../../CHANGELOG.md:767 -msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." +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:769 -msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." +#: ../../../CHANGELOG.md:770 +msgid "2025-04-09" msgstr "" -#: ../../../CHANGELOG.md:771 -msgid "If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:" +#: ../../../CHANGELOG.md:772 +msgid "Element Call frontend installation is now optional" +msgstr "" + +#: ../../../CHANGELOG.md:774 +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:776 +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:778 -msgid "People running Coturn directly on the `host` network (using `coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc)." +msgid "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:781 -msgid "2025-02-17" +#: ../../../CHANGELOG.md:780 +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:783 -msgid "FluffyChat Web support" +#: ../../../CHANGELOG.md:782 +msgid "Adjusting your `vars.yml` configuration like this:" msgstr "" -#: ../../../CHANGELOG.md:785 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host." +#: ../../../CHANGELOG.md:789 +msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" msgstr "" -#: ../../../CHANGELOG.md:787 -msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." -msgstr "" - -#: ../../../CHANGELOG.md:790 -msgid "2025-02-03" -msgstr "" - -#: ../../../CHANGELOG.md:792 -msgid "The mautrix-hangouts bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:791 +msgid "Getting rid of the `call.element.example.com` DNS record" msgstr "" #: ../../../CHANGELOG.md:794 -msgid "The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025." +msgid "2025-03-15" msgstr "" #: ../../../CHANGELOG.md:796 -msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." +msgid "Element Call support" msgstr "" #: ../../../CHANGELOG.md:798 -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)." +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:801 -msgid "2025-01-27" +#: ../../../CHANGELOG.md:800 +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:803 -msgid "Redis and KeyDB are no longer part of the playbook" +#: ../../../CHANGELOG.md:802 +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:805 -msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." +#: ../../../CHANGELOG.md:804 +msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:807 -msgid "The playbook has gone through several iterations of memorystore implementations:" +msgid "2025-03-08" msgstr "" #: ../../../CHANGELOG.md:809 -msgid "It initially used Redis, auto-installing it when needed by features/services" -msgstr "" - -#: ../../../CHANGELOG.md:810 -msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" +msgid "6️⃣ IPv6 support enablement recommended by default" msgstr "" #: ../../../CHANGELOG.md:811 -msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" +msgid "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:813 -msgid "To reduce configuration complexity and maintenance overhead, we are now:" +msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." msgstr "" #: ../../../CHANGELOG.md:815 -msgid "removing Redis and KeyDB support entirely" +msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" msgstr "" -#: ../../../CHANGELOG.md:816 -msgid "using Valkey as the sole Redis-compatible memorystore implementation" +#: ../../../CHANGELOG.md:817 +msgid "enabling IPv6 support for the Docker container networks:" msgstr "" #: ../../../CHANGELOG.md:818 -msgid "To update your configuration:" +msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" +msgstr "" + +#: ../../../CHANGELOG.md:819 +msgid "stop all services (`just stop-all`)" msgstr "" #: ../../../CHANGELOG.md:820 -msgid "**Most users** don't need to do anything" +msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" msgstr "" #: ../../../CHANGELOG.md:821 -msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" +msgid "re-run the playbook fully: `just install-all`" msgstr "" -#: ../../../CHANGELOG.md:824 -msgid "2025-01-19" +#: ../../../CHANGELOG.md:823 +msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" msgstr "" -#: ../../../CHANGELOG.md:826 -msgid "conduwuit support" +#: ../../../CHANGELOG.md:825 +msgid "2025-02-26" msgstr "" -#: ../../../CHANGELOG.md:828 -msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." +#: ../../../CHANGELOG.md:827 +msgid "🪦 Bye-bye, Email2Matrix" msgstr "" -#: ../../../CHANGELOG.md:830 -msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." +#: ../../../CHANGELOG.md:829 +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:831 +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:834 -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." +msgid "2025-02-23" msgstr "" #: ../../../CHANGELOG.md:836 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." +msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" msgstr "" -#: ../../../CHANGELOG.md:839 -msgid "2025-01-14" +#: ../../../CHANGELOG.md:838 +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:841 -msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" +#: ../../../CHANGELOG.md:840 +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:843 -msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +msgid "In light of this new information, you have 2 options:" msgstr "" #: ../../../CHANGELOG.md:845 -msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." +msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" msgstr "" #: ../../../CHANGELOG.md:847 -msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." +msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." msgstr "" #: ../../../CHANGELOG.md:849 -msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." +msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" msgstr "" #: ../../../CHANGELOG.md:851 -msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" +msgid "Consider closing the STUN/UDP port with the following configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:857 +msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" msgstr "" #: ../../../CHANGELOG.md:859 -msgid "2024-11-26" +msgid "2025-02-21" msgstr "" #: ../../../CHANGELOG.md:861 -msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" +msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" msgstr "" #: ../../../CHANGELOG.md:863 -msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." +msgid "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:865 -msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." +msgid "This variable did **2 different things at once**:" msgstr "" #: ../../../CHANGELOG.md:867 -msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." +msgid "ensured that container networks were created with IPv6 being enabled" msgstr "" -#: ../../../CHANGELOG.md:869 -msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." +#: ../../../CHANGELOG.md:868 +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:870 +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:871 -msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." +msgid "`ip6tables` defaults to `true` for everyone" msgstr "" -#: ../../../CHANGELOG.md:873 -msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." +#: ../../../CHANGELOG.md:872 +msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" msgstr "" -#: ../../../CHANGELOG.md:875 -msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." +#: ../../../CHANGELOG.md:874 +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:878 -msgid "2024-11-23" +#: ../../../CHANGELOG.md:877 +msgid "This change affects you like this:" +msgstr "" + +#: ../../../CHANGELOG.md:879 +msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" msgstr "" #: ../../../CHANGELOG.md:880 -msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" +msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" +msgstr "" + +#: ../../../CHANGELOG.md:881 +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:882 -msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." +msgid "🔧 .. 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:884 -msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." +#: ../../../CHANGELOG.md:893 +msgid "Support for bridging to Bluesky via mautrix-bluesky" msgstr "" -#: ../../../CHANGELOG.md:886 -msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." +#: ../../../CHANGELOG.md:895 +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:888 -msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." +#: ../../../CHANGELOG.md:897 +msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:890 -msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." +#: ../../../CHANGELOG.md:900 +msgid "2025-02-19" msgstr "" -#: ../../../CHANGELOG.md:892 -msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." +#: ../../../CHANGELOG.md:902 +msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" msgstr "" -#: ../../../CHANGELOG.md:894 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." +#: ../../../CHANGELOG.md:904 +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:896 -#: ../../../CHANGELOG.md:1236 -msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:906 +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:907 -msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:908 +msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." msgstr "" -#: ../../../CHANGELOG.md:917 -msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." +#: ../../../CHANGELOG.md:910 +msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." msgstr "" -#: ../../../CHANGELOG.md:920 -msgid "2024-11-14" +#: ../../../CHANGELOG.md:912 +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:919 +msgid "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:922 -msgid "HTTP-compression support for Traefik-based setups" +msgid "2025-02-17" msgstr "" #: ../../../CHANGELOG.md:924 -msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." +msgid "FluffyChat Web support" msgstr "" #: ../../../CHANGELOG.md:926 -msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +msgid "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:928 -msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:930 -msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +#: ../../../CHANGELOG.md:931 +msgid "2025-02-03" msgstr "" -#: ../../../CHANGELOG.md:932 -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:934 -msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" +#: ../../../CHANGELOG.md:933 +msgid "The mautrix-hangouts bridge has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:935 -msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +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:936 -msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +#: ../../../CHANGELOG.md:937 +msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." msgstr "" -#: ../../../CHANGELOG.md:938 -msgid "Timeout adjustments for Traefik-based setups" -msgstr "" - -#: ../../../CHANGELOG.md:940 -msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." +#: ../../../CHANGELOG.md:939 +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:942 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." +msgid "2025-01-27" msgstr "" #: ../../../CHANGELOG.md:944 -msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." +msgid "Redis and KeyDB are no longer part of the playbook" msgstr "" #: ../../../CHANGELOG.md:946 -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." +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:948 -msgid "Example of the default timeout values used by the playbook:" +msgid "The playbook has gone through several iterations of memorystore implementations:" +msgstr "" + +#: ../../../CHANGELOG.md:950 +msgid "It initially used Redis, auto-installing it when needed by features/services" +msgstr "" + +#: ../../../CHANGELOG.md:951 +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:952 +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:954 +msgid "To reduce configuration complexity and maintenance overhead, we are now:" +msgstr "" + +#: ../../../CHANGELOG.md:956 +msgid "removing Redis and KeyDB support entirely" +msgstr "" + +#: ../../../CHANGELOG.md:957 +msgid "using Valkey as the sole Redis-compatible memorystore implementation" msgstr "" #: ../../../CHANGELOG.md:959 -msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." +msgid "To update your configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:961 +msgid "**Most users** don't need to do anything" msgstr "" #: ../../../CHANGELOG.md:962 -msgid "2024-11-08" +msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" msgstr "" -#: ../../../CHANGELOG.md:964 -msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" +#: ../../../CHANGELOG.md:965 +msgid "2025-01-19" msgstr "" -#: ../../../CHANGELOG.md:966 -msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." +#: ../../../CHANGELOG.md:967 +msgid "conduwuit support" msgstr "" -#: ../../../CHANGELOG.md:968 -msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." +#: ../../../CHANGELOG.md:969 +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:970 -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:973 -msgid "2024-10-28" +#: ../../../CHANGELOG.md:971 +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:975 -msgid "(BC Break) Postmoogle's variable names need adjustments" +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:977 -msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." msgstr "" -#: ../../../CHANGELOG.md:979 -msgid "2024-10-19" +#: ../../../CHANGELOG.md:980 +msgid "2025-01-14" msgstr "" -#: ../../../CHANGELOG.md:981 -msgid "Support for Matrix Authentication Service" +#: ../../../CHANGELOG.md:982 +msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" msgstr "" -#: ../../../CHANGELOG.md:983 -msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." +#: ../../../CHANGELOG.md:984 +msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." msgstr "" -#: ../../../CHANGELOG.md:985 -msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." +#: ../../../CHANGELOG.md:986 +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:987 -msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." +#: ../../../CHANGELOG.md:988 +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:989 -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." +#: ../../../CHANGELOG.md:990 +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:992 -msgid "2024-09-27" -msgstr "" - -#: ../../../CHANGELOG.md:994 -msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" -msgstr "" - -#: ../../../CHANGELOG.md:996 -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:998 -msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." +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:1000 -msgid "You need to do the following replacements:" +msgid "2024-11-26" msgstr "" #: ../../../CHANGELOG.md:1002 -msgid "`devture_postgres_` -> `postgres_`" +msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" msgstr "" -#: ../../../CHANGELOG.md:1003 -msgid "`devture_traefik_` -> `traefik_`" +#: ../../../CHANGELOG.md:1004 +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:1006 +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:1008 -msgid "2024-09-12" +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:1010 -msgid "Support for baibot" +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:1012 -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. 🤖" +msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." msgstr "" #: ../../../CHANGELOG.md:1014 -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)." +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:1016 -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)." +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:1018 -msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +#: ../../../CHANGELOG.md:1019 +msgid "2024-11-23" msgstr "" -#: ../../../CHANGELOG.md:1020 -msgid "Switching synapse-admin to etke.cc's fork" +#: ../../../CHANGELOG.md:1021 +msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" msgstr "" -#: ../../../CHANGELOG.md:1022 -msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." +#: ../../../CHANGELOG.md:1023 +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:1024 -msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." +#: ../../../CHANGELOG.md:1025 +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:1026 -msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." +#: ../../../CHANGELOG.md:1027 +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:1028 -msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:1029 +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:1041 -msgid "2024-08-17" +#: ../../../CHANGELOG.md:1031 +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:1043 -msgid "New appservice-double-puppet service for better double-puppeting" +#: ../../../CHANGELOG.md:1033 +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:1045 -msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." +#: ../../../CHANGELOG.md:1035 +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:1047 -msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." +#: ../../../CHANGELOG.md:1037 +#: ../../../CHANGELOG.md:1377 +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:1049 -msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." +#: ../../../CHANGELOG.md:1048 +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:1051 -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:1053 -msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" -msgstr "" - -#: ../../../CHANGELOG.md:1059 -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." +#: ../../../CHANGELOG.md:1058 +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:1061 -msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." +msgid "2024-11-14" msgstr "" -#: ../../../CHANGELOG.md:1064 -msgid "2024-08-15" +#: ../../../CHANGELOG.md:1063 +msgid "HTTP-compression support for Traefik-based setups" msgstr "" -#: ../../../CHANGELOG.md:1066 -msgid "matrix-media-repo now configured for Authenticated Media" +#: ../../../CHANGELOG.md:1065 +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:1068 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." +#: ../../../CHANGELOG.md:1067 +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:1070 -msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." +#: ../../../CHANGELOG.md:1069 +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:1072 -msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." +#: ../../../CHANGELOG.md:1071 +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:1074 -msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:1073 +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:1075 +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:1076 +msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" msgstr "" #: ../../../CHANGELOG.md:1077 -msgid "2024-08-08" +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:1079 -msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +msgid "Timeout adjustments for Traefik-based setups" msgstr "" #: ../../../CHANGELOG.md:1081 -msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." +msgid "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:1083 -msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." +msgid "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:1085 -msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" +msgid "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:1091 -msgid "2024-07-25" +#: ../../../CHANGELOG.md:1087 +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:1093 -msgid "synapse-usage-exporter support" -msgstr "" - -#: ../../../CHANGELOG.md:1095 -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:1097 -msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." +#: ../../../CHANGELOG.md:1089 +msgid "Example of the default timeout values used by the playbook:" msgstr "" #: ../../../CHANGELOG.md:1100 -msgid "2024-07-06" +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:1102 -msgid "matrix-alertmanager-receiver support" +#: ../../../CHANGELOG.md:1103 +msgid "2024-11-08" msgstr "" -#: ../../../CHANGELOG.md:1104 -msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." +#: ../../../CHANGELOG.md:1105 +msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" msgstr "" -#: ../../../CHANGELOG.md:1106 -msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +#: ../../../CHANGELOG.md:1107 +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:1108 -msgid "Traefik v3 and HTTP/3 are here now" +#: ../../../CHANGELOG.md:1109 +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:1110 -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:1112 -msgid "Traefik v3" +#: ../../../CHANGELOG.md:1111 +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:1114 -msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgid "2024-10-28" msgstr "" #: ../../../CHANGELOG.md:1116 -msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." +msgid "(BC Break) Postmoogle's variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:1118 -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." +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:1120 -msgid "**Most people using the playbook should not have to do any changes**." +msgid "2024-10-19" msgstr "" #: ../../../CHANGELOG.md:1122 -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/)." +msgid "Support for Matrix Authentication Service" msgstr "" #: ../../../CHANGELOG.md:1124 -msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." +msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." msgstr "" #: ../../../CHANGELOG.md:1126 -msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." +msgid "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:1128 -msgid "HTTP/3 is enabled by default" +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:1130 -msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." +msgid "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:1132 -msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." +#: ../../../CHANGELOG.md:1133 +msgid "2024-09-27" msgstr "" -#: ../../../CHANGELOG.md:1134 -msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." +#: ../../../CHANGELOG.md:1135 +msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:1136 -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)." +#: ../../../CHANGELOG.md:1137 +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:1138 -msgid "To **disable HTTP/3**, you can use the following configuration:" +#: ../../../CHANGELOG.md:1139 +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:1152 -msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" +#: ../../../CHANGELOG.md:1141 +msgid "You need to do the following replacements:" +msgstr "" + +#: ../../../CHANGELOG.md:1143 +msgid "`devture_postgres_` -> `postgres_`" +msgstr "" + +#: ../../../CHANGELOG.md:1144 +msgid "`devture_traefik_` -> `traefik_`" +msgstr "" + +#: ../../../CHANGELOG.md:1149 +msgid "2024-09-12" +msgstr "" + +#: ../../../CHANGELOG.md:1151 +msgid "Support for baibot" +msgstr "" + +#: ../../../CHANGELOG.md:1153 +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:1155 +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:1157 +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:1159 +msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:1161 +msgid "Switching synapse-admin to etke.cc's fork" +msgstr "" + +#: ../../../CHANGELOG.md:1163 +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:1165 -msgid "2024-07-01" +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:1167 -msgid "synapse-admin is now restricted to your homeserver's URL by default" +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:1169 -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)." +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:1171 -msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." +#: ../../../CHANGELOG.md:1182 +msgid "2024-08-17" msgstr "" -#: ../../../CHANGELOG.md:1173 -msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +#: ../../../CHANGELOG.md:1184 +msgid "New appservice-double-puppet service for better double-puppeting" msgstr "" -#: ../../../CHANGELOG.md:1181 -msgid "2024-06-25" +#: ../../../CHANGELOG.md:1186 +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:1183 -msgid "The URL-prefix for Hookshot generic webhooks has changed" +#: ../../../CHANGELOG.md:1188 +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:1185 -msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +#: ../../../CHANGELOG.md:1190 +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:1187 -msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +#: ../../../CHANGELOG.md:1192 +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:1189 -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:1191 -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:1193 -msgid "When generating new webhooks, you should start seeing the new URLs being used." -msgstr "" - -#: ../../../CHANGELOG.md:1195 -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:1197 -msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." +#: ../../../CHANGELOG.md:1194 +msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:1200 -msgid "2024-06-22" +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:1202 -msgid "The maubot user is now managed by the playbook" +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:1204 -msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." +#: ../../../CHANGELOG.md:1205 +msgid "2024-08-15" msgstr "" -#: ../../../CHANGELOG.md:1206 -msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." +#: ../../../CHANGELOG.md:1207 +msgid "matrix-media-repo now configured for Authenticated Media" msgstr "" -#: ../../../CHANGELOG.md:1208 -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`)." +#: ../../../CHANGELOG.md:1209 +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:1211 -msgid "2024-06-03" +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:1213 -msgid "WeChat bridging support" +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:1215 -msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." +msgid "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:1217 -msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +#: ../../../CHANGELOG.md:1218 +msgid "2024-08-08" msgstr "" #: ../../../CHANGELOG.md:1220 -msgid "2024-03-26" +msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" msgstr "" #: ../../../CHANGELOG.md:1222 -msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +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:1224 -msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." +msgid "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:1226 -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:1228 -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:1230 -msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." +msgid "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:1232 -msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." +msgid "2024-07-25" msgstr "" #: ../../../CHANGELOG.md:1234 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." +msgid "synapse-usage-exporter support" +msgstr "" + +#: ../../../CHANGELOG.md:1236 +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:1238 +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:1241 +msgid "2024-07-06" +msgstr "" + +#: ../../../CHANGELOG.md:1243 +msgid "matrix-alertmanager-receiver support" msgstr "" #: ../../../CHANGELOG.md:1245 -msgid "2024-03-24" +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:1247 -msgid "Initial work on IPv6 support" +msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." msgstr "" #: ../../../CHANGELOG.md:1249 -msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." +msgid "Traefik v3 and HTTP/3 are here now" msgstr "" #: ../../../CHANGELOG.md:1251 -msgid "It should be noted that:" +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:1253 -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:1254 -msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" +msgid "Traefik v3" msgstr "" #: ../../../CHANGELOG.md:1255 -msgid "this is all very new and untested" +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:1257 -msgid "Pantalaimon support" +msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." msgstr "" #: ../../../CHANGELOG.md:1259 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." +msgid "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:1261 -msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." +msgid "**Most people using the playbook should not have to do any changes**." msgstr "" -#: ../../../CHANGELOG.md:1264 -msgid "2024-03-05" +#: ../../../CHANGELOG.md:1263 +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:1266 -msgid "Support for Draupnir-for-all" +#: ../../../CHANGELOG.md:1265 +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:1268 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." +#: ../../../CHANGELOG.md:1267 +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:1270 -msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." +#: ../../../CHANGELOG.md:1269 +msgid "HTTP/3 is enabled by default" msgstr "" -#: ../../../CHANGELOG.md:1272 -msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." +#: ../../../CHANGELOG.md:1271 +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:1273 +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:1275 -msgid "2024-02-19" +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:1277 -msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" +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:1279 -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." +msgid "To **disable HTTP/3**, you can use the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:1281 -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:1283 -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:1285 -msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" -msgstr "" - -#: ../../../CHANGELOG.md:1287 -msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" -msgstr "" - -#: ../../../CHANGELOG.md:1289 -msgid "The documentation pages contain more information on how to migrate." -msgstr "" - -#: ../../../CHANGELOG.md:1292 -msgid "2024-02-14" -msgstr "" - -#: ../../../CHANGELOG.md:1294 -msgid "Much larger Synapse caches and cache auto-tuning enabled by default" -msgstr "" - -#: ../../../CHANGELOG.md:1296 -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:1298 -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:1300 -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:1302 -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:1303 -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:1304 -msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +#: ../../../CHANGELOG.md:1293 +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:1306 -msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +msgid "2024-07-01" msgstr "" #: ../../../CHANGELOG.md:1308 -msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." +msgid "synapse-admin is now restricted to your homeserver's URL by default" msgstr "" -#: ../../../CHANGELOG.md:1311 -msgid "2024-01-31" +#: ../../../CHANGELOG.md:1310 +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:1313 -msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +#: ../../../CHANGELOG.md:1312 +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:1315 -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:1317 -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:1319 -msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:1314 +msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" msgstr "" #: ../../../CHANGELOG.md:1322 -msgid "2024-01-20" +msgid "2024-06-25" msgstr "" #: ../../../CHANGELOG.md:1324 -msgid "Support for more efficient (specialized) Synapse workers" +msgid "The URL-prefix for Hookshot generic webhooks has changed" msgstr "" #: ../../../CHANGELOG.md:1326 -msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." +msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." msgstr "" #: ../../../CHANGELOG.md:1328 -msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." +msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." msgstr "" #: ../../../CHANGELOG.md:1330 -msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." +msgid "[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:1332 -msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +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:1335 -msgid "2024-01-17" +#: ../../../CHANGELOG.md:1334 +msgid "When generating new webhooks, you should start seeing the new URLs being used." msgstr "" -#: ../../../CHANGELOG.md:1337 -msgid "Switching to Element's AGPLv3-licensed Synapse release" +#: ../../../CHANGELOG.md:1336 +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:1339 -msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" +#: ../../../CHANGELOG.md:1338 +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:1341 -msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" +msgid "2024-06-22" msgstr "" -#: ../../../CHANGELOG.md:1342 -msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" +#: ../../../CHANGELOG.md:1343 +msgid "The maubot user is now managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:1344 -msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." +#: ../../../CHANGELOG.md:1345 +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:1346 -msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." +#: ../../../CHANGELOG.md:1347 +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:1348 -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:1350 -msgid "**What does this mean to you?**" +#: ../../../CHANGELOG.md:1349 +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:1352 -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." +msgid "2024-06-03" msgstr "" #: ../../../CHANGELOG.md:1354 -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)." +msgid "WeChat bridging support" msgstr "" #: ../../../CHANGELOG.md:1356 -msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +msgid "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:1358 -msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:" +msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:1370 -msgid "Notes:" +#: ../../../CHANGELOG.md:1361 +msgid "2024-03-26" msgstr "" -#: ../../../CHANGELOG.md:1372 -msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +#: ../../../CHANGELOG.md:1363 +msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" msgstr "" -#: ../../../CHANGELOG.md:1374 -msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +#: ../../../CHANGELOG.md:1365 +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:1376 -msgid "2024-01-16" +#: ../../../CHANGELOG.md:1367 +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:1378 -msgid "`Draupnir` has been relicensed to AFL-3.0" +#: ../../../CHANGELOG.md:1369 +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:1380 -msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." +#: ../../../CHANGELOG.md:1371 +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:1382 -msgid "2024-01-15" +#: ../../../CHANGELOG.md:1373 +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:1384 -msgid "Goodbye, `matrix-nginx-proxy` 🪦" +#: ../../../CHANGELOG.md:1375 +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:1386 -msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." +msgid "2024-03-24" msgstr "" #: ../../../CHANGELOG.md:1388 -msgid "Backstory on `matrix-nginx-proxy`" +msgid "Initial work on IPv6 support" msgstr "" #: ../../../CHANGELOG.md:1390 -msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." +msgid "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:1392 -msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." +msgid "It should be noted that:" msgstr "" #: ../../../CHANGELOG.md:1394 -msgid "To us, `matrix-nginx-proxy` was:" +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:1395 +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:1396 -msgid "an [nginx](https://nginx.org/)-based reverse-proxy" -msgstr "" - -#: ../../../CHANGELOG.md:1397 -msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" +msgid "this is all very new and untested" msgstr "" #: ../../../CHANGELOG.md:1398 -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:1399 -msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" +msgid "Pantalaimon support" msgstr "" #: ../../../CHANGELOG.md:1400 -msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" -msgstr "" - -#: ../../../CHANGELOG.md:1401 -msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" +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:1402 -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" +msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:1404 -msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." +#: ../../../CHANGELOG.md:1405 +msgid "2024-03-05" msgstr "" -#: ../../../CHANGELOG.md:1406 -msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." +#: ../../../CHANGELOG.md:1407 +msgid "Support for Draupnir-for-all" msgstr "" -#: ../../../CHANGELOG.md:1408 -msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." +#: ../../../CHANGELOG.md:1409 +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:1410 -msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." +#: ../../../CHANGELOG.md:1411 +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:1412 -msgid "Going Traefik-native and cutting out all middlemen" -msgstr "" - -#: ../../../CHANGELOG.md:1414 -msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +#: ../../../CHANGELOG.md:1413 +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:1416 -msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." +msgid "2024-02-19" msgstr "" #: ../../../CHANGELOG.md:1418 -msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." +msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" msgstr "" #: ../../../CHANGELOG.md:1420 -msgid "Traefik now has an extra job" +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:1422 -msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." +msgid "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:1424 -msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." +msgid "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:1426 -msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." +msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" msgstr "" #: ../../../CHANGELOG.md:1428 -msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." +msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" msgstr "" #: ../../../CHANGELOG.md:1430 -msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." +msgid "The documentation pages contain more information on how to migrate." msgstr "" -#: ../../../CHANGELOG.md:1432 -msgid "Traefik serving this second purpose has a few downsides:" -msgstr "" - -#: ../../../CHANGELOG.md:1434 -msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +#: ../../../CHANGELOG.md:1433 +msgid "2024-02-14" msgstr "" #: ../../../CHANGELOG.md:1435 -msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" +msgid "Much larger Synapse caches and cache auto-tuning enabled by default" msgstr "" #: ../../../CHANGELOG.md:1437 -msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +msgid "Thanks to [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:1439 -msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." +msgid "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:1441 -msgid "**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." +msgid "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:1443 -msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." +msgid "`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:1444 +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:1445 -msgid "People managing their own Traefik instance need to do minor changes" +msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" msgstr "" #: ../../../CHANGELOG.md:1447 -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." +msgid "These values should be good defaults for most servers, but may change over time as we experiment further." msgstr "" #: ../../../CHANGELOG.md:1449 -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." +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:1451 -msgid "People fronting Traefik with another reverse proxy need to do minor changes" +#: ../../../CHANGELOG.md:1452 +msgid "2024-01-31" msgstr "" -#: ../../../CHANGELOG.md:1453 -msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +#: ../../../CHANGELOG.md:1454 +msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" msgstr "" -#: ../../../CHANGELOG.md:1455 -msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." +#: ../../../CHANGELOG.md:1456 +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:1457 -msgid "Supported reverse proxy types are now fewer" +#: ../../../CHANGELOG.md:1458 +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:1459 -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:1461 -msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +#: ../../../CHANGELOG.md:1460 +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:1463 -msgid "The complexity of this is too high, so we only support 3 values right now:" +msgid "2024-01-20" msgstr "" #: ../../../CHANGELOG.md:1465 -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:1466 -msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" +msgid "Support for more efficient (specialized) Synapse workers" msgstr "" #: ../../../CHANGELOG.md:1467 -msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" +msgid "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:1469 -msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." +msgid "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:1471 -msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." +msgid "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:1473 -msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" -msgstr "" - -#: ../../../CHANGELOG.md:1475 -msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" +msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." msgstr "" #: ../../../CHANGELOG.md:1476 -msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" +msgid "2024-01-17" msgstr "" #: ../../../CHANGELOG.md:1478 -msgid "Container networking changes" +msgid "Switching to Element's AGPLv3-licensed Synapse release" msgstr "" #: ../../../CHANGELOG.md:1480 -msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." +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:1482 -msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." +msgid "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:1484 -msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." +#: ../../../CHANGELOG.md:1483 +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:1486 -msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." +#: ../../../CHANGELOG.md:1485 +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:1488 -msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." +#: ../../../CHANGELOG.md:1487 +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:1490 -msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +#: ../../../CHANGELOG.md:1489 +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:1492 -msgid "Metrics exposure changes" +#: ../../../CHANGELOG.md:1491 +msgid "**What does this mean to you?**" msgstr "" -#: ../../../CHANGELOG.md:1494 -msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +#: ../../../CHANGELOG.md:1493 +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:1496 -msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." +#: ../../../CHANGELOG.md:1495 +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:1498 -msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." +#: ../../../CHANGELOG.md:1497 +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:1500 -msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." +#: ../../../CHANGELOG.md:1499 +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:1502 -msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" +#: ../../../CHANGELOG.md:1511 +msgid "Notes:" msgstr "" -#: ../../../CHANGELOG.md:1504 -msgid "Matrix static files" +#: ../../../CHANGELOG.md:1513 +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:1506 -msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." +#: ../../../CHANGELOG.md:1515 +msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." msgstr "" -#: ../../../CHANGELOG.md:1508 -msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." +#: ../../../CHANGELOG.md:1517 +msgid "2024-01-16" msgstr "" -#: ../../../CHANGELOG.md:1510 -msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." +#: ../../../CHANGELOG.md:1519 +msgid "`Draupnir` has been relicensed to AFL-3.0" msgstr "" -#: ../../../CHANGELOG.md:1512 -msgid "A note on performance" +#: ../../../CHANGELOG.md:1521 +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:1514 -msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +#: ../../../CHANGELOG.md:1523 +msgid "2024-01-15" msgstr "" -#: ../../../CHANGELOG.md:1516 -msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." +#: ../../../CHANGELOG.md:1525 +msgid "Goodbye, `matrix-nginx-proxy` 🪦" msgstr "" -#: ../../../CHANGELOG.md:1518 -msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +#: ../../../CHANGELOG.md:1527 +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:1520 -msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." +#: ../../../CHANGELOG.md:1529 +msgid "Backstory on `matrix-nginx-proxy`" msgstr "" -#: ../../../CHANGELOG.md:1522 -msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." +#: ../../../CHANGELOG.md:1531 +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:1524 -msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." +#: ../../../CHANGELOG.md:1533 +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:1526 -msgid "Migration procedure" +#: ../../../CHANGELOG.md:1535 +msgid "To us, `matrix-nginx-proxy` was:" msgstr "" -#: ../../../CHANGELOG.md:1528 -msgid "The updated playbook will automatically perform some migration tasks for you:" -msgstr "" - -#: ../../../CHANGELOG.md:1530 -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:1532 -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:1534 -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:1536 -msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:1537 +msgid "an [nginx](https://nginx.org/)-based reverse-proxy" msgstr "" #: ../../../CHANGELOG.md:1538 -msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." +msgid "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:1539 +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:1540 -msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgid "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:1541 +msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" msgstr "" #: ../../../CHANGELOG.md:1542 -msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +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:1544 -msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." +#: ../../../CHANGELOG.md:1543 +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:1546 -msgid "Conclusion" +#: ../../../CHANGELOG.md:1545 +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:1548 -msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." +#: ../../../CHANGELOG.md:1547 +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:1550 -msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" +#: ../../../CHANGELOG.md:1549 +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:1551 +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:1553 -msgid "2024-01-14" +msgid "Going Traefik-native and cutting out all middlemen" msgstr "" #: ../../../CHANGELOG.md:1555 -msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" +msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." msgstr "" #: ../../../CHANGELOG.md:1557 -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." +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:1559 -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." +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:1561 -msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." +msgid "Traefik now has an extra job" msgstr "" #: ../../../CHANGELOG.md:1563 -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`." +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:1565 -msgid "Adapt your configuration as seen below:" +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:1567 +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:1569 +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:1571 +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:1573 +msgid "Traefik serving this second purpose has a few downsides:" +msgstr "" + +#: ../../../CHANGELOG.md:1575 +msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +msgstr "" + +#: ../../../CHANGELOG.md:1576 +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:1578 +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:1580 +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:1582 +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:1584 +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:1586 +msgid "People managing their own Traefik instance need to do minor changes" +msgstr "" + +#: ../../../CHANGELOG.md:1588 +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:1590 +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:1592 +msgid "People fronting Traefik with another reverse proxy need to do minor changes" +msgstr "" + +#: ../../../CHANGELOG.md:1594 +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:1596 +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:1598 -msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." +msgid "Supported reverse proxy types are now fewer" msgstr "" -#: ../../../CHANGELOG.md:1601 -msgid "2024-01-13" +#: ../../../CHANGELOG.md:1600 +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:1603 -msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" +#: ../../../CHANGELOG.md:1602 +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:1605 -msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." +#: ../../../CHANGELOG.md:1604 +msgid "The complexity of this is too high, so we only support 3 values right now:" +msgstr "" + +#: ../../../CHANGELOG.md:1606 +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:1607 -msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." +msgid "`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:1609 -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." +#: ../../../CHANGELOG.md:1608 +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:1611 -msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." +#: ../../../CHANGELOG.md:1610 +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:1613 -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." +#: ../../../CHANGELOG.md:1612 +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:1615 -msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +#: ../../../CHANGELOG.md:1614 +msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +msgstr "" + +#: ../../../CHANGELOG.md:1616 +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:1617 -msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +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:1619 -msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" +msgid "Container networking changes" msgstr "" #: ../../../CHANGELOG.md:1621 -msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +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:1624 -msgid "2024-01-05" +#: ../../../CHANGELOG.md:1623 +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:1626 -msgid "matrix-mailer has been replaced by the exim-relay external role" +#: ../../../CHANGELOG.md:1625 +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:1628 -#: ../../../CHANGELOG.md:2266 -msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." +#: ../../../CHANGELOG.md:1627 +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:1630 -msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." +#: ../../../CHANGELOG.md:1629 +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:1632 -msgid "To migrate:" +#: ../../../CHANGELOG.md:1631 +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:1634 -msgid "pull the playbook changes, as usual" +#: ../../../CHANGELOG.md:1633 +msgid "Metrics exposure changes" msgstr "" #: ../../../CHANGELOG.md:1635 -msgid "update your roles (run `just roles` or `make roles`)" -msgstr "" - -#: ../../../CHANGELOG.md:1636 -msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." +msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." msgstr "" #: ../../../CHANGELOG.md:1637 -msgid "re-run the playbook (`install-all` or `setup-all`)" +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:1639 -msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." +msgid "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:1642 -msgid "2024-01-02" +#: ../../../CHANGELOG.md:1641 +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:1644 -msgid "mautrix-signal now powered by the new Go-based bridge" +#: ../../../CHANGELOG.md:1643 +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:1646 -msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." +#: ../../../CHANGELOG.md:1645 +msgid "Matrix static files" msgstr "" -#: ../../../CHANGELOG.md:1648 -msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." +#: ../../../CHANGELOG.md:1647 +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:1650 -msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." +#: ../../../CHANGELOG.md:1649 +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:1651 +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:1653 -msgid "2023-10-23" +msgid "A note on performance" msgstr "" #: ../../../CHANGELOG.md:1655 -msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +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:1657 -msgid "**TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected." +msgid "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:1659 -msgid "We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default." +msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." msgstr "" #: ../../../CHANGELOG.md:1661 -msgid "Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms)." +msgid "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:1663 -msgid "The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member." +msgid "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:1665 -msgid "**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation." +msgid "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:1667 -msgid "The **historical reasoning** behind this change is as follows:" +msgid "Migration procedure" msgstr "" #: ../../../CHANGELOG.md:1669 -msgid "`allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation." +msgid "The updated playbook will automatically perform some migration tasks for you:" msgstr "" #: ../../../CHANGELOG.md:1671 -msgid "In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense." +msgid "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:1673 -msgid "[etke.cc](https://etke.cc/) has been developing the free-software [Matrix Rooms Search](https://github.com/etkecc/mrs) project for a while now. One public (demo) instance of it is hosted at [matrixrooms.info](https://matrixrooms.info/). This search engine tries to go through the Matrix federation and discover & index public rooms to allow people to find them. We believe it's vital for Matrix (and any chat or social network for that matter) to be more discoverable, so that people can find communities and others to talk to. Today (on 23rd of October 2023), `matrixrooms.info` is indexing `23066` Matrix servers. Of these, only `1567` servers (7%) are making their public rooms discoverable. Who knows what wonderful communities and rooms are available on these 93% other Matrix servers that are supposedly federating, but are still gate-keeping their public room list. Indubitably, many of these servers are hosted via matrix-docker-ansible-deploy, so we feel partially responsible for making Matrix federation less useful." +msgid "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:1675 -msgid "Here are **actions you may wish to take** as a result of this change:" +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:1677 -msgid "(recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery." +msgid "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:1679 -msgid "(switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for \"mostly private\" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them." +msgid "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:1681 -msgid "(keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures." +msgid "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:1684 -msgid "2023-10-18" +#: ../../../CHANGELOG.md:1683 +msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." msgstr "" -#: ../../../CHANGELOG.md:1686 -msgid "Postgres parameters are automatically tuned now" +#: ../../../CHANGELOG.md:1685 +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:1688 -msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." +#: ../../../CHANGELOG.md:1687 +msgid "Conclusion" msgstr "" -#: ../../../CHANGELOG.md:1690 -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/." +#: ../../../CHANGELOG.md:1689 +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:1692 -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." +#: ../../../CHANGELOG.md:1691 +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:1694 -msgid "People who [enable load-balancing with Synapse workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) no longer need to increase the maximum number of Postgres connections manually (previously done via `postgres_process_extra_arguments`). There's a new variable (`postgres_max_connections`) for controlling this number and the playbook automatically raises its value from `200` to `500` for setups which enable workers." +msgid "2024-01-14" msgstr "" -#: ../../../CHANGELOG.md:1697 -msgid "2023-08-31" +#: ../../../CHANGELOG.md:1696 +msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" msgstr "" -#: ../../../CHANGELOG.md:1699 -msgid "SchildiChat Web support" +#: ../../../CHANGELOG.md:1698 +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:1701 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client." +#: ../../../CHANGELOG.md:1700 +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:1703 -msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." +#: ../../../CHANGELOG.md:1702 +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:1704 +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:1706 -msgid "2023-08-23" +msgid "Adapt your configuration as seen below:" msgstr "" -#: ../../../CHANGELOG.md:1708 -msgid "mautrix-wsproxy support" +#: ../../../CHANGELOG.md:1739 +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:1710 -msgid "Thanks to [Johan Swetzén](https://github.com/jswetzen)'s efforts (who finished what was started by [James Reilly](https://github.com/hanthor) and [Shreyas Ajjarapu](https://github.com/shreyasajj)), the playbook now supports bridging to Android SMS and Apple iMessage via the [mautrix-wsproxy](https://github.com/mautrix/wsproxy) service (in combination with a [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android phone)." +#: ../../../CHANGELOG.md:1742 +msgid "2024-01-13" msgstr "" -#: ../../../CHANGELOG.md:1712 -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." +#: ../../../CHANGELOG.md:1744 +msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" msgstr "" -#: ../../../CHANGELOG.md:1715 -msgid "2023-07-24" +#: ../../../CHANGELOG.md:1746 +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:1717 -msgid "matrix-registration-bot usage changed" +#: ../../../CHANGELOG.md:1748 +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:1719 -msgid "[matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot." +#: ../../../CHANGELOG.md:1750 +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:1721 -msgid "**For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings" +#: ../../../CHANGELOG.md:1752 +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:1723 -msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" -msgstr "" - -#: ../../../CHANGELOG.md:1724 -msgid "`matrix_bot_matrix_registration_bot_api_token`" -msgstr "" - -#: ../../../CHANGELOG.md:1727 -msgid "2023-07-21" -msgstr "" - -#: ../../../CHANGELOG.md:1729 -msgid "mautrix-gmessages support" -msgstr "" - -#: ../../../CHANGELOG.md:1731 -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:1734 -msgid "2023-07-17" -msgstr "" - -#: ../../../CHANGELOG.md:1736 -msgid "matrix-media-repo support" -msgstr "" - -#: ../../../CHANGELOG.md:1738 -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:1740 -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:1743 -msgid "2023-05-25" -msgstr "" - -#: ../../../CHANGELOG.md:1745 -msgid "Enabling `forget_rooms_on_leave` by default for Synapse" -msgstr "" - -#: ../../../CHANGELOG.md:1747 -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:1749 -msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." -msgstr "" - -#: ../../../CHANGELOG.md:1751 -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:1753 -msgid "If you'd like to go back to the old behavior, add the following to your configuration: `matrix_synapse_forget_rooms_on_leave: false`" +#: ../../../CHANGELOG.md:1754 +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:1756 -msgid "2023-04-03" +msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" msgstr "" #: ../../../CHANGELOG.md:1758 -msgid "The matrix-jitsi role lives independently now" +msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" msgstr "" #: ../../../CHANGELOG.md:1760 -msgid "**TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." +msgid "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:1762 -msgid "The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." +msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" msgstr "" -#: ../../../CHANGELOG.md:1764 -msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" -msgstr "" - -#: ../../../CHANGELOG.md:1766 -msgid "**native Traefik support** has been added" +#: ../../../CHANGELOG.md:1765 +msgid "2024-01-05" msgstr "" #: ../../../CHANGELOG.md:1767 -msgid "**support for hosting under a subpath** has been added, although it suffers from a few minor issues listed [here](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md#url)" +msgid "matrix-mailer has been replaced by the exim-relay external role" msgstr "" #: ../../../CHANGELOG.md:1769 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." +#: ../../../CHANGELOG.md:2407 +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:1771 -msgid "If you're making use of Jitsi via this playbook, you will need to update variable references in your `vars.yml` file:" +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:1773 -msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" -msgstr "" - -#: ../../../CHANGELOG.md:1774 -msgid "`matrix_jitsi_` -> `jitsi_`" +msgid "To migrate:" msgstr "" #: ../../../CHANGELOG.md:1775 -#: ../../../CHANGELOG.md:1802 -msgid "some other internal variables have changed, but the playbook will tell you about them" +msgid "pull the playbook changes, as usual" +msgstr "" + +#: ../../../CHANGELOG.md:1776 +msgid "update your roles (run `just roles` or `make roles`)" msgstr "" #: ../../../CHANGELOG.md:1777 -msgid "2023-03-22" +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:1779 -msgid "ntfy Web App is disabled by default" +#: ../../../CHANGELOG.md:1778 +msgid "re-run the playbook (`install-all` or `setup-all`)" msgstr "" -#: ../../../CHANGELOG.md:1781 -msgid "ntfy provides a web app, which is now disabled by default, because it may be unknown to and unused by most users of this playbook. You can enable it by setting `ntfy_web_root: \"app\"` (see [ntfy documentation](docs/configuring-playbook-ntfy.md))." +#: ../../../CHANGELOG.md:1780 +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:1783 -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))." +msgid "2024-01-02" msgstr "" -#: ../../../CHANGELOG.md:1786 -msgid "2023-03-21" +#: ../../../CHANGELOG.md:1785 +msgid "mautrix-signal now powered by the new Go-based bridge" msgstr "" -#: ../../../CHANGELOG.md:1788 -msgid "The matrix-prometheus role lives independently now" +#: ../../../CHANGELOG.md:1787 +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:1790 -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." +#: ../../../CHANGELOG.md:1789 +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:1792 -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." +#: ../../../CHANGELOG.md:1791 +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:1794 -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." +msgid "2023-10-23" msgstr "" #: ../../../CHANGELOG.md:1796 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." +msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" msgstr "" #: ../../../CHANGELOG.md:1798 -msgid "If you're making use of Prometheus via this playbook, you will need to update variable references in your `vars.yml` file:" +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:1800 -msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" +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:1801 -msgid "`matrix_prometheus_` -> `prometheus_`" +#: ../../../CHANGELOG.md:1802 +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:1805 -msgid "2023-03-12" +#: ../../../CHANGELOG.md:1804 +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:1807 -msgid "synapse-auto-compressor support" +#: ../../../CHANGELOG.md:1806 +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:1809 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically." +#: ../../../CHANGELOG.md:1808 +msgid "The **historical reasoning** behind this change is as follows:" msgstr "" -#: ../../../CHANGELOG.md:1811 -msgid "If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because:" +#: ../../../CHANGELOG.md:1810 +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:1813 -msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" +#: ../../../CHANGELOG.md:1812 +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:1814 -msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore" +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:1816 -msgid "This tool needs to be enabled manually, for now. In the future, we're considering enabling it by default for all Synapse installations." +msgid "Here are **actions you may wish to take** as a result of this change:" msgstr "" #: ../../../CHANGELOG.md:1818 -msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." +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:1821 -msgid "2023-03-07" +#: ../../../CHANGELOG.md:1820 +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:1823 -msgid "Sliding Sync proxy (Element X) support" +#: ../../../CHANGELOG.md:1822 +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:1825 -msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, the playbook can now install and configure the [sliding-sync proxy](https://github.com/matrix-org/sliding-sync)." +msgid "2023-10-18" msgstr "" #: ../../../CHANGELOG.md:1827 -msgid "The upcoming Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)) require the `sliding-sync` proxy to do their job. **These clients are still in beta** (especially Element X Android, which requires manual compilation to get it working with a non-`matrix.org` homeseserver). Playbook users can now easily give these clients a try and help test them thanks to us having `sliding-sync` support." +msgid "Postgres parameters are automatically tuned now" msgstr "" #: ../../../CHANGELOG.md:1829 -msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." +msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." msgstr "" -#: ../../../CHANGELOG.md:1832 -msgid "2023-03-02" +#: ../../../CHANGELOG.md:1831 +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:1834 -msgid "The matrix-etherpad role lives independently now" +#: ../../../CHANGELOG.md:1833 +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:1836 -msgid "**TLDR**: the `matrix-etherpad` role is now included from [another repository](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1835 +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:1838 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." +msgid "2023-08-31" msgstr "" #: ../../../CHANGELOG.md:1840 -msgid "If you're making use of Etherpad via this playbook, you will need to update variable references in your `vars.yml` file:" +msgid "SchildiChat Web support" msgstr "" #: ../../../CHANGELOG.md:1842 -msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" +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:1844 -msgid "Replace `matrix_etherpad_mode: dimension` with:" -msgstr "" - -#: ../../../CHANGELOG.md:1845 -msgid "for `matrix-nginx-proxy` users:" -msgstr "" - -#: ../../../CHANGELOG.md:1846 -msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" +msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:1847 -msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" -msgstr "" - -#: ../../../CHANGELOG.md:1848 -msgid "for Traefik users:" +msgid "2023-08-23" msgstr "" #: ../../../CHANGELOG.md:1849 -msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" +msgid "mautrix-wsproxy support" msgstr "" #: ../../../CHANGELOG.md:1851 -msgid "Rename all other variables:" -msgstr "" - -#: ../../../CHANGELOG.md:1852 -msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" +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:1853 -msgid "`matrix_etherpad_` -> `etherpad_`" +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:1855 -msgid "Along with this relocation, the new role also:" -msgstr "" - -#: ../../../CHANGELOG.md:1857 -msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" +#: ../../../CHANGELOG.md:1856 +msgid "2023-07-24" msgstr "" #: ../../../CHANGELOG.md:1858 -msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" +msgid "matrix-registration-bot usage changed" msgstr "" -#: ../../../CHANGELOG.md:1861 -msgid "2023-02-26" +#: ../../../CHANGELOG.md:1860 +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:1863 -msgid "Traefik is the default reverse-proxy now" +#: ../../../CHANGELOG.md:1862 +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:1864 +msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" msgstr "" #: ../../../CHANGELOG.md:1865 -msgid "**TLDR**: new installations will now default to Traefik as their reverse-proxy. Existing users need to explicitly choose their reverse-proxy type. [Switching to Traefik](#how-do-i-switch-my-existing-setup-to-traefik) is strongly encouraged. `matrix-nginx-proxy` may break over time and will ultimately be removed." +msgid "`matrix_bot_matrix_registration_bot_api_token`" msgstr "" -#: ../../../CHANGELOG.md:1867 -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." +#: ../../../CHANGELOG.md:1868 +msgid "2023-07-21" msgstr "" -#: ../../../CHANGELOG.md:1869 -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:1871 -msgid "Traefik managed by the playbook" +#: ../../../CHANGELOG.md:1870 +msgid "mautrix-gmessages support" msgstr "" #: ../../../CHANGELOG.md:1872 -msgid "Traefik managed by the user in another way" -msgstr "" - -#: ../../../CHANGELOG.md:1873 -msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" -msgstr "" - -#: ../../../CHANGELOG.md:1874 -msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)" +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:1875 -msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" +msgid "2023-07-17" msgstr "" -#: ../../../CHANGELOG.md:1876 -msgid "`nginx` webserver operated by the user, running without a container on the same server" +#: ../../../CHANGELOG.md:1877 +msgid "matrix-media-repo support" msgstr "" -#: ../../../CHANGELOG.md:1878 -msgid "Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support." +#: ../../../CHANGELOG.md:1879 +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:1880 -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:1882 -msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" +#: ../../../CHANGELOG.md:1881 +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:1884 -msgid "Traefik is now the default reverse-proxy for new installations" +msgid "2023-05-25" msgstr "" -#: ../../../CHANGELOG.md:1885 -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" +#: ../../../CHANGELOG.md:1886 +msgid "Enabling `forget_rooms_on_leave` by default for Synapse" msgstr "" -#: ../../../CHANGELOG.md:1887 -msgid "How do I switch my existing setup to Traefik?" +#: ../../../CHANGELOG.md:1888 +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:1889 -msgid "**For users who are on `matrix-nginx-proxy`** (the default reverse-proxy provided by the playbook), switching to Traefik can happen with a simple configuration change. Follow this section from 2 weeks ago: [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now)." +#: ../../../CHANGELOG.md:1890 +msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." msgstr "" -#: ../../../CHANGELOG.md:1891 -msgid "If you experience trouble:" -msgstr "" - -#: ../../../CHANGELOG.md:1893 -msgid "Follow [How do I remain on matrix-nginx-proxy?](#how-do-i-remain-on-matrix-nginx-proxy) to bring your server back online using the old reverse-proxy" +#: ../../../CHANGELOG.md:1892 +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:1894 -msgid "Ask for help in our [support channels](README.md#support)" -msgstr "" - -#: ../../../CHANGELOG.md:1895 -msgid "Try switching to Traefik again later" +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:1897 -msgid "**For users with a more special reverse-proxying setup** (another nginx server, Apache, Caddy, etc.), the migration may not be so smooth. Follow the [Using your own webserver](docs/configuring-playbook-own-webserver.md) guide. Ideally, your custom reverse-proxy will be configured in such a way that it **fronts the Traefik reverse-proxy** provided by the playbook. Other means of reverse-proxying are more fragile and may be deprecated in the future." +msgid "2023-04-03" msgstr "" #: ../../../CHANGELOG.md:1899 -msgid "I already use my own Traefik server. How do I plug that in?" +msgid "The matrix-jitsi role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1901 -msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." +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:1903 -msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" +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:1905 -msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." +msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" msgstr "" #: ../../../CHANGELOG.md:1907 -msgid "While we migrate all these components to have native Traefik support, some still go through nginx internally (Traefik -> local `matrix-nginx-proxy` -> component). As time goes on, internal reliance on `matrix-nginx-proxy` will gradually decrease until it's completely removed." +msgid "**native Traefik support** has been added" msgstr "" -#: ../../../CHANGELOG.md:1909 -msgid "How do I remain on matrix-nginx-proxy?" +#: ../../../CHANGELOG.md:1908 +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:1911 -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." +#: ../../../CHANGELOG.md:1910 +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." msgstr "" -#: ../../../CHANGELOG.md:1913 -msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." +#: ../../../CHANGELOG.md:1912 +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:1914 +msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" msgstr "" #: ../../../CHANGELOG.md:1915 -msgid "At some point in the **near** future (days, or even weeks at most), we hope to completely get rid of `matrix-nginx-proxy` (or break it enough to make it unusable), so you **will soon be forced to migrate** anyway. Plan your migration accordingly." +msgid "`matrix_jitsi_` -> `jitsi_`" msgstr "" -#: ../../../CHANGELOG.md:1917 -msgid "How do I keep using my own other reverse-proxy?" +#: ../../../CHANGELOG.md:1916 +#: ../../../CHANGELOG.md:1943 +msgid "some other internal variables have changed, but the playbook will tell you about them" msgstr "" -#: ../../../CHANGELOG.md:1919 -msgid "We recommend that you follow the guide for [Fronting the integrated reverse-proxy webserver with another reverse-proxy](docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +#: ../../../CHANGELOG.md:1918 +msgid "2023-03-22" +msgstr "" + +#: ../../../CHANGELOG.md:1920 +msgid "ntfy Web App is disabled by default" msgstr "" #: ../../../CHANGELOG.md:1922 -msgid "2023-02-25" +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:1924 -msgid "rageshake support" +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:1926 -msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server." +#: ../../../CHANGELOG.md:1927 +msgid "2023-03-21" msgstr "" -#: ../../../CHANGELOG.md:1928 -msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." +#: ../../../CHANGELOG.md:1929 +msgid "The matrix-prometheus role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1931 -msgid "2023-02-17" +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:1933 -msgid "Synapse templates customization support" +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:1935 -msgid "The playbook can now help you customize Synapse's templates." +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:1937 -msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." msgstr "" #: ../../../CHANGELOG.md:1939 -msgid "The matrix-redis role lives independently now" +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:1941 -msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:1943 -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." +#: ../../../CHANGELOG.md:1942 +msgid "`matrix_prometheus_` -> `prometheus_`" msgstr "" -#: ../../../CHANGELOG.md:1945 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_redis_` -> `redis_`)." +#: ../../../CHANGELOG.md:1946 +msgid "2023-03-12" msgstr "" -#: ../../../CHANGELOG.md:1947 -msgid "The matrix-ntfy role lives independently now" +#: ../../../CHANGELOG.md:1948 +msgid "synapse-auto-compressor support" msgstr "" -#: ../../../CHANGELOG.md:1949 -msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1950 +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:1951 -msgid "The `matrix-ntfy` role (which configures [Ntfy](https://ntfy.sh/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy). This makes it possible to easily use it in other Ansible playbooks." +#: ../../../CHANGELOG.md:1952 +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:1953 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_ntfy_` -> `ntfy_`)." +#: ../../../CHANGELOG.md:1954 +msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" msgstr "" -#: ../../../CHANGELOG.md:1956 -msgid "2023-02-15" +#: ../../../CHANGELOG.md:1955 +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:1958 -msgid "The matrix-grafana role lives independently now" +#: ../../../CHANGELOG.md:1957 +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:1960 -msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1959 +msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:1962 -msgid "The `matrix-grafana` role (which configures [Grafana](docs/configuring-playbook-prometheus-grafana.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-grafana). This makes it possible to easily use it in other Ansible playbooks." +msgid "2023-03-07" msgstr "" #: ../../../CHANGELOG.md:1964 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Grafana or not. If you're making use of Grafana via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_grafana_` -> `grafana_`)." +msgid "Sliding Sync proxy (Element X) support" msgstr "" -#: ../../../CHANGELOG.md:1967 -msgid "2023-02-13" +#: ../../../CHANGELOG.md:1966 +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:1969 -msgid "The matrix-backup-borg role lives independently now" +#: ../../../CHANGELOG.md:1968 +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:1971 -msgid "**TLDR**: the `matrix-backup-borg` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1970 +msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:1973 -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." +msgid "2023-03-02" msgstr "" #: ../../../CHANGELOG.md:1975 -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_`)." +msgid "The matrix-etherpad role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1978 -msgid "2023-02-12" +#: ../../../CHANGELOG.md:1977 +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:1980 -msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" +#: ../../../CHANGELOG.md:1979 +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." msgstr "" -#: ../../../CHANGELOG.md:1982 -msgid "**TLDR**:" +#: ../../../CHANGELOG.md:1981 +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:1984 -msgid "there's a new `matrix_playbook_reverse_proxy_type` variable (see [roles/custom/matrix-base/defaults/main.yml](roles/custom/matrix-base/defaults/main.yml)), which lets you tell the playbook what reverse-proxy setup you'd like to have. This makes it easier for people who want to do reverse-proxying in other ways." +#: ../../../CHANGELOG.md:1983 +msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" msgstr "" #: ../../../CHANGELOG.md:1985 -msgid "the default reverse-proxy (`matrix_playbook_reverse_proxy_type`) is still `playbook-managed-nginx` (via `matrix-nginx-proxy`), for now. **Existing `matrix-nginx-proxy` users should not observe any changes** and can stay on this for now." +msgid "Replace `matrix_etherpad_mode: dimension` with:" msgstr "" #: ../../../CHANGELOG.md:1986 -msgid "**Users who use their [own other webserver](docs/configuring-playbook-own-webserver.md) (e.g. Apache, etc.) need to change** `matrix_playbook_reverse_proxy_type` to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`" +msgid "for `matrix-nginx-proxy` users:" msgstr "" #: ../../../CHANGELOG.md:1987 -msgid "we now have **optional [Traefik](https://traefik.io/) support**, so you could easily host Matrix and other Traefik-native services in containers on the same server. Traefik support is still experimental (albeit, good enough) and will improve over time. It does work, but certain esoteric features may not be there yet." +msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" msgstr "" #: ../../../CHANGELOG.md:1988 -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" +msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" +msgstr "" + +#: ../../../CHANGELOG.md:1989 +msgid "for Traefik users:" msgstr "" #: ../../../CHANGELOG.md:1990 -msgid "Motivation for redoing our reverse-proxy setup" +msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" msgstr "" #: ../../../CHANGELOG.md:1992 -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**." +msgid "Rename all other variables:" +msgstr "" + +#: ../../../CHANGELOG.md:1993 +msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" msgstr "" #: ../../../CHANGELOG.md:1994 -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**." +msgid "`matrix_etherpad_` -> `etherpad_`" msgstr "" #: ../../../CHANGELOG.md:1996 -msgid "People who were **using `matrix-nginx-proxy`** were on the happy path on which everything worked well by default (Matrix-wise), **but** could not easily run other web-exposed services on their Matrix server because `matrix-nginx-proxy` was occupying ports `80` and `443`. Other services which wanted to get web exposure either had to be plugged into `matrix-nginx-proxy` (somewhat difficult) or people had to forgo using `matrix-nginx-proxy` in favor of something else." +msgid "Along with this relocation, the new role also:" msgstr "" #: ../../../CHANGELOG.md:1998 -msgid "Of those that decided to forgo `matrix-nginx-proxy`, many were **using nginx** on the same server without a container. This was likely some ancient nginx version, depending on your choice of distro. The Matrix playbook was trying to be helpful and even with `matrix_nginx_proxy_enabled: false` was still generating nginx configuration in `/matrix/nginx-proxy/conf.d`. Those configuration files were adapted for inclusion into an nginx server running locally. Disabling the `matrix-nginx-proxy` role like this, yet still having it produce files is a bit disgusting, but it's what we've had since the early beginnings of this playbook." +msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" msgstr "" -#: ../../../CHANGELOG.md:2000 -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:" +#: ../../../CHANGELOG.md:1999 +msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" msgstr "" #: ../../../CHANGELOG.md:2002 -msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" +msgid "2023-02-26" msgstr "" -#: ../../../CHANGELOG.md:2003 -msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." +#: ../../../CHANGELOG.md:2004 +msgid "Traefik is the default reverse-proxy now" msgstr "" -#: ../../../CHANGELOG.md:2005 -msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." +#: ../../../CHANGELOG.md:2006 +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:2007 -msgid "When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes)." +#: ../../../CHANGELOG.md:2008 +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:2009 -msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" -msgstr "" - -#: ../../../CHANGELOG.md:2011 -msgid "[vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager" +#: ../../../CHANGELOG.md:2010 +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:2012 -msgid "[gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service" +msgid "Traefik managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:2013 -msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform" +msgid "Traefik managed by the user in another way" +msgstr "" + +#: ../../../CHANGELOG.md:2014 +msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" msgstr "" #: ../../../CHANGELOG.md:2015 -msgid "We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy." +msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)" +msgstr "" + +#: ../../../CHANGELOG.md:2016 +msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:2017 -msgid "These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`." +msgid "`nginx` webserver operated by the user, running without a container on the same server" msgstr "" #: ../../../CHANGELOG.md:2019 -msgid "Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with." +msgid "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:2021 -msgid "How do these changes fix all these problems?" +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:2023 -msgid "The new `matrix_playbook_reverse_proxy_type` lets you easily specify your preferred reverse-proxy type, including `other-on-same-host`, `other-on-another-host` and `none`, so people who'd like to reverse-proxy with their own web server have more options now." +msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" msgstr "" #: ../../../CHANGELOG.md:2025 -msgid "Using Traefik greatly simplifies things, so going forward we'll have a simpler and easier to maintain playbook, which is also interoperable with other services." +msgid "Traefik is now the default reverse-proxy for new installations" msgstr "" -#: ../../../CHANGELOG.md:2027 -msgid "Traefik is a web server, which has been specifically **designed for reverse-proxying to services running in containers**. It's ideal for usage in an Ansible playbook which runs everything in containers." +#: ../../../CHANGELOG.md:2026 +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:2029 -msgid "**Traefik obtains SSL certificates automatically**, so there's no need for plugging additional tools like [Certbot](https://certbot.eff.org/) into your web server (like we were doing in the `matrix-nginx-proxy` role). No more certificate renewal timers, web server reloading timers, etc. It's just simpler." +#: ../../../CHANGELOG.md:2028 +msgid "How do I switch my existing setup to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:2031 -msgid "Traefik is a **modern web server**. [HTTP/3](https://doc.traefik.io/traefik/routing/entrypoints/#http3) is supported already (experimentally) and will move to stable soon, in the upcoming Traefik v3 release." +#: ../../../CHANGELOG.md:2030 +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:2033 -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." +#: ../../../CHANGELOG.md:2032 +msgid "If you experience trouble:" +msgstr "" + +#: ../../../CHANGELOG.md:2034 +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:2035 -msgid "Where we're at right now?" +msgid "Ask for help in our [support channels](README.md#support)" msgstr "" -#: ../../../CHANGELOG.md:2037 -msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." +#: ../../../CHANGELOG.md:2036 +msgid "Try switching to Traefik again later" msgstr "" -#: ../../../CHANGELOG.md:2039 -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." +#: ../../../CHANGELOG.md:2038 +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:2041 -msgid "**Users using [their own webservers](docs/configuring-playbook-own-webserver.md) will need to change `matrix_playbook_reverse_proxy_type`** to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`. Previously, they could toggle `matrix_nginx_proxy_enabled` to `false`, and that made the playbook automatically expose services locally. Currently, we only do this if you change the reverse-proxy type to `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`." +#: ../../../CHANGELOG.md:2040 +msgid "I already use my own Traefik server. How do I plug that in?" msgstr "" -#: ../../../CHANGELOG.md:2043 -msgid "How do I explicitly switch to Traefik right now?" +#: ../../../CHANGELOG.md:2042 +msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." msgstr "" -#: ../../../CHANGELOG.md:2045 -msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" +#: ../../../CHANGELOG.md:2044 +msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:2051 -msgid "You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed." +#: ../../../CHANGELOG.md:2046 +msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." msgstr "" -#: ../../../CHANGELOG.md:2053 -msgid "Switching to Traefik will obtain new SSL certificates from Let's Encrypt (stored in `/matrix/traefik/ssl/acme.json`). **The switch is reversible**. You can always go back to `playbook-managed-nginx` if Traefik is causing you trouble." +#: ../../../CHANGELOG.md:2048 +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:2055 -msgid "**Note**: toggling `matrix_playbook_reverse_proxy_type` between Traefik and nginx will uninstall the Traefik role and all of its data (under `/matrix/traefik`), so you may run into a Let's Encrypt rate limit if you do it often." +#: ../../../CHANGELOG.md:2050 +msgid "How do I remain on matrix-nginx-proxy?" msgstr "" -#: ../../../CHANGELOG.md:2057 -msgid "Treafik directly reverse-proxies to **some** services right now, but for most other services it goes through `matrix-nginx-proxy` (e.g. Traefik -> `matrix-nginx-proxy` -> [Ntfy](docs/configuring-playbook-ntfy.md)). So, even if you opt into Traefik, you'll still see `matrix-nginx-proxy` being installed in local-only mode. This will improve with time." +#: ../../../CHANGELOG.md:2052 +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:2059 -msgid "Some services (like [coturn](docs/configuring-playbook-turn.md) and [Postmoogle](docs/configuring-playbook-bridge-postmoogle.md)) cannot be reverse-proxied to directly from Traefik, so they require direct access to SSL certificate files extracted out of Traefik. The playbook does this automatically thanks to a new [com.devture.ansible.role.traefik_certs_dumper](https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper) role utilizing the [traefik-certs-dumper](https://github.com/ldez/traefik-certs-dumper) tool." +#: ../../../CHANGELOG.md:2054 +msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." msgstr "" -#: ../../../CHANGELOG.md:2061 -msgid "Our Traefik setup mostly works, but certain esoteric features may not work. If you have a default setup, we expect you to have a good experience." +#: ../../../CHANGELOG.md:2056 +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:2058 +msgid "How do I keep using my own other reverse-proxy?" +msgstr "" + +#: ../../../CHANGELOG.md:2060 +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:2063 -msgid "Where we're going in the near future?" +msgid "2023-02-25" msgstr "" #: ../../../CHANGELOG.md:2065 -msgid "The `matrix-nginx-proxy` role is quite messy. It manages both nginx and Certbot and its certificate renewal scripts and timers. It generates configuration even when the role is disabled (weird). Although it doesn't directly reach into variables from other roles, it has explicit awareness of various other services that it reverse-proxies to (`roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-ntfy.conf.j2`, etc.). We'd like to clean this up. The only way is probably to just get rid of the whole thing at some point." +msgid "rageshake support" msgstr "" #: ../../../CHANGELOG.md:2067 -msgid "For now, `matrix-nginx-proxy` will stay around." +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:2069 -msgid "As mentioned above, Traefik still reverse-proxies to some (most) services by going through a local-only `matrix-nginx-proxy` server. This has allowed us to add Traefik support to the playbook early on (without having to rework all services), but is not the final goal. We'll **work on making each service support Traefik natively**, so that traffic will not need to go through `matrix-nginx-proxy` anymore. In the end, choosing Traefik should only give you a pure Traefik installation with no `matrix-nginx-proxy` in sight." +msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." msgstr "" -#: ../../../CHANGELOG.md:2071 -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:2073 -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." +#: ../../../CHANGELOG.md:2072 +msgid "2023-02-17" msgstr "" #: ../../../CHANGELOG.md:2074 -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`)." +msgid "Synapse templates customization support" msgstr "" #: ../../../CHANGELOG.md:2076 -msgid "How do I help?" +msgid "The playbook can now help you customize Synapse's templates." msgstr "" #: ../../../CHANGELOG.md:2078 -msgid "You can help by:" +msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." msgstr "" #: ../../../CHANGELOG.md:2080 -msgid "**explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles" +msgid "The matrix-redis role lives independently now" msgstr "" #: ../../../CHANGELOG.md:2082 -msgid "**adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers)." +msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:2084 -msgid "**adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server" +msgid "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:2087 -msgid "2023-02-10" +#: ../../../CHANGELOG.md:2086 +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:2089 -msgid "Matrix Authentication Support for Jitsi" +#: ../../../CHANGELOG.md:2088 +msgid "The matrix-ntfy role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:2091 -msgid "Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), Jitsi can now use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service))." +#: ../../../CHANGELOG.md:2090 +msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:2093 -msgid "Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix)." +#: ../../../CHANGELOG.md:2092 +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:2095 -msgid "Draupnir moderation tool (bot) support" +#: ../../../CHANGELOG.md:2094 +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:2097 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](docs/configuring-playbook-bot-mjolnir.md) (which the playbook has supported for a long time) maintained by Mjolnir's former lead developer." +msgid "2023-02-15" msgstr "" #: ../../../CHANGELOG.md:2099 -msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." +msgid "The matrix-grafana role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:2102 -msgid "2023-02-05" +#: ../../../CHANGELOG.md:2101 +msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:2104 -msgid "The matrix-prometheus-postgres-exporter role lives independently now" +#: ../../../CHANGELOG.md:2103 +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:2106 -msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:2105 +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:2108 -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" +msgid "2023-02-13" msgstr "" #: ../../../CHANGELOG.md:2110 -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." +msgid "The matrix-backup-borg role lives independently now" msgstr "" #: ../../../CHANGELOG.md:2112 -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`)" +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:2114 -#: ../../../CHANGELOG.md:2156 -msgid "Other roles which aren't strictly related to Matrix are likely to follow this fate of moving to their own repositories. Extracting them out allows other Ansible playbooks to make use of these roles easily." +msgid "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:2117 -msgid "2023-01-26" +#: ../../../CHANGELOG.md:2116 +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:2119 -msgid "coturn can now use host-networking" +msgid "2023-02-12" msgstr "" #: ../../../CHANGELOG.md:2121 -msgid "Large coturn deployments (with a huge range of ports specified via `coturn_turn_udp_min_port` and `coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." +msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" msgstr "" #: ../../../CHANGELOG.md:2123 -msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" +msgid "**TLDR**:" +msgstr "" + +#: ../../../CHANGELOG.md:2125 +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:2126 +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:2127 +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:2128 +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:2129 -msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." +msgid "**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:2131 -msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." +msgid "Motivation for redoing our reverse-proxy setup" msgstr "" #: ../../../CHANGELOG.md:2133 -msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" +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:2135 -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." +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:2137 -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." +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:2139 -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." +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:2141 -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." +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:2143 +msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" msgstr "" #: ../../../CHANGELOG.md:2144 -msgid "2023-01-21" +msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." msgstr "" #: ../../../CHANGELOG.md:2146 -msgid "The matrix-prometheus-node-exporter role lives independently now" +msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." msgstr "" #: ../../../CHANGELOG.md:2148 -msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +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:2150 -msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" +msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" msgstr "" #: ../../../CHANGELOG.md:2152 -msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." +msgid "[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:2153 +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:2154 -msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" +msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform" msgstr "" -#: ../../../CHANGELOG.md:2159 -msgid "2023-01-13" +#: ../../../CHANGELOG.md:2156 +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:2161 -msgid "Support for running commands via just" +#: ../../../CHANGELOG.md:2158 +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:2163 -msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." +#: ../../../CHANGELOG.md:2160 +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:2165 -msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." +#: ../../../CHANGELOG.md:2162 +msgid "How do these changes fix all these problems?" msgstr "" -#: ../../../CHANGELOG.md:2167 -msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" +#: ../../../CHANGELOG.md:2164 +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:2169 -msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" +#: ../../../CHANGELOG.md:2166 +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:2168 +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:2170 -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:2171 -msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" +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:2172 -msgid "`just start-all` — (re-)starts all services" -msgstr "" - -#: ../../../CHANGELOG.md:2173 -msgid "`just stop-group postgres` — to stop only the Postgres service" +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:2174 -msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" +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:2176 -msgid "Additional helpful commands and shortcuts may be defined in the future." +msgid "Where we're at right now?" msgstr "" #: ../../../CHANGELOG.md:2178 -msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." +msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." msgstr "" -#: ../../../CHANGELOG.md:2181 -msgid "2023-01-11" +#: ../../../CHANGELOG.md:2180 +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:2183 -msgid "mautrix-slack support" +#: ../../../CHANGELOG.md:2182 +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:2185 -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." +#: ../../../CHANGELOG.md:2184 +msgid "How do I explicitly switch to Traefik right now?" msgstr "" -#: ../../../CHANGELOG.md:2187 -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:2190 -msgid "2023-01-10" +#: ../../../CHANGELOG.md:2186 +msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" msgstr "" #: ../../../CHANGELOG.md:2192 -msgid "ChatGPT support" +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:2194 -msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." +msgid "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:2196 -msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." +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:2199 -msgid "2022-11-30" +#: ../../../CHANGELOG.md:2198 +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:2201 -msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" +#: ../../../CHANGELOG.md:2200 +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:2203 -msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." +#: ../../../CHANGELOG.md:2202 +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:2205 -msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." +#: ../../../CHANGELOG.md:2204 +msgid "Where we're going in the near future?" +msgstr "" + +#: ../../../CHANGELOG.md:2206 +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:2208 -msgid "2022-11-28" +msgid "For now, `matrix-nginx-proxy` will stay around." msgstr "" #: ../../../CHANGELOG.md:2210 -msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" +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:2212 -msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." +msgid "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:2214 -msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." +msgid "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:2216 -msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" +#: ../../../CHANGELOG.md:2215 +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:2218 -msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" +#: ../../../CHANGELOG.md:2217 +msgid "How do I help?" msgstr "" #: ../../../CHANGELOG.md:2219 -msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" +msgid "You can help by:" msgstr "" #: ../../../CHANGELOG.md:2221 -msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." +msgid "**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:2223 -msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." +msgid "**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:2225 -msgid "The playbook no longer installs scripts to /usr/local/bin" +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:2227 -msgid "The locations of various scripts installed by the playbook have changed." +#: ../../../CHANGELOG.md:2228 +msgid "2023-02-10" msgstr "" -#: ../../../CHANGELOG.md:2229 -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:2231 -msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" +#: ../../../CHANGELOG.md:2230 +msgid "Matrix Authentication Support for Jitsi" msgstr "" #: ../../../CHANGELOG.md:2232 -msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" -msgstr "" - -#: ../../../CHANGELOG.md:2233 -msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" +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:2234 -msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" +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:2237 -msgid "2022-11-25" +#: ../../../CHANGELOG.md:2236 +msgid "Draupnir moderation tool (bot) support" msgstr "" -#: ../../../CHANGELOG.md:2239 -msgid "2x-5x performance improvements in playbook runtime" +#: ../../../CHANGELOG.md:2238 +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:2241 -msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." +#: ../../../CHANGELOG.md:2240 +msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." msgstr "" #: ../../../CHANGELOG.md:2243 -msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." +msgid "2023-02-05" msgstr "" #: ../../../CHANGELOG.md:2245 -msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." +msgid "The matrix-prometheus-postgres-exporter role lives independently now" msgstr "" #: ../../../CHANGELOG.md:2247 -msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" +msgid "**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:2249 -msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." +msgid "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:2251 -msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." +msgid "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:2253 -msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." +msgid "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:2255 -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`." +#: ../../../CHANGELOG.md:2297 +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:2258 -msgid "2022-11-22" +msgid "2023-01-26" msgstr "" #: ../../../CHANGELOG.md:2260 -msgid "Automatic `matrix_architecture` determination" +msgid "coturn can now use host-networking" msgstr "" #: ../../../CHANGELOG.md:2262 -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." +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:2264 -msgid "Docker and the Docker SDK for Python are now installed via external roles" -msgstr "" - -#: ../../../CHANGELOG.md:2268 -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`." +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:2270 -msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." +msgid "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:2272 -msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." +msgid "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:2274 -msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." +msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" msgstr "" -#: ../../../CHANGELOG.md:2277 -msgid "2022-11-20" +#: ../../../CHANGELOG.md:2276 +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:2279 -msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" +#: ../../../CHANGELOG.md:2278 +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:2281 -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." +#: ../../../CHANGELOG.md:2280 +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:2283 -msgid "Background" +#: ../../../CHANGELOG.md:2282 +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:2285 -msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." +msgid "2023-01-21" msgstr "" #: ../../../CHANGELOG.md:2287 -msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." +msgid "The matrix-prometheus-node-exporter role lives independently now" msgstr "" #: ../../../CHANGELOG.md:2289 -msgid "Solution" +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:2291 -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:" +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:2293 -msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" +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:2295 -msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" +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:2296 -msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" +#: ../../../CHANGELOG.md:2300 +msgid "2023-01-13" msgstr "" -#: ../../../CHANGELOG.md:2297 -msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" +#: ../../../CHANGELOG.md:2302 +msgid "Support for running commands via just" msgstr "" -#: ../../../CHANGELOG.md:2299 -msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" +#: ../../../CHANGELOG.md:2304 +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:2301 -msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" +#: ../../../CHANGELOG.md:2306 +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:2303 -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:" +#: ../../../CHANGELOG.md:2308 +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:2305 -msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." -msgstr "" - -#: ../../../CHANGELOG.md:2307 -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:2309 -msgid "Webserver configuration" +#: ../../../CHANGELOG.md:2310 +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:2311 -msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" +msgid "`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:2312 +msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" msgstr "" #: ../../../CHANGELOG.md:2313 -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" +msgid "`just start-all` — (re-)starts all services" +msgstr "" + +#: ../../../CHANGELOG.md:2314 +msgid "`just stop-group postgres` — to stop only the Postgres service" msgstr "" #: ../../../CHANGELOG.md:2315 -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" +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:2317 -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" +msgid "Additional helpful commands and shortcuts may be defined in the future." msgstr "" #: ../../../CHANGELOG.md:2319 -msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." +msgid "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:2322 -msgid "2022-11-05" +msgid "2023-01-11" msgstr "" #: ../../../CHANGELOG.md:2324 -msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" +msgid "mautrix-slack support" msgstr "" #: ../../../CHANGELOG.md:2326 -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`)." +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:2328 -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`)." +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:2330 -msgid "If you've already got both Etherpad and Dimension in use you could:" +#: ../../../CHANGELOG.md:2331 +msgid "2023-01-10" msgstr "" -#: ../../../CHANGELOG.md:2332 -msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." +#: ../../../CHANGELOG.md:2333 +msgid "ChatGPT support" msgstr "" -#: ../../../CHANGELOG.md:2334 -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" +#: ../../../CHANGELOG.md:2335 +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:2337 -msgid "2022-11-04" +msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2339 -msgid "The playbook now uses external roles for some things" +#: ../../../CHANGELOG.md:2340 +msgid "2022-11-30" msgstr "" -#: ../../../CHANGELOG.md:2341 -msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." +#: ../../../CHANGELOG.md:2342 +msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" msgstr "" -#: ../../../CHANGELOG.md:2343 -msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." +#: ../../../CHANGELOG.md:2344 +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:2345 -msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" -msgstr "" - -#: ../../../CHANGELOG.md:2347 -msgid "those that live within the playbook itself (`roles/custom/*`)" +#: ../../../CHANGELOG.md:2346 +msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." msgstr "" #: ../../../CHANGELOG.md:2349 -msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." +msgid "2022-11-28" msgstr "" #: ../../../CHANGELOG.md:2351 -msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." +msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" msgstr "" #: ../../../CHANGELOG.md:2353 -msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." +msgid "**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:2355 -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`." +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:2358 -msgid "2022-10-14" +#: ../../../CHANGELOG.md:2357 +msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" +msgstr "" + +#: ../../../CHANGELOG.md:2359 +msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" msgstr "" #: ../../../CHANGELOG.md:2360 -msgid "synapse-s3-storage-provider support" +msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" msgstr "" #: ../../../CHANGELOG.md:2362 -msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" +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:2364 -msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." +msgid "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:2366 -msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." +msgid "The playbook no longer installs scripts to /usr/local/bin" msgstr "" #: ../../../CHANGELOG.md:2368 -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." +msgid "The locations of various scripts installed by the playbook have changed." msgstr "" #: ../../../CHANGELOG.md:2370 -msgid "Synapse container image customization support" +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:2372 -msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." +msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" +msgstr "" + +#: ../../../CHANGELOG.md:2373 +msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" msgstr "" #: ../../../CHANGELOG.md:2374 -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." +msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" msgstr "" -#: ../../../CHANGELOG.md:2376 -msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" +#: ../../../CHANGELOG.md:2375 +msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" msgstr "" -#: ../../../CHANGELOG.md:2387 -msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." +#: ../../../CHANGELOG.md:2378 +msgid "2022-11-25" msgstr "" -#: ../../../CHANGELOG.md:2389 -msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." +#: ../../../CHANGELOG.md:2380 +msgid "2x-5x performance improvements in playbook runtime" +msgstr "" + +#: ../../../CHANGELOG.md:2382 +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:2384 +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:2386 +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:2388 +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:2390 +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:2392 -msgid "2022-10-02" +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:2394 -msgid "matrix-ldap-registration-proxy support" +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:2396 -msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." +msgid "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:2398 -msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." +#: ../../../CHANGELOG.md:2399 +msgid "2022-11-22" msgstr "" #: ../../../CHANGELOG.md:2401 -msgid "2022-09-15" +msgid "Automatic `matrix_architecture` determination" msgstr "" #: ../../../CHANGELOG.md:2403 -msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" +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:2405 -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:2407 -msgid "we've added support for [Stream writers](#stream-writers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:2408 -msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" +msgid "Docker and the Docker SDK for Python are now installed via external roles" msgstr "" #: ../../../CHANGELOG.md:2409 -msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:2410 -msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" +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:2411 -msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" -msgstr "" - -#: ../../../CHANGELOG.md:2412 -msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" +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:2413 -msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" +msgid "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:2414 -msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" -msgstr "" - -#: ../../../CHANGELOG.md:2416 -msgid "Stream writers support" +#: ../../../CHANGELOG.md:2415 +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:2418 -msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." +msgid "2022-11-20" msgstr "" #: ../../../CHANGELOG.md:2420 -msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." +msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" msgstr "" #: ../../../CHANGELOG.md:2422 -msgid "If you'd like to customize the number of workers we also make that possible using these variables:" +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:2435 -msgid "Multiple federation sender workers support" +#: ../../../CHANGELOG.md:2424 +msgid "Background" +msgstr "" + +#: ../../../CHANGELOG.md:2426 +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:2428 +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:2430 +msgid "Solution" +msgstr "" + +#: ../../../CHANGELOG.md:2432 +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:2434 +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:2436 +msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" msgstr "" #: ../../../CHANGELOG.md:2437 -msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." +msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" msgstr "" -#: ../../../CHANGELOG.md:2439 -msgid "Multiple pusher workers support" +#: ../../../CHANGELOG.md:2438 +msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" msgstr "" -#: ../../../CHANGELOG.md:2441 -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." +#: ../../../CHANGELOG.md:2440 +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:2443 -msgid "Background tasks can run on a worker" +#: ../../../CHANGELOG.md:2442 +msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" msgstr "" -#: ../../../CHANGELOG.md:2445 -msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." +#: ../../../CHANGELOG.md:2444 +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:2447 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +#: ../../../CHANGELOG.md:2446 +msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." msgstr "" -#: ../../../CHANGELOG.md:2449 -msgid "Appservice worker support is back" +#: ../../../CHANGELOG.md:2448 +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:2451 -msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." +#: ../../../CHANGELOG.md:2450 +msgid "Webserver configuration" msgstr "" -#: ../../../CHANGELOG.md:2453 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." +#: ../../../CHANGELOG.md:2452 +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:2455 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +#: ../../../CHANGELOG.md:2454 +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:2457 -msgid "User Directory worker support is back" +#: ../../../CHANGELOG.md:2456 +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:2459 -msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." +#: ../../../CHANGELOG.md:2458 +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:2461 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." +#: ../../../CHANGELOG.md:2460 +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:2463 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +msgid "2022-11-05" msgstr "" #: ../../../CHANGELOG.md:2465 -msgid "Using more than 1 media repository worker is now more reliable" +msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" msgstr "" #: ../../../CHANGELOG.md:2467 -msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." +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:2469 -msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." +msgid "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:2471 -msgid "Potential Backward Incompatibilities after these Synapse worker changes" +msgid "If you've already got both Etherpad and Dimension in use you could:" msgstr "" #: ../../../CHANGELOG.md:2473 -msgid "Below we'll discuss **potential backward incompatibilities**." +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:2475 -msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." +msgid "**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:2477 -msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." +#: ../../../CHANGELOG.md:2478 +msgid "2022-11-04" msgstr "" -#: ../../../CHANGELOG.md:2479 -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." +#: ../../../CHANGELOG.md:2480 +msgid "The playbook now uses external roles for some things" msgstr "" -#: ../../../CHANGELOG.md:2481 -msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." +#: ../../../CHANGELOG.md:2482 +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:2484 -msgid "2022-09-09" +msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." msgstr "" #: ../../../CHANGELOG.md:2486 -msgid "Cactus Comments support" +msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" msgstr "" #: ../../../CHANGELOG.md:2488 -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." +msgid "those that live within the playbook itself (`roles/custom/*`)" msgstr "" #: ../../../CHANGELOG.md:2490 -msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." +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:2493 -msgid "2022-08-23" +#: ../../../CHANGELOG.md:2492 +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:2495 -msgid "Postmoogle email bridge support" +#: ../../../CHANGELOG.md:2494 +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:2497 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." +#: ../../../CHANGELOG.md:2496 +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:2499 -msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." +msgid "2022-10-14" msgstr "" -#: ../../../CHANGELOG.md:2502 -msgid "2022-08-10" +#: ../../../CHANGELOG.md:2501 +msgid "synapse-s3-storage-provider support" msgstr "" -#: ../../../CHANGELOG.md:2504 -msgid "mautrix-whatsapp default configuration changes" +#: ../../../CHANGELOG.md:2503 +msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" msgstr "" -#: ../../../CHANGELOG.md:2506 -msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." +#: ../../../CHANGELOG.md:2505 +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:2508 -msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." +#: ../../../CHANGELOG.md:2507 +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:2510 -msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." +#: ../../../CHANGELOG.md:2509 +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:2511 +msgid "Synapse container image customization support" msgstr "" #: ../../../CHANGELOG.md:2513 -msgid "2022-08-09" +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:2515 -msgid "Conduit support" +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:2517 -msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." +msgid "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:2519 -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:2521 -msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" -msgstr "" - -#: ../../../CHANGELOG.md:2527 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." +#: ../../../CHANGELOG.md:2528 +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:2530 -msgid "2022-07-29" +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:2532 -msgid "mautrix-discord support" +#: ../../../CHANGELOG.md:2533 +msgid "2022-10-02" msgstr "" -#: ../../../CHANGELOG.md:2534 -msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2535 +msgid "matrix-ldap-registration-proxy support" msgstr "" -#: ../../../CHANGELOG.md:2536 -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)." +#: ../../../CHANGELOG.md:2537 +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:2539 -msgid "2022-07-27" +msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2541 -msgid "matrix-appservice-kakaotalk support" +#: ../../../CHANGELOG.md:2542 +msgid "2022-09-15" msgstr "" -#: ../../../CHANGELOG.md:2543 -msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" +#: ../../../CHANGELOG.md:2544 +msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" msgstr "" -#: ../../../CHANGELOG.md:2545 -msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." +#: ../../../CHANGELOG.md:2546 +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:2548 -msgid "2022-07-20" +msgid "we've added support for [Stream writers](#stream-writers-support)" +msgstr "" + +#: ../../../CHANGELOG.md:2549 +msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2550 -msgid "maubot support" +msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" +msgstr "" + +#: ../../../CHANGELOG.md:2551 +msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" msgstr "" #: ../../../CHANGELOG.md:2552 -msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." +msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" +msgstr "" + +#: ../../../CHANGELOG.md:2553 +msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" msgstr "" #: ../../../CHANGELOG.md:2554 -msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." +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:2555 +msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" msgstr "" #: ../../../CHANGELOG.md:2557 -msgid "2022-07-14" +msgid "Stream writers support" msgstr "" #: ../../../CHANGELOG.md:2559 -msgid "mx-puppet-skype removal" +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:2561 -msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." +msgid "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:2563 -msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" +msgid "If you'd like to customize the number of workers we also make that possible using these variables:" msgstr "" -#: ../../../CHANGELOG.md:2565 -msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" +#: ../../../CHANGELOG.md:2576 +msgid "Multiple federation sender workers support" msgstr "" -#: ../../../CHANGELOG.md:2566 -msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" +#: ../../../CHANGELOG.md:2578 +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:2567 -msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +#: ../../../CHANGELOG.md:2580 +msgid "Multiple pusher workers support" msgstr "" -#: ../../../CHANGELOG.md:2568 -msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" +#: ../../../CHANGELOG.md:2582 +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:2569 -msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" +#: ../../../CHANGELOG.md:2584 +msgid "Background tasks can run on a worker" msgstr "" -#: ../../../CHANGELOG.md:2571 -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:2573 -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:2575 -msgid "signald (0.19.0+) upgrade requires data migration" -msgstr "" - -#: ../../../CHANGELOG.md:2577 -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:2579 -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:2581 -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:2583 -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:2585 -msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" +#: ../../../CHANGELOG.md:2586 +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:2588 -msgid "2022-07-05" +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:2590 -msgid "Ntfy push notifications support" +msgid "Appservice worker support is back" msgstr "" #: ../../../CHANGELOG.md:2592 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." +msgid "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:2594 -msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." +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:2597 -msgid "2022-06-23" +#: ../../../CHANGELOG.md:2596 +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:2599 -msgid "(Potential Backward Compatibility Break) Changes around metrics collection" +#: ../../../CHANGELOG.md:2598 +msgid "User Directory worker support is back" msgstr "" -#: ../../../CHANGELOG.md:2601 -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." +#: ../../../CHANGELOG.md:2600 +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:2603 -msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." +#: ../../../CHANGELOG.md:2602 +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:2605 -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`." +#: ../../../CHANGELOG.md:2604 +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:2607 -msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" +#: ../../../CHANGELOG.md:2606 +msgid "Using more than 1 media repository worker is now more reliable" msgstr "" #: ../../../CHANGELOG.md:2608 -msgid "**Metrics may not be enabled by default anymore**:" -msgstr "" - -#: ../../../CHANGELOG.md:2609 -msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." +msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." msgstr "" #: ../../../CHANGELOG.md:2610 -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:2611 -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." +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:2612 -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`." +msgid "Potential Backward Incompatibilities after these Synapse worker changes" msgstr "" #: ../../../CHANGELOG.md:2614 -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`." +msgid "Below we'll discuss **potential backward incompatibilities**." msgstr "" #: ../../../CHANGELOG.md:2616 -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`." +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:2618 -msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" +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:2620 -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:2621 -msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" +msgid "**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:2622 -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:2623 -msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." +msgid "**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:2625 -msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." +msgid "2022-09-09" msgstr "" #: ../../../CHANGELOG.md:2627 -msgid "2022-06-13" +msgid "Cactus Comments support" msgstr "" #: ../../../CHANGELOG.md:2629 -msgid "go-skype-bridge bridging support" +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." msgstr "" #: ../../../CHANGELOG.md:2631 -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/)." +msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2633 -msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." +#: ../../../CHANGELOG.md:2634 +msgid "2022-08-23" msgstr "" -#: ../../../CHANGELOG.md:2635 -msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." +#: ../../../CHANGELOG.md:2636 +msgid "Postmoogle email bridge support" msgstr "" #: ../../../CHANGELOG.md:2638 -msgid "2022-06-09" +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:2640 -msgid "Running Ansible in a container can now happen on the Matrix server itself" +msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2642 -msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." +#: ../../../CHANGELOG.md:2643 +msgid "2022-08-10" msgstr "" #: ../../../CHANGELOG.md:2645 -msgid "2022-05-31" +msgid "mautrix-whatsapp default configuration changes" msgstr "" #: ../../../CHANGELOG.md:2647 -msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" +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:2649 -msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." +msgid "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:2651 -msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." +msgid "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:2653 -msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" -msgstr "" - -#: ../../../CHANGELOG.md:2655 -msgid "SSH into the Matrix server" +#: ../../../CHANGELOG.md:2654 +msgid "2022-08-09" msgstr "" #: ../../../CHANGELOG.md:2656 -msgid "launch `/usr/local/bin/matrix-postgres-cli`" -msgstr "" - -#: ../../../CHANGELOG.md:2657 -msgid "switch to the `synapse` database: `\\c synapse`" +msgid "Conduit support" msgstr "" #: ../../../CHANGELOG.md:2658 -msgid "run the following SQL query:" +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:2660 +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:2662 +msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:2668 +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:2671 +msgid "2022-07-29" +msgstr "" + +#: ../../../CHANGELOG.md:2673 +msgid "mautrix-discord support" +msgstr "" + +#: ../../../CHANGELOG.md:2675 +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:2677 -msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" +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:2680 -msgid "2022-04-25" +msgid "2022-07-27" msgstr "" #: ../../../CHANGELOG.md:2682 -msgid "Buscarron bot support" +msgid "matrix-appservice-kakaotalk support" msgstr "" #: ../../../CHANGELOG.md:2684 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" +msgid "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:2686 -msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." +msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2689 -msgid "2022-04-21" +msgid "2022-07-20" msgstr "" #: ../../../CHANGELOG.md:2691 -msgid "matrix-registration-bot support" +msgid "maubot support" msgstr "" #: ../../../CHANGELOG.md:2693 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." +msgid "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:2695 -msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." +msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2698 -msgid "2022-04-19" +msgid "2022-07-14" msgstr "" #: ../../../CHANGELOG.md:2700 -msgid "BorgBackup support" +msgid "mx-puppet-skype removal" msgstr "" #: ../../../CHANGELOG.md:2702 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." +msgid "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:2704 -msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." +msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" msgstr "" #: ../../../CHANGELOG.md:2706 -msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" +msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" +msgstr "" + +#: ../../../CHANGELOG.md:2707 +msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2708 -msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" +msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2709 +msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2710 -msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." +msgid "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:2712 -msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." +msgid "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:2714 -msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" +msgid "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:2716 -msgid "Pull the latest playbook changes" -msgstr "" - -#: ../../../CHANGELOG.md:2717 -msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgid "signald (0.19.0+) upgrade requires data migration" msgstr "" #: ../../../CHANGELOG.md:2718 -msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" -msgstr "" - -#: ../../../CHANGELOG.md:2719 -msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" +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:2720 -msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:2721 -msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." +msgid "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:2722 -msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" +msgid "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:2725 -msgid "2022-04-14" +#: ../../../CHANGELOG.md:2724 +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:2727 -msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" +#: ../../../CHANGELOG.md:2726 +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:2729 -msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." +msgid "2022-07-05" msgstr "" #: ../../../CHANGELOG.md:2731 -msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." +msgid "Ntfy push notifications support" msgstr "" #: ../../../CHANGELOG.md:2733 -msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." +msgid "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:2735 -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`" +msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2738 -msgid "2022-03-17" +msgid "2022-06-23" msgstr "" #: ../../../CHANGELOG.md:2740 -msgid "(Compatibility Break) ma1sd identity server no longer installed by default" +msgid "(Potential Backward Compatibility Break) Changes around metrics collection" msgstr "" #: ../../../CHANGELOG.md:2742 -msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." +msgid "**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:2744 -msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." +msgid "**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:2746 -msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." +msgid "**The 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:2748 -msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" +msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" +msgstr "" + +#: ../../../CHANGELOG.md:2749 +msgid "**Metrics may not be enabled by default anymore**:" +msgstr "" + +#: ../../../CHANGELOG.md:2750 +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:2751 +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:2752 +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:2753 +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:2755 -msgid "2022-02-12" +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:2757 -msgid "matrix_encryption_disabler support" +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:2759 -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)." +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:2761 -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`." +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:2762 +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:2763 +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:2764 -msgid "2022-02-01" +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:2766 -msgid "matrix-hookshot bridging support" +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:2768 -msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." +msgid "2022-06-13" msgstr "" -#: ../../../CHANGELOG.md:2771 -msgid "2022-01-31" +#: ../../../CHANGELOG.md:2770 +msgid "go-skype-bridge bridging support" msgstr "" -#: ../../../CHANGELOG.md:2773 -msgid "ARM support for matrix-corporal" +#: ../../../CHANGELOG.md:2772 +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:2775 -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." +#: ../../../CHANGELOG.md:2774 +msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2778 -msgid "2022-01-07" +#: ../../../CHANGELOG.md:2776 +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:2780 -msgid "Dendrite support" +#: ../../../CHANGELOG.md:2779 +msgid "2022-06-09" msgstr "" -#: ../../../CHANGELOG.md:2782 -msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." +#: ../../../CHANGELOG.md:2781 +msgid "Running Ansible in a container can now happen on the Matrix server itself" msgstr "" -#: ../../../CHANGELOG.md:2784 -msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." +#: ../../../CHANGELOG.md:2783 +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:2786 -msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" +msgid "2022-05-31" msgstr "" #: ../../../CHANGELOG.md:2788 -msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." +msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" msgstr "" #: ../../../CHANGELOG.md:2790 -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)." +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:2792 -msgid "Adapting the configuration for existing Synapse installations" +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:2794 -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." +msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" msgstr "" #: ../../../CHANGELOG.md:2796 -msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" +msgid "SSH into the Matrix server" msgstr "" -#: ../../../CHANGELOG.md:2808 -msgid "Trying out Dendrite" +#: ../../../CHANGELOG.md:2797 +msgid "launch `/usr/local/bin/matrix-postgres-cli`" msgstr "" -#: ../../../CHANGELOG.md:2810 -msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" +#: ../../../CHANGELOG.md:2798 +msgid "switch to the `synapse` database: `\\c synapse`" msgstr "" -#: ../../../CHANGELOG.md:2816 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." +#: ../../../CHANGELOG.md:2799 +msgid "run the following SQL query:" msgstr "" #: ../../../CHANGELOG.md:2818 -msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" +msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" msgstr "" -#: ../../../CHANGELOG.md:2820 -msgid "Honoroit bot support" +#: ../../../CHANGELOG.md:2821 +msgid "2022-04-25" msgstr "" -#: ../../../CHANGELOG.md:2822 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." +#: ../../../CHANGELOG.md:2823 +msgid "Buscarron bot support" msgstr "" -#: ../../../CHANGELOG.md:2824 -msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." +#: ../../../CHANGELOG.md:2825 +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:2827 -msgid "2022-01-06" +msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2829 -msgid "Cinny support" +#: ../../../CHANGELOG.md:2830 +msgid "2022-04-21" msgstr "" -#: ../../../CHANGELOG.md:2831 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." +#: ../../../CHANGELOG.md:2832 +msgid "matrix-registration-bot support" msgstr "" -#: ../../../CHANGELOG.md:2833 -msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." +#: ../../../CHANGELOG.md:2834 +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:2835 -msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." +#: ../../../CHANGELOG.md:2836 +msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2838 -msgid "2021-12-22" +#: ../../../CHANGELOG.md:2839 +msgid "2022-04-19" msgstr "" -#: ../../../CHANGELOG.md:2840 -msgid "Twitter bridging support via mautrix-twitter" +#: ../../../CHANGELOG.md:2841 +msgid "BorgBackup support" msgstr "" -#: ../../../CHANGELOG.md:2842 -msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." +#: ../../../CHANGELOG.md:2843 +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:2845 -msgid "2021-12-14" +msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2847 -msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" msgstr "" #: ../../../CHANGELOG.md:2849 -msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." +msgid "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:2851 -msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." +msgid "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:2854 -msgid "2021-11-11" +#: ../../../CHANGELOG.md:2853 +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:2856 -msgid "Dropped support for Postgres v9.6" +#: ../../../CHANGELOG.md:2855 +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:2857 +msgid "Pull the latest playbook changes" msgstr "" #: ../../../CHANGELOG.md:2858 -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." +msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgstr "" + +#: ../../../CHANGELOG.md:2859 +msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" msgstr "" #: ../../../CHANGELOG.md:2860 -msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." +msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2861 +msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2862 +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:2863 -msgid "2021-10-23" +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:2865 -msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" +#: ../../../CHANGELOG.md:2866 +msgid "2022-04-14" msgstr "" -#: ../../../CHANGELOG.md:2867 -msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." +#: ../../../CHANGELOG.md:2868 +msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" msgstr "" -#: ../../../CHANGELOG.md:2869 -msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." +#: ../../../CHANGELOG.md:2870 +msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." msgstr "" #: ../../../CHANGELOG.md:2872 -msgid "2021-08-23" +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:2874 -msgid "LinkedIn bridging support via beeper-linkedin" +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:2876 -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." +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:2878 -msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +#: ../../../CHANGELOG.md:2879 +msgid "2022-03-17" msgstr "" -#: ../../../CHANGELOG.md:2880 -msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." +#: ../../../CHANGELOG.md:2881 +msgid "(Compatibility Break) ma1sd identity server no longer installed by default" msgstr "" #: ../../../CHANGELOG.md:2883 -msgid "2021-08-20" +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:2885 -msgid "Sygnal upgraded — ARM support and no longer requires a database" +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:2887 -msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." +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:2889 -msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." -msgstr "" - -#: ../../../CHANGELOG.md:2891 -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:2893 -msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." +msgid "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:2896 -msgid "2021-05-21" +msgid "2022-02-12" msgstr "" #: ../../../CHANGELOG.md:2898 -msgid "Hydrogen support" +msgid "matrix_encryption_disabler support" msgstr "" #: ../../../CHANGELOG.md:2900 -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." +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:2902 -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." +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:2904 -msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." +#: ../../../CHANGELOG.md:2905 +msgid "2022-02-01" msgstr "" #: ../../../CHANGELOG.md:2907 -msgid "2021-05-19" +msgid "matrix-hookshot bridging support" msgstr "" #: ../../../CHANGELOG.md:2909 -msgid "Heisenbridge support" +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:2911 -msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." +#: ../../../CHANGELOG.md:2912 +msgid "2022-01-31" msgstr "" -#: ../../../CHANGELOG.md:2913 -msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." +#: ../../../CHANGELOG.md:2914 +msgid "ARM support for matrix-corporal" msgstr "" #: ../../../CHANGELOG.md:2916 -msgid "2021-04-16" +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:2918 -msgid "Disabling TLSv1 and TLSv1.1 for coturn" +#: ../../../CHANGELOG.md:2919 +msgid "2022-01-07" msgstr "" -#: ../../../CHANGELOG.md:2920 -msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." +#: ../../../CHANGELOG.md:2921 +msgid "Dendrite support" msgstr "" -#: ../../../CHANGELOG.md:2922 -msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" +#: ../../../CHANGELOG.md:2923 +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:2930 -msgid "2021-04-05" +#: ../../../CHANGELOG.md:2925 +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:2932 -msgid "Automated local Postgres backup support" +#: ../../../CHANGELOG.md:2927 +msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" msgstr "" -#: ../../../CHANGELOG.md:2934 -msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." +#: ../../../CHANGELOG.md:2929 +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:2936 -msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." +#: ../../../CHANGELOG.md:2931 +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:2939 -msgid "2021-04-03" +#: ../../../CHANGELOG.md:2933 +msgid "Adapting the configuration for existing Synapse installations" msgstr "" -#: ../../../CHANGELOG.md:2941 -msgid "Mjolnir moderation tool (bot) support" +#: ../../../CHANGELOG.md:2935 +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:2943 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." +#: ../../../CHANGELOG.md:2937 +msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" msgstr "" -#: ../../../CHANGELOG.md:2945 -msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." +#: ../../../CHANGELOG.md:2949 +msgid "Trying out Dendrite" msgstr "" -#: ../../../CHANGELOG.md:2948 -msgid "2021-03-20" +#: ../../../CHANGELOG.md:2951 +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:2950 -msgid "Sygnal push gateway support" -msgstr "" - -#: ../../../CHANGELOG.md:2952 -msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." -msgstr "" - -#: ../../../CHANGELOG.md:2954 -msgid "This is only useful to people who develop/build their own Matrix client applications." -msgstr "" - -#: ../../../CHANGELOG.md:2956 -msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +#: ../../../CHANGELOG.md:2957 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." msgstr "" #: ../../../CHANGELOG.md:2959 -msgid "2021-03-16" +msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" msgstr "" #: ../../../CHANGELOG.md:2961 -msgid "Go-NEB support" +msgid "Honoroit bot support" msgstr "" #: ../../../CHANGELOG.md:2963 -msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." +msgid "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:2965 -msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." +msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2968 -msgid "2021-02-19" +msgid "2022-01-06" msgstr "" #: ../../../CHANGELOG.md:2970 -msgid "GroupMe bridging support via mx-puppet-groupme" +msgid "Cinny support" msgstr "" #: ../../../CHANGELOG.md:2972 -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)." +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:2974 -msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +msgid "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:2976 -msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." +msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." msgstr "" -#: ../../../CHANGELOG.md:2978 -msgid "Mautrix Instagram bridging support" +#: ../../../CHANGELOG.md:2979 +msgid "2021-12-22" msgstr "" -#: ../../../CHANGELOG.md:2980 -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)." +#: ../../../CHANGELOG.md:2981 +msgid "Twitter bridging support via mautrix-twitter" msgstr "" -#: ../../../CHANGELOG.md:2982 -msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2984 -msgid "Synapse workers support" +#: ../../../CHANGELOG.md:2983 +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:2986 -msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." +msgid "2021-12-14" msgstr "" #: ../../../CHANGELOG.md:2988 -msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." +msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" msgstr "" #: ../../../CHANGELOG.md:2990 -msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." +msgid "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:2992 -msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." +msgid "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:2994 -msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." +#: ../../../CHANGELOG.md:2995 +msgid "2021-11-11" msgstr "" #: ../../../CHANGELOG.md:2997 -msgid "2021-02-12" +msgid "Dropped support for Postgres v9.6" msgstr "" #: ../../../CHANGELOG.md:2999 -msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" +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:3001 -msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: the [Prometheus](https://prometheus.io) time-series database server, the Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter, and the [Grafana](https://grafana.com/) web UI." +msgid "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:3003 -msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." +#: ../../../CHANGELOG.md:3004 +msgid "2021-10-23" msgstr "" -#: ../../../CHANGELOG.md:3005 -msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." +#: ../../../CHANGELOG.md:3006 +msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" msgstr "" #: ../../../CHANGELOG.md:3008 -msgid "2021-01-31" +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:3010 -msgid "Etherpad support" +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:3012 -msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." +#: ../../../CHANGELOG.md:3013 +msgid "2021-08-23" msgstr "" -#: ../../../CHANGELOG.md:3014 -msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." +#: ../../../CHANGELOG.md:3015 +msgid "LinkedIn bridging support via beeper-linkedin" msgstr "" #: ../../../CHANGELOG.md:3017 -msgid "2021-01-22" +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:3019 -msgid "(Breaking Change) Postgres changes that require manual intervention" +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:3021 -msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." +msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." msgstr "" -#: ../../../CHANGELOG.md:3023 -msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." +#: ../../../CHANGELOG.md:3024 +msgid "2021-08-20" msgstr "" -#: ../../../CHANGELOG.md:3025 -msgid "Why?" -msgstr "" - -#: ../../../CHANGELOG.md:3027 -msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" +#: ../../../CHANGELOG.md:3026 +msgid "Sygnal upgraded — ARM support and no longer requires a database" msgstr "" #: ../../../CHANGELOG.md:3028 -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:3029 -msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." msgstr "" #: ../../../CHANGELOG.md:3030 -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:3031 -msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." +msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." msgstr "" #: ../../../CHANGELOG.md:3032 -msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." +msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." msgstr "" #: ../../../CHANGELOG.md:3034 -msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." +msgid "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:3036 -msgid "What has really changed?" -msgstr "" - -#: ../../../CHANGELOG.md:3038 -msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +#: ../../../CHANGELOG.md:3037 +msgid "2021-05-21" msgstr "" #: ../../../CHANGELOG.md:3039 -msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" -msgstr "" - -#: ../../../CHANGELOG.md:3040 -msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" +msgid "Hydrogen support" msgstr "" #: ../../../CHANGELOG.md:3041 -msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +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:3043 -msgid "What do I do if I'm using the integrated Postgres server (default)?" +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:3045 -msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." +msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." msgstr "" -#: ../../../CHANGELOG.md:3047 -msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" +#: ../../../CHANGELOG.md:3048 +msgid "2021-05-19" msgstr "" -#: ../../../CHANGELOG.md:3049 -msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." +#: ../../../CHANGELOG.md:3050 +msgid "Heisenbridge support" msgstr "" -#: ../../../CHANGELOG.md:3051 -msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" +#: ../../../CHANGELOG.md:3052 +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:3053 -msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" +#: ../../../CHANGELOG.md:3054 +msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." msgstr "" -#: ../../../CHANGELOG.md:3058 -#: ../../../CHANGELOG.md:3070 -msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +#: ../../../CHANGELOG.md:3057 +msgid "2021-04-16" msgstr "" -#: ../../../CHANGELOG.md:3060 -msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +#: ../../../CHANGELOG.md:3059 +msgid "Disabling TLSv1 and TLSv1.1 for coturn" msgstr "" #: ../../../CHANGELOG.md:3061 -msgid "Log in to the server via SSH. The next commands will be performed there." -msgstr "" - -#: ../../../CHANGELOG.md:3062 -msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +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:3063 -msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" +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:3064 -msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" +#: ../../../CHANGELOG.md:3071 +msgid "2021-04-05" msgstr "" -#: ../../../CHANGELOG.md:3072 -msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" +#: ../../../CHANGELOG.md:3073 +msgid "Automated local Postgres backup support" msgstr "" -#: ../../../CHANGELOG.md:3090 -msgid "You may need to press *Enter* after pasting the lines above." +#: ../../../CHANGELOG.md:3075 +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:3092 -msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" +#: ../../../CHANGELOG.md:3077 +msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." msgstr "" -#: ../../../CHANGELOG.md:3094 -msgid "What do I do if I'm using an external Postgres server?" +#: ../../../CHANGELOG.md:3080 +msgid "2021-04-03" msgstr "" -#: ../../../CHANGELOG.md:3096 -msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." +#: ../../../CHANGELOG.md:3082 +msgid "Mjolnir moderation tool (bot) support" msgstr "" -#: ../../../CHANGELOG.md:3098 -msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." +#: ../../../CHANGELOG.md:3084 +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:3101 -msgid "2021-01-20" +#: ../../../CHANGELOG.md:3086 +msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." msgstr "" -#: ../../../CHANGELOG.md:3103 -msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" +#: ../../../CHANGELOG.md:3089 +msgid "2021-03-20" msgstr "" -#: ../../../CHANGELOG.md:3105 -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." +#: ../../../CHANGELOG.md:3091 +msgid "Sygnal push gateway support" msgstr "" -#: ../../../CHANGELOG.md:3107 -msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." +#: ../../../CHANGELOG.md:3093 +msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." +msgstr "" + +#: ../../../CHANGELOG.md:3095 +msgid "This is only useful to people who develop/build their own Matrix client applications." +msgstr "" + +#: ../../../CHANGELOG.md:3097 +msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +msgstr "" + +#: ../../../CHANGELOG.md:3100 +msgid "2021-03-16" +msgstr "" + +#: ../../../CHANGELOG.md:3102 +msgid "Go-NEB support" +msgstr "" + +#: ../../../CHANGELOG.md:3104 +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:3106 +msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." msgstr "" #: ../../../CHANGELOG.md:3109 -msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." +msgid "2021-02-19" msgstr "" #: ../../../CHANGELOG.md:3111 -msgid "Whether this change requires your intervention depends mostly on:" -msgstr "" - -#: ../../../CHANGELOG.md:3112 -msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." +msgid "GroupMe bridging support via mx-puppet-groupme" msgstr "" #: ../../../CHANGELOG.md:3113 -msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." +msgid "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:3115 -msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." +msgid "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:3117 -msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" +msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." msgstr "" #: ../../../CHANGELOG.md:3119 -msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." +msgid "Mautrix Instagram bridging support" msgstr "" #: ../../../CHANGELOG.md:3121 -msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." +msgid "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:3123 -msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." +msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." msgstr "" #: ../../../CHANGELOG.md:3125 -msgid "Upgrade path for people running an external Postgres server" +msgid "Synapse workers support" msgstr "" #: ../../../CHANGELOG.md:3127 -msgid "For people using the internal Postgres server (the default for the playbook):" -msgstr "" - -#: ../../../CHANGELOG.md:3128 -msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" +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:3129 -msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" +msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." msgstr "" -#: ../../../CHANGELOG.md:3130 -msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" +#: ../../../CHANGELOG.md:3131 +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:3132 -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." +#: ../../../CHANGELOG.md:3133 +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:3134 -msgid "You have 3 ways to proceed:" -msgstr "" - -#: ../../../CHANGELOG.md:3136 -msgid "contribute to the playbook to make this possible (difficult)" -msgstr "" - -#: ../../../CHANGELOG.md:3137 -msgid "or, do the migration \"steps\" manually:" +#: ../../../CHANGELOG.md:3135 +msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." msgstr "" #: ../../../CHANGELOG.md:3138 -msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" -msgstr "" - -#: ../../../CHANGELOG.md:3139 -msgid "create a new `matrix_mautrix_facebook` Postgres database for it" +msgid "2021-02-12" msgstr "" #: ../../../CHANGELOG.md:3140 -msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" -msgstr "" - -#: ../../../CHANGELOG.md:3141 -msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" +msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" msgstr "" #: ../../../CHANGELOG.md:3142 -msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" -msgstr "" - -#: ../../../CHANGELOG.md:3143 -msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" +msgid "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:3144 -msgid "send a `login` message to the Facebook bridge bot again" +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:3145 -msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" -msgstr "" - -#: ../../../CHANGELOG.md:3147 -msgid "Staying on SQLite for a little longer (temporary solution)" +#: ../../../CHANGELOG.md:3146 +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:3149 -msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" +msgid "2021-01-31" msgstr "" -#: ../../../CHANGELOG.md:3159 -msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." +#: ../../../CHANGELOG.md:3151 +msgid "Etherpad support" +msgstr "" + +#: ../../../CHANGELOG.md:3153 +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:3155 +msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3158 +msgid "2021-01-22" +msgstr "" + +#: ../../../CHANGELOG.md:3160 +msgid "(Breaking Change) Postgres changes that require manual intervention" msgstr "" #: ../../../CHANGELOG.md:3162 -msgid "2021-01-17" +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:3164 -msgid "matrix-corporal goes 2.0" +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:3166 -msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." +msgid "Why?" msgstr "" #: ../../../CHANGELOG.md:3168 -msgid "No manual intervention is required in the common case." +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:3169 +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:3170 -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)." +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:3171 +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:3172 +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:3173 -msgid "2021-01-14" +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:3175 -msgid "Moving from cronjobs to systemd timers" +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:3177 -msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." +msgid "What has really changed?" msgstr "" #: ../../../CHANGELOG.md:3179 -msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." +msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +msgstr "" + +#: ../../../CHANGELOG.md:3180 +msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" msgstr "" #: ../../../CHANGELOG.md:3181 -msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." +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:3182 +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:3184 -msgid "2021-01-08" +msgid "What do I do if I'm using the integrated Postgres server (default)?" msgstr "" #: ../../../CHANGELOG.md:3186 -msgid "(Breaking Change) New SSL configuration" +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:3188 -msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." +msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" msgstr "" #: ../../../CHANGELOG.md:3190 -msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." +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:3192 -msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." +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:3194 -msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." +msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" msgstr "" -#: ../../../CHANGELOG.md:3196 -msgid "To revert to the old behaviour, set the following variables:" +#: ../../../CHANGELOG.md:3199 +#: ../../../CHANGELOG.md:3211 +msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +msgstr "" + +#: ../../../CHANGELOG.md:3201 +msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +msgstr "" + +#: ../../../CHANGELOG.md:3202 +msgid "Log in to the server via SSH. The next commands will be performed there." msgstr "" #: ../../../CHANGELOG.md:3203 -msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." +msgid "Start the Postgres database server: `systemctl start matrix-postgres`" msgstr "" -#: ../../../CHANGELOG.md:3206 -msgid "2021-01-03" +#: ../../../CHANGELOG.md:3204 +msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" msgstr "" -#: ../../../CHANGELOG.md:3208 -msgid "Signal bridging support via mautrix-signal" +#: ../../../CHANGELOG.md:3205 +msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" msgstr "" -#: ../../../CHANGELOG.md:3210 -msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3213 +msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" msgstr "" -#: ../../../CHANGELOG.md:3212 -msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." +#: ../../../CHANGELOG.md:3231 +msgid "You may need to press *Enter* after pasting the lines above." msgstr "" -#: ../../../CHANGELOG.md:3215 -msgid "2020-12-23" +#: ../../../CHANGELOG.md:3233 +msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" msgstr "" -#: ../../../CHANGELOG.md:3217 -msgid "The big move to all-on-Postgres (potentially dangerous)" +#: ../../../CHANGELOG.md:3235 +msgid "What do I do if I'm using an external Postgres server?" msgstr "" -#: ../../../CHANGELOG.md:3219 -msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." +#: ../../../CHANGELOG.md:3237 +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:3221 -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:3223 -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:3225 -msgid "Moving all services to Postgres brings a few **benefits** to us:" -msgstr "" - -#: ../../../CHANGELOG.md:3227 -msgid "**improved performance**" -msgstr "" - -#: ../../../CHANGELOG.md:3228 -msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." -msgstr "" - -#: ../../../CHANGELOG.md:3229 -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:3230 -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:3232 -msgid "Key takeway" -msgstr "" - -#: ../../../CHANGELOG.md:3234 -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:3236 -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:3238 -msgid "Opting-out of the Postgres migration" -msgstr "" - -#: ../../../CHANGELOG.md:3240 -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." +#: ../../../CHANGELOG.md:3239 +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:3242 -msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." +msgid "2021-01-20" msgstr "" #: ../../../CHANGELOG.md:3244 -msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" msgstr "" #: ../../../CHANGELOG.md:3246 -msgid "Going back to SQLite/nedb if things went wrong" +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:3248 -msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" +msgid "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:3250 -msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" -msgstr "" - -#: ../../../CHANGELOG.md:3251 -msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" +msgid "**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:3252 -msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "Whether this change requires your intervention depends mostly on:" msgstr "" #: ../../../CHANGELOG.md:3253 -msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" +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:3254 -msgid "[get in touch](README.md#support) with us" +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:3256 -msgid "2020-12-11" +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:3258 -msgid "synapse-janitor support removed" +msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" msgstr "" #: ../../../CHANGELOG.md:3260 -msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." +msgid "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:3262 -msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." +msgid "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:3264 -msgid "Docker 20.10 is here" +msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." msgstr "" #: ../../../CHANGELOG.md:3266 -msgid "(No need to do anything special in relation to this. Just something to keep in mind)" +msgid "Upgrade path for people running an external Postgres server" msgstr "" #: ../../../CHANGELOG.md:3268 -msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." +msgid "For people using the internal Postgres server (the default for the playbook):" +msgstr "" + +#: ../../../CHANGELOG.md:3269 +msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" msgstr "" #: ../../../CHANGELOG.md:3270 -msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." +msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" +msgstr "" + +#: ../../../CHANGELOG.md:3271 +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:3273 -msgid "2020-12-08" +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:3275 -msgid "openid APIs exposed by default on the federation port when federation disabled" +msgid "You have 3 ways to proceed:" msgstr "" #: ../../../CHANGELOG.md:3277 -msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." +msgid "contribute to the playbook to make this possible (difficult)" +msgstr "" + +#: ../../../CHANGELOG.md:3278 +msgid "or, do the migration \"steps\" manually:" msgstr "" #: ../../../CHANGELOG.md:3279 -msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." +msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" +msgstr "" + +#: ../../../CHANGELOG.md:3280 +msgid "create a new `matrix_mautrix_facebook` Postgres database for it" msgstr "" #: ../../../CHANGELOG.md:3281 -msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." +msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" +msgstr "" + +#: ../../../CHANGELOG.md:3282 +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:3283 +msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" msgstr "" #: ../../../CHANGELOG.md:3284 -msgid "2020-11-27" +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:3285 +msgid "send a `login` message to the Facebook bridge bot again" msgstr "" #: ../../../CHANGELOG.md:3286 -msgid "Recent Jitsi updates may require configuration changes" +msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" msgstr "" #: ../../../CHANGELOG.md:3288 -msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." +msgid "Staying on SQLite for a little longer (temporary solution)" msgstr "" #: ../../../CHANGELOG.md:3290 -msgid "**If you use our default Jitsi settings, you won't have to do anything.**" +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:3292 -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:3294 -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:3296 -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:3299 -msgid "2020-11-23" -msgstr "" - -#: ../../../CHANGELOG.md:3301 -#: ../../../CHANGELOG.md:3309 -msgid "Breaking change matrix-sms-bridge" +#: ../../../CHANGELOG.md:3300 +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:3303 -msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." +msgid "2021-01-17" msgstr "" #: ../../../CHANGELOG.md:3305 -msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." +msgid "matrix-corporal goes 2.0" msgstr "" #: ../../../CHANGELOG.md:3307 -msgid "2020-11-13" +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:3309 +msgid "No manual intervention is required in the common case." msgstr "" #: ../../../CHANGELOG.md:3311 -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:3313 -msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" +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:3314 -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:3315 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" +msgid "2021-01-14" msgstr "" #: ../../../CHANGELOG.md:3316 -msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." -msgstr "" - -#: ../../../CHANGELOG.md:3317 -msgid "Remove the var from the first step." +msgid "Moving from cronjobs to systemd timers" msgstr "" #: ../../../CHANGELOG.md:3318 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." +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:3320 -msgid "2020-11-10" +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:3322 -msgid "Dynamic DNS support" +msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." msgstr "" -#: ../../../CHANGELOG.md:3324 -msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." +#: ../../../CHANGELOG.md:3325 +msgid "2021-01-08" msgstr "" -#: ../../../CHANGELOG.md:3326 -msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." +#: ../../../CHANGELOG.md:3327 +msgid "(Breaking Change) New SSL configuration" msgstr "" #: ../../../CHANGELOG.md:3329 -msgid "2020-10-28" +msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." msgstr "" #: ../../../CHANGELOG.md:3331 -msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" +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:3333 -msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." +msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." msgstr "" #: ../../../CHANGELOG.md:3335 -msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." +msgid "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:3337 -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:3339 -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:3342 -msgid "2020-10-26" +msgid "To revert to the old behaviour, set the following variables:" msgstr "" #: ../../../CHANGELOG.md:3344 -msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" +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:3346 -msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." +#: ../../../CHANGELOG.md:3347 +msgid "2021-01-03" msgstr "" -#: ../../../CHANGELOG.md:3348 -msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." +#: ../../../CHANGELOG.md:3349 +msgid "Signal bridging support via mautrix-signal" msgstr "" -#: ../../../CHANGELOG.md:3350 -msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" +#: ../../../CHANGELOG.md:3351 +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:3357 -msgid "2020-10-02" +#: ../../../CHANGELOG.md:3353 +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:3359 -msgid "Minimum Ansible version raised to v2.7.0" +#: ../../../CHANGELOG.md:3356 +msgid "2020-12-23" msgstr "" -#: ../../../CHANGELOG.md:3361 -msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." +#: ../../../CHANGELOG.md:3358 +msgid "The big move to all-on-Postgres (potentially dangerous)" msgstr "" -#: ../../../CHANGELOG.md:3363 -msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." +#: ../../../CHANGELOG.md:3360 +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:3365 -msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." +#: ../../../CHANGELOG.md:3362 +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:3364 +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:3366 +msgid "Moving all services to Postgres brings a few **benefits** to us:" msgstr "" #: ../../../CHANGELOG.md:3368 -msgid "2020-10-01" +msgid "**improved performance**" +msgstr "" + +#: ../../../CHANGELOG.md:3369 +msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." msgstr "" #: ../../../CHANGELOG.md:3370 -msgid "Postgres 13 support" +msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." msgstr "" -#: ../../../CHANGELOG.md:3372 -msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." +#: ../../../CHANGELOG.md:3371 +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:3374 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +#: ../../../CHANGELOG.md:3373 +msgid "Key takeway" msgstr "" -#: ../../../CHANGELOG.md:3376 -msgid "2020-09-01" +#: ../../../CHANGELOG.md:3375 +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:3378 -msgid "matrix-registration support" +#: ../../../CHANGELOG.md:3377 +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:3380 -msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." +#: ../../../CHANGELOG.md:3379 +msgid "Opting-out of the Postgres migration" msgstr "" -#: ../../../CHANGELOG.md:3382 -msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." +#: ../../../CHANGELOG.md:3381 +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:3383 +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:3385 -msgid "2020-08-21" +msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" #: ../../../CHANGELOG.md:3387 -msgid "rust-synapse-compress-state support" +msgid "Going back to SQLite/nedb if things went wrong" msgstr "" #: ../../../CHANGELOG.md:3389 -msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." +msgid "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:3391 -msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." +msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgstr "" + +#: ../../../CHANGELOG.md:3392 +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:3393 +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:3394 -msgid "2020-07-22" +msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" msgstr "" -#: ../../../CHANGELOG.md:3396 -msgid "Synapse Admin support" +#: ../../../CHANGELOG.md:3395 +msgid "[get in touch](README.md#support) with us" msgstr "" -#: ../../../CHANGELOG.md:3398 -msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +#: ../../../CHANGELOG.md:3397 +msgid "2020-12-11" msgstr "" -#: ../../../CHANGELOG.md:3400 -msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." +#: ../../../CHANGELOG.md:3399 +msgid "synapse-janitor support removed" +msgstr "" + +#: ../../../CHANGELOG.md:3401 +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:3403 -msgid "2020-07-20" +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:3405 -msgid "matrix-reminder-bot support" +msgid "Docker 20.10 is here" msgstr "" #: ../../../CHANGELOG.md:3407 -msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." +msgid "(No need to do anything special in relation to this. Just something to keep in mind)" msgstr "" #: ../../../CHANGELOG.md:3409 -msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." +msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." msgstr "" -#: ../../../CHANGELOG.md:3412 -msgid "2020-07-17" +#: ../../../CHANGELOG.md:3411 +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:3414 -msgid "(Compatibility Break) Riot is now Element" +msgid "2020-12-08" msgstr "" #: ../../../CHANGELOG.md:3416 -msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." +msgid "openid APIs exposed by default on the federation port when federation disabled" msgstr "" #: ../../../CHANGELOG.md:3418 -msgid "The playbook follows suit. Existing installations have a few options for how to handle this." +msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." msgstr "" #: ../../../CHANGELOG.md:3420 -msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." +msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." msgstr "" -#: ../../../CHANGELOG.md:3423 -msgid "2020-07-03" +#: ../../../CHANGELOG.md:3422 +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:3425 -msgid "Steam bridging support via mx-puppet-steam" +msgid "2020-11-27" msgstr "" #: ../../../CHANGELOG.md:3427 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." +msgid "Recent Jitsi updates may require configuration changes" msgstr "" -#: ../../../CHANGELOG.md:3430 -msgid "2020-07-01" +#: ../../../CHANGELOG.md:3429 +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:3432 -msgid "Discord bridging support via mx-puppet-discord" +#: ../../../CHANGELOG.md:3431 +msgid "**If you use our default Jitsi settings, you won't have to do anything.**" msgstr "" -#: ../../../CHANGELOG.md:3434 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3433 +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:3436 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." +#: ../../../CHANGELOG.md:3435 +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:3439 -msgid "2020-06-30" +#: ../../../CHANGELOG.md:3437 +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:3441 -msgid "Instagram and Twitter bridging support" +#: ../../../CHANGELOG.md:3440 +msgid "2020-11-23" msgstr "" -#: ../../../CHANGELOG.md:3443 -msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3442 +#: ../../../CHANGELOG.md:3450 +msgid "Breaking change matrix-sms-bridge" msgstr "" -#: ../../../CHANGELOG.md:3445 -msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3444 +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:3446 +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:3448 -msgid "2020-06-28" -msgstr "" - -#: ../../../CHANGELOG.md:3450 -msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" +msgid "2020-11-13" msgstr "" #: ../../../CHANGELOG.md:3452 -#: ../../../CHANGELOG.md:3481 -msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." +msgid "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:3454 -msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." +msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" +msgstr "" + +#: ../../../CHANGELOG.md:3455 +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:3456 -msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" +msgstr "" + +#: ../../../CHANGELOG.md:3457 +msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." msgstr "" #: ../../../CHANGELOG.md:3458 -msgid "As always, re-running the playbook is enough to get the updated bits." +msgid "Remove the var from the first step." msgstr "" -#: ../../../CHANGELOG.md:3460 -msgid "2020-06-11" +#: ../../../CHANGELOG.md:3459 +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." msgstr "" -#: ../../../CHANGELOG.md:3462 -msgid "SMS bridging requires db reset" +#: ../../../CHANGELOG.md:3461 +msgid "2020-11-10" msgstr "" -#: ../../../CHANGELOG.md:3464 -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`." +#: ../../../CHANGELOG.md:3463 +msgid "Dynamic DNS support" msgstr "" -#: ../../../CHANGELOG.md:3466 -msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." +#: ../../../CHANGELOG.md:3465 +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:3468 -msgid "2020-06-05" +#: ../../../CHANGELOG.md:3467 +msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." msgstr "" #: ../../../CHANGELOG.md:3470 -msgid "SMS bridging support" +msgid "2020-10-28" msgstr "" #: ../../../CHANGELOG.md:3472 -msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." +msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" msgstr "" #: ../../../CHANGELOG.md:3474 -msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." +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:3477 -msgid "2020-05-19" +#: ../../../CHANGELOG.md:3476 +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:3479 -msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" +#: ../../../CHANGELOG.md:3478 +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:3480 +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:3483 -msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." +msgid "2020-10-26" msgstr "" #: ../../../CHANGELOG.md:3485 -msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." +msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" msgstr "" #: ../../../CHANGELOG.md:3487 -msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" +msgid "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:3490 -msgid "2020-04-28" +#: ../../../CHANGELOG.md:3489 +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:3492 -msgid "Newer IRC bridge (with potential breaking change)" +#: ../../../CHANGELOG.md:3491 +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:3494 -msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it according to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." +#: ../../../CHANGELOG.md:3498 +msgid "2020-10-02" msgstr "" -#: ../../../CHANGELOG.md:3503 -msgid "2020-04-23" +#: ../../../CHANGELOG.md:3500 +msgid "Minimum Ansible version raised to v2.7.0" msgstr "" -#: ../../../CHANGELOG.md:3505 -#: ../../../CHANGELOG.md:3736 -msgid "Slack bridging support" +#: ../../../CHANGELOG.md:3502 +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:3507 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." +#: ../../../CHANGELOG.md:3504 +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:3506 +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:3509 -msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." +msgid "2020-10-01" msgstr "" -#: ../../../CHANGELOG.md:3512 -msgid "2020-04-09" +#: ../../../CHANGELOG.md:3511 +msgid "Postgres 13 support" msgstr "" -#: ../../../CHANGELOG.md:3514 -msgid "Skype bridging support" +#: ../../../CHANGELOG.md:3513 +msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." msgstr "" -#: ../../../CHANGELOG.md:3516 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." +#: ../../../CHANGELOG.md:3515 +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:3518 -msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3517 +msgid "2020-09-01" +msgstr "" + +#: ../../../CHANGELOG.md:3519 +msgid "matrix-registration support" msgstr "" #: ../../../CHANGELOG.md:3521 -msgid "2020-04-05" +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:3523 -msgid "Private Jitsi support" +msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3525 -msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." +#: ../../../CHANGELOG.md:3526 +msgid "2020-08-21" msgstr "" -#: ../../../CHANGELOG.md:3527 -msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." +#: ../../../CHANGELOG.md:3528 +msgid "rust-synapse-compress-state support" msgstr "" -#: ../../../CHANGELOG.md:3529 -msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." +#: ../../../CHANGELOG.md:3530 +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:3532 -msgid "2020-04-03" +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:3534 -msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" +#: ../../../CHANGELOG.md:3535 +msgid "2020-07-22" msgstr "" -#: ../../../CHANGELOG.md:3536 -msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." +#: ../../../CHANGELOG.md:3537 +msgid "Synapse Admin support" msgstr "" -#: ../../../CHANGELOG.md:3538 -msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." +#: ../../../CHANGELOG.md:3539 +msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." msgstr "" -#: ../../../CHANGELOG.md:3540 -msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." +#: ../../../CHANGELOG.md:3541 +msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:3543 -msgid "2020-03-29" +#: ../../../CHANGELOG.md:3544 +msgid "2020-07-20" msgstr "" -#: ../../../CHANGELOG.md:3545 -msgid "Archlinux support" +#: ../../../CHANGELOG.md:3546 +msgid "matrix-reminder-bot support" msgstr "" -#: ../../../CHANGELOG.md:3547 -msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." +#: ../../../CHANGELOG.md:3548 +msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." msgstr "" #: ../../../CHANGELOG.md:3550 -msgid "2020-03-24" +msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:3552 -msgid "Jitsi support" +#: ../../../CHANGELOG.md:3553 +msgid "2020-07-17" msgstr "" -#: ../../../CHANGELOG.md:3554 -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)." +#: ../../../CHANGELOG.md:3555 +msgid "(Compatibility Break) Riot is now Element" msgstr "" -#: ../../../CHANGELOG.md:3556 -msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." +#: ../../../CHANGELOG.md:3557 +msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." msgstr "" #: ../../../CHANGELOG.md:3559 -msgid "2020-03-15" +msgid "The playbook follows suit. Existing installations have a few options for how to handle this." msgstr "" #: ../../../CHANGELOG.md:3561 -msgid "Raspberry Pi support" +msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." msgstr "" -#: ../../../CHANGELOG.md:3563 -msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." +#: ../../../CHANGELOG.md:3564 +msgid "2020-07-03" msgstr "" -#: ../../../CHANGELOG.md:3565 -msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." +#: ../../../CHANGELOG.md:3566 +msgid "Steam bridging support via mx-puppet-steam" msgstr "" #: ../../../CHANGELOG.md:3568 -msgid "2020-02-26" +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:3570 -msgid "Riot-web themes are here" +#: ../../../CHANGELOG.md:3571 +msgid "2020-07-01" msgstr "" -#: ../../../CHANGELOG.md:3572 -msgid "The playbook now makes it easy to install custom riot-web themes." +#: ../../../CHANGELOG.md:3573 +msgid "Discord bridging support via mx-puppet-discord" msgstr "" -#: ../../../CHANGELOG.md:3574 -msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." +#: ../../../CHANGELOG.md:3575 +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:3577 -msgid "2020-02-24" +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:3579 -msgid "Customize the server name in Riot's login page" +#: ../../../CHANGELOG.md:3580 +msgid "2020-06-30" msgstr "" -#: ../../../CHANGELOG.md:3581 -msgid "You can now customize the server name string that Riot-web displays in its login page." +#: ../../../CHANGELOG.md:3582 +msgid "Instagram and Twitter bridging support" msgstr "" -#: ../../../CHANGELOG.md:3583 -msgid "These playbook variables, with these default values, have been added:" +#: ../../../CHANGELOG.md:3584 +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:3586 +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:3589 -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\"." +msgid "2020-06-28" msgstr "" #: ../../../CHANGELOG.md:3591 -msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." +msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" msgstr "" -#: ../../../CHANGELOG.md:3594 -msgid "2020-01-30" +#: ../../../CHANGELOG.md:3593 +#: ../../../CHANGELOG.md:3622 +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:3596 -msgid "Disabling TLSv1.1" +#: ../../../CHANGELOG.md:3595 +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:3598 -msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." +#: ../../../CHANGELOG.md:3597 +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:3600 -msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" +#: ../../../CHANGELOG.md:3599 +msgid "As always, re-running the playbook is enough to get the updated bits." +msgstr "" + +#: ../../../CHANGELOG.md:3601 +msgid "2020-06-11" msgstr "" #: ../../../CHANGELOG.md:3603 -msgid "2020-01-21" +msgid "SMS bridging requires db reset" msgstr "" #: ../../../CHANGELOG.md:3605 -msgid "Postgres collation changes (action required!)" +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:3607 -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." +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:3609 -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." +msgid "2020-06-05" msgstr "" #: ../../../CHANGELOG.md:3611 -msgid "To avoid future problems, we recommend that you run the following command:" +msgid "SMS bridging support" msgstr "" -#: ../../../CHANGELOG.md:3617 -msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." +#: ../../../CHANGELOG.md:3613 +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:3615 +msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." +msgstr "" + +#: ../../../CHANGELOG.md:3618 +msgid "2020-05-19" msgstr "" #: ../../../CHANGELOG.md:3620 -msgid "2020-01-14" -msgstr "" - -#: ../../../CHANGELOG.md:3622 -msgid "Added support for Appservice Webhooks" +msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" msgstr "" #: ../../../CHANGELOG.md:3624 -msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." +msgid "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:3626 -msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." +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:3629 -msgid "2020-01-12" +#: ../../../CHANGELOG.md:3628 +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:3631 -msgid "Added support for automatic Double Puppeting for all Mautrix bridges" +msgid "2020-04-28" msgstr "" #: ../../../CHANGELOG.md:3633 -msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." +msgid "Newer IRC bridge (with potential breaking change)" msgstr "" #: ../../../CHANGELOG.md:3635 -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:3637 -msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." -msgstr "" - -#: ../../../CHANGELOG.md:3640 -msgid "2019-12-06" -msgstr "" - -#: ../../../CHANGELOG.md:3642 -msgid "Added support for an alternative method for using another webserver" +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:3644 -msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." +msgid "2020-04-23" msgstr "" #: ../../../CHANGELOG.md:3646 -msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." +#: ../../../CHANGELOG.md:3877 +msgid "Slack bridging support" msgstr "" #: ../../../CHANGELOG.md:3648 -msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." +msgid "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:3651 -msgid "2019-11-10" +#: ../../../CHANGELOG.md:3650 +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:3653 -msgid "Tightened security around room directory publishing" +msgid "2020-04-09" msgstr "" #: ../../../CHANGELOG.md:3655 -msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." +msgid "Skype bridging support" msgstr "" #: ../../../CHANGELOG.md:3657 -msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." +msgid "Thanks to [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:3659 -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." +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:3662 -msgid "2019-10-05" +msgid "2020-04-05" msgstr "" #: ../../../CHANGELOG.md:3664 -msgid "Improved Postgres upgrading/importing" +msgid "Private Jitsi support" msgstr "" #: ../../../CHANGELOG.md:3666 -msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." +msgid "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:3668 -msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." +msgid "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:3670 -msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." +msgid "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:3672 -msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." +#: ../../../CHANGELOG.md:3673 +msgid "2020-04-03" msgstr "" #: ../../../CHANGELOG.md:3675 -msgid "2019-10-04" +msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" msgstr "" #: ../../../CHANGELOG.md:3677 -msgid "Postgres 12 support" +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:3679 -msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." +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:3681 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgid "**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:3684 -msgid "2019-10-03" +msgid "2020-03-29" msgstr "" #: ../../../CHANGELOG.md:3686 -msgid "Synapse 1.4.0" +msgid "Archlinux support" msgstr "" #: ../../../CHANGELOG.md:3688 -msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." +msgid "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:3690 -msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." +#: ../../../CHANGELOG.md:3691 +msgid "2020-03-24" msgstr "" -#: ../../../CHANGELOG.md:3692 -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." +#: ../../../CHANGELOG.md:3693 +msgid "Jitsi support" msgstr "" -#: ../../../CHANGELOG.md:3694 -msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." +#: ../../../CHANGELOG.md:3695 +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:3697 -msgid "2019-09-09" +msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." msgstr "" -#: ../../../CHANGELOG.md:3699 -msgid "Synapse Simple Antispam support" +#: ../../../CHANGELOG.md:3700 +msgid "2020-03-15" msgstr "" -#: ../../../CHANGELOG.md:3701 -msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." +#: ../../../CHANGELOG.md:3702 +msgid "Raspberry Pi support" msgstr "" -#: ../../../CHANGELOG.md:3703 -msgid "From now on, you can easily install and configure this spam checker module through the playbook." +#: ../../../CHANGELOG.md:3704 +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:3705 -msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." +#: ../../../CHANGELOG.md:3706 +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:3708 -msgid "2019-08-25" +#: ../../../CHANGELOG.md:3709 +msgid "2020-02-26" msgstr "" -#: ../../../CHANGELOG.md:3710 -msgid "Extensible Riot-web configuration" +#: ../../../CHANGELOG.md:3711 +msgid "Riot-web themes are here" msgstr "" -#: ../../../CHANGELOG.md:3712 -msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." +#: ../../../CHANGELOG.md:3713 +msgid "The playbook now makes it easy to install custom riot-web themes." msgstr "" -#: ../../../CHANGELOG.md:3714 -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:3716 -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." +#: ../../../CHANGELOG.md:3715 +msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." msgstr "" #: ../../../CHANGELOG.md:3718 -msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." +msgid "2020-02-24" msgstr "" -#: ../../../CHANGELOG.md:3721 -msgid "2019-08-22" +#: ../../../CHANGELOG.md:3720 +msgid "Customize the server name in Riot's login page" msgstr "" -#: ../../../CHANGELOG.md:3723 -msgid "Extensible Synapse configuration" +#: ../../../CHANGELOG.md:3722 +msgid "You can now customize the server name string that Riot-web displays in its login page." msgstr "" -#: ../../../CHANGELOG.md:3725 -msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." +#: ../../../CHANGELOG.md:3724 +msgid "These playbook variables, with these default values, have been added:" msgstr "" -#: ../../../CHANGELOG.md:3727 -msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." +#: ../../../CHANGELOG.md:3730 +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:3729 -msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." +#: ../../../CHANGELOG.md:3732 +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:3731 -msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." +#: ../../../CHANGELOG.md:3735 +msgid "2020-01-30" msgstr "" -#: ../../../CHANGELOG.md:3734 -msgid "2019-08-21" +#: ../../../CHANGELOG.md:3737 +msgid "Disabling TLSv1.1" msgstr "" -#: ../../../CHANGELOG.md:3738 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." +#: ../../../CHANGELOG.md:3739 +msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." msgstr "" -#: ../../../CHANGELOG.md:3740 -msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." -msgstr "" - -#: ../../../CHANGELOG.md:3742 -msgid "Google Hangouts bridging support" +#: ../../../CHANGELOG.md:3741 +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:3744 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." +msgid "2020-01-21" msgstr "" #: ../../../CHANGELOG.md:3746 -msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." +msgid "Postgres collation changes (action required!)" msgstr "" -#: ../../../CHANGELOG.md:3749 -msgid "2019-08-05" +#: ../../../CHANGELOG.md:3748 +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:3751 -msgid "Email2Matrix support" +#: ../../../CHANGELOG.md:3750 +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:3753 -msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." +#: ../../../CHANGELOG.md:3752 +msgid "To avoid future problems, we recommend that you run the following command:" msgstr "" -#: ../../../CHANGELOG.md:3755 -msgid "It's an optional feature that you can enable via the playbook." +#: ../../../CHANGELOG.md:3758 +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:3757 -msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." +#: ../../../CHANGELOG.md:3761 +msgid "2020-01-14" msgstr "" -#: ../../../CHANGELOG.md:3760 -msgid "2019-08-03" +#: ../../../CHANGELOG.md:3763 +msgid "Added support for Appservice Webhooks" msgstr "" -#: ../../../CHANGELOG.md:3762 -msgid "Synapse logging level has been reduced to WARNING" +#: ../../../CHANGELOG.md:3765 +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:3764 -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`." +#: ../../../CHANGELOG.md:3767 +msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." msgstr "" -#: ../../../CHANGELOG.md:3766 -msgid "This greatly reduces the number of log messages that are being logged, leading to:" +#: ../../../CHANGELOG.md:3770 +msgid "2020-01-12" msgstr "" -#: ../../../CHANGELOG.md:3768 -msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" -msgstr "" - -#: ../../../CHANGELOG.md:3769 -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:3771 -msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." +#: ../../../CHANGELOG.md:3772 +msgid "Added support for automatic Double Puppeting for all Mautrix bridges" msgstr "" #: ../../../CHANGELOG.md:3774 -msgid "2019-07-08" +msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." msgstr "" #: ../../../CHANGELOG.md:3776 -msgid "Synapse Maintenance docs and synapse-janitor support are available" +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:3778 -msgid "The playbook can now help you with Synapse's maintenance." +msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." msgstr "" -#: ../../../CHANGELOG.md:3780 -msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." +#: ../../../CHANGELOG.md:3781 +msgid "2019-12-06" msgstr "" -#: ../../../CHANGELOG.md:3782 -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." +#: ../../../CHANGELOG.md:3783 +msgid "Added support for an alternative method for using another webserver" msgstr "" -#: ../../../CHANGELOG.md:3784 -msgid "(BC Break) Rename run control variables" +#: ../../../CHANGELOG.md:3785 +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:3786 -msgid "Some internal playbook control variables have been renamed." +#: ../../../CHANGELOG.md:3787 +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:3788 -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:3790 -msgid "The following variables have been renamed:" +#: ../../../CHANGELOG.md:3789 +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:3792 -msgid "from `run_import_postgres` to `run_postgres_import`" -msgstr "" - -#: ../../../CHANGELOG.md:3793 -msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" +msgid "2019-11-10" msgstr "" #: ../../../CHANGELOG.md:3794 -msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" -msgstr "" - -#: ../../../CHANGELOG.md:3795 -msgid "from `run_import_media_store` to `run_synapse_import_media_store`" +msgid "Tightened security around room directory publishing" msgstr "" #: ../../../CHANGELOG.md:3796 -msgid "from `run_register_user` to `run_synapse_register_user`" +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:3797 -msgid "from `run_update_user_password` to `run_synapse_update_user_password`" +#: ../../../CHANGELOG.md:3798 +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:3800 -msgid "2019-07-04" +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:3802 -msgid "Synapse no longer logs to text files" +#: ../../../CHANGELOG.md:3803 +msgid "2019-10-05" msgstr "" -#: ../../../CHANGELOG.md:3804 -msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." +#: ../../../CHANGELOG.md:3805 +msgid "Improved Postgres upgrading/importing" msgstr "" -#: ../../../CHANGELOG.md:3806 -msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" +#: ../../../CHANGELOG.md:3807 +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:3808 -msgid "Because of this, the following variables have become obsolete and were removed:" -msgstr "" - -#: ../../../CHANGELOG.md:3810 -msgid "`matrix_synapse_max_log_file_size_mb`" +#: ../../../CHANGELOG.md:3809 +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:3811 -msgid "`matrix_synapse_max_log_files_count`" +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:3813 -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*`)." +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:3815 -msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." +#: ../../../CHANGELOG.md:3816 +msgid "2019-10-04" msgstr "" #: ../../../CHANGELOG.md:3818 -msgid "2019-06-27" +msgid "Postgres 12 support" msgstr "" #: ../../../CHANGELOG.md:3820 -msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" +msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." msgstr "" #: ../../../CHANGELOG.md:3822 -msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." +msgid "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:3824 -msgid "From now on, the playbook will keep both configuration files sync for you." +#: ../../../CHANGELOG.md:3825 +msgid "2019-10-03" msgstr "" -#: ../../../CHANGELOG.md:3826 -msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3827 +msgid "Synapse 1.4.0" msgstr "" -#: ../../../CHANGELOG.md:3828 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." +#: ../../../CHANGELOG.md:3829 +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:3830 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3831 +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:3832 -msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." +#: ../../../CHANGELOG.md:3833 +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:3834 -msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." +#: ../../../CHANGELOG.md:3835 +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:3837 -msgid "2019-06-24" +#: ../../../CHANGELOG.md:3838 +msgid "2019-09-09" msgstr "" -#: ../../../CHANGELOG.md:3839 -msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3840 +msgid "Synapse Simple Antispam support" msgstr "" -#: ../../../CHANGELOG.md:3841 -msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3842 +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:3843 -#: ../../../CHANGELOG.md:3860 -#: ../../../CHANGELOG.md:3879 -#: ../../../CHANGELOG.md:3918 -msgid "From now on, the playbook will keep the configuration in sync for you." +#: ../../../CHANGELOG.md:3844 +msgid "From now on, you can easily install and configure this spam checker module through the playbook." msgstr "" -#: ../../../CHANGELOG.md:3845 -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:3847 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." +#: ../../../CHANGELOG.md:3846 +msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." msgstr "" #: ../../../CHANGELOG.md:3849 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +msgid "2019-08-25" msgstr "" #: ../../../CHANGELOG.md:3851 -msgid "We're now following the default configuration for the WhatsApp bridge." +msgid "Extensible Riot-web configuration" msgstr "" -#: ../../../CHANGELOG.md:3854 -msgid "2019-06-20" +#: ../../../CHANGELOG.md:3853 +msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." msgstr "" -#: ../../../CHANGELOG.md:3856 -msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3855 +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:3858 -msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3857 +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:3859 +msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." msgstr "" #: ../../../CHANGELOG.md:3862 -msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "2019-08-22" msgstr "" #: ../../../CHANGELOG.md:3864 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." +msgid "Extensible Synapse configuration" msgstr "" #: ../../../CHANGELOG.md:3866 -msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." +msgid "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:3868 -msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." +msgid "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:3870 -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`)." +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:3873 -msgid "2019-06-15" +#: ../../../CHANGELOG.md:3872 +msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." msgstr "" #: ../../../CHANGELOG.md:3875 -msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" +msgid "2019-08-21" msgstr "" -#: ../../../CHANGELOG.md:3877 -msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3879 +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:3881 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." msgstr "" #: ../../../CHANGELOG.md:3883 -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." +msgid "Google Hangouts bridging support" msgstr "" #: ../../../CHANGELOG.md:3885 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +msgid "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:3887 -msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" -msgstr "" - -#: ../../../CHANGELOG.md:3889 -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" +msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." msgstr "" #: ../../../CHANGELOG.md:3890 -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:3891 -msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" +msgid "2019-08-05" msgstr "" #: ../../../CHANGELOG.md:3892 -msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" +msgid "Email2Matrix support" msgstr "" #: ../../../CHANGELOG.md:3894 -msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." +msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." msgstr "" -#: ../../../CHANGELOG.md:3897 -msgid "2019-06-12" +#: ../../../CHANGELOG.md:3896 +msgid "It's an optional feature that you can enable via the playbook." msgstr "" -#: ../../../CHANGELOG.md:3899 -msgid "Synapse v1.0" +#: ../../../CHANGELOG.md:3898 +msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." msgstr "" #: ../../../CHANGELOG.md:3901 -msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." +msgid "2019-08-03" msgstr "" #: ../../../CHANGELOG.md:3903 -msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." +msgid "Synapse logging level has been reduced to WARNING" msgstr "" #: ../../../CHANGELOG.md:3905 -msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." +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:3907 -msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." +msgid "This greatly reduces the number of log messages that are being logged, leading to:" msgstr "" #: ../../../CHANGELOG.md:3909 -msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." +msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" +msgstr "" + +#: ../../../CHANGELOG.md:3910 +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:3912 -msgid "2019-06-07" +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:3914 -msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3915 +msgid "2019-07-08" msgstr "" -#: ../../../CHANGELOG.md:3916 -msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3917 +msgid "Synapse Maintenance docs and synapse-janitor support are available" msgstr "" -#: ../../../CHANGELOG.md:3920 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3919 +msgid "The playbook can now help you with Synapse's maintenance." msgstr "" -#: ../../../CHANGELOG.md:3922 -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." +#: ../../../CHANGELOG.md:3921 +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:3924 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3923 +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:3925 +msgid "(BC Break) Rename run control variables" msgstr "" #: ../../../CHANGELOG.md:3927 -msgid "2019-05-25" +msgid "Some internal playbook control variables have been renamed." msgstr "" #: ../../../CHANGELOG.md:3929 -msgid "Support for exposing container ports publicly (not just to the host)" +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:3931 -msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." +msgid "The following variables have been renamed:" msgstr "" #: ../../../CHANGELOG.md:3933 -msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." +msgid "from `run_import_postgres` to `run_postgres_import`" +msgstr "" + +#: ../../../CHANGELOG.md:3934 +msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" msgstr "" #: ../../../CHANGELOG.md:3935 -msgid "All such variables have been superseded by a better (more flexible) way to do it." +msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgstr "" + +#: ../../../CHANGELOG.md:3936 +msgid "from `run_import_media_store` to `run_synapse_import_media_store`" msgstr "" #: ../../../CHANGELOG.md:3937 -msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." +msgid "from `run_register_user` to `run_synapse_register_user`" msgstr "" -#: ../../../CHANGELOG.md:3939 -msgid "Porting examples follow for people having more customized setups:" +#: ../../../CHANGELOG.md:3938 +msgid "from `run_update_user_password` to `run_synapse_update_user_password`" msgstr "" #: ../../../CHANGELOG.md:3941 -msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" +msgid "2019-07-04" msgstr "" #: ../../../CHANGELOG.md:3943 -msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" +msgid "Synapse no longer logs to text files" msgstr "" #: ../../../CHANGELOG.md:3945 -msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" +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:3947 -msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" +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:3949 -msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" +msgid "Because of this, the following variables have become obsolete and were removed:" msgstr "" #: ../../../CHANGELOG.md:3951 -msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" +msgid "`matrix_synapse_max_log_file_size_mb`" msgstr "" -#: ../../../CHANGELOG.md:3953 -msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" +#: ../../../CHANGELOG.md:3952 +msgid "`matrix_synapse_max_log_files_count`" msgstr "" -#: ../../../CHANGELOG.md:3955 -msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" +#: ../../../CHANGELOG.md:3954 +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:3957 -msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" +#: ../../../CHANGELOG.md:3956 +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:3959 -msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." +msgid "2019-06-27" msgstr "" -#: ../../../CHANGELOG.md:3962 -msgid "2019-05-23" +#: ../../../CHANGELOG.md:3961 +msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3964 -msgid "(BC Break) Ansible 2.8 compatibility" +#: ../../../CHANGELOG.md:3963 +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:3966 -msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." +#: ../../../CHANGELOG.md:3965 +msgid "From now on, the playbook will keep both configuration files sync for you." msgstr "" -#: ../../../CHANGELOG.md:3968 -msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." +#: ../../../CHANGELOG.md:3967 +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:3970 -msgid "To avoid doing it manually, run this:" +#: ../../../CHANGELOG.md:3969 +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." msgstr "" #: ../../../CHANGELOG.md:3971 -msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +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:3972 -msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" +#: ../../../CHANGELOG.md:3973 +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:3975 -msgid "2019-05-21" +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:3977 -msgid "Synapse no longer required" +#: ../../../CHANGELOG.md:3978 +msgid "2019-06-24" msgstr "" -#: ../../../CHANGELOG.md:3979 -msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." +#: ../../../CHANGELOG.md:3980 +msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3981 -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`)." +#: ../../../CHANGELOG.md:3982 +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:3983 -msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." +#: ../../../CHANGELOG.md:3984 +#: ../../../CHANGELOG.md:4001 +#: ../../../CHANGELOG.md:4020 +#: ../../../CHANGELOG.md:4059 +msgid "From now on, the playbook will keep the configuration in sync for you." msgstr "" -#: ../../../CHANGELOG.md:3985 -msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." +#: ../../../CHANGELOG.md:3986 +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:3987 -msgid "Bridges are now separate from the Synapse role" +#: ../../../CHANGELOG.md:3988 +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:3989 -msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." +#: ../../../CHANGELOG.md:3990 +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:3991 -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:3993 -msgid "Renaming inconsistently-named Synapse variables" +#: ../../../CHANGELOG.md:3992 +msgid "We're now following the default configuration for the WhatsApp bridge." msgstr "" #: ../../../CHANGELOG.md:3995 -msgid "For better consistency, the following variables have been renamed:" +msgid "2019-06-20" msgstr "" #: ../../../CHANGELOG.md:3997 -msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" -msgstr "" - -#: ../../../CHANGELOG.md:3998 -msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3999 -msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" +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:4002 -msgid "2019-05-09" +#: ../../../CHANGELOG.md:4003 +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:4004 -msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." +#: ../../../CHANGELOG.md:4005 +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:4006 -msgid "Mautrix Facebook/Messenger bridging support" +#: ../../../CHANGELOG.md:4007 +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:4008 -msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:4009 +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:4010 -msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." -msgstr "" - -#: ../../../CHANGELOG.md:4012 -msgid "mxisd Registration feature integration" +#: ../../../CHANGELOG.md:4011 +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:4014 -msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." +msgid "2019-06-15" msgstr "" #: ../../../CHANGELOG.md:4016 -msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:4019 -msgid "2019-04-16" +#: ../../../CHANGELOG.md:4018 +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:4021 -msgid "Caddy webserver examples" +#: ../../../CHANGELOG.md:4022 +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:4023 -msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +#: ../../../CHANGELOG.md:4024 +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:4025 -msgid "2019-04-10" +#: ../../../CHANGELOG.md:4026 +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:4027 -msgid "Goofys support for other S3-compatible object stores" +#: ../../../CHANGELOG.md:4028 +msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" msgstr "" -#: ../../../CHANGELOG.md:4029 -msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," +#: ../../../CHANGELOG.md:4030 +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:4031 +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:4032 -msgid "2019-04-03" +msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" msgstr "" -#: ../../../CHANGELOG.md:4034 -msgid "Ansible >= 2.5 is required" +#: ../../../CHANGELOG.md:4033 +msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" msgstr "" -#: ../../../CHANGELOG.md:4036 -msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." +#: ../../../CHANGELOG.md:4035 +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:4038 -msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." +msgid "2019-06-12" msgstr "" -#: ../../../CHANGELOG.md:4041 -msgid "2019-03-19" +#: ../../../CHANGELOG.md:4040 +msgid "Synapse v1.0" msgstr "" -#: ../../../CHANGELOG.md:4043 -msgid "TLS support for coturn" +#: ../../../CHANGELOG.md:4042 +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:4045 -msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." +#: ../../../CHANGELOG.md:4044 +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:4047 -msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" +#: ../../../CHANGELOG.md:4046 +msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." +msgstr "" + +#: ../../../CHANGELOG.md:4048 +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:4050 +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:4053 -msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." +msgid "2019-06-07" msgstr "" #: ../../../CHANGELOG.md:4055 -msgid "People who build their own custom playbook from our roles should be aware that:" +msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:4057 -msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." +msgid "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:4059 -msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." +#: ../../../CHANGELOG.md:4061 +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:4062 -msgid "2019-03-12" +#: ../../../CHANGELOG.md:4063 +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:4064 -msgid "matrix-nginx-proxy support for serving the base domain" -msgstr "" - -#: ../../../CHANGELOG.md:4066 -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." +#: ../../../CHANGELOG.md:4065 +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:4068 -msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." +msgid "2019-05-25" msgstr "" #: ../../../CHANGELOG.md:4070 -msgid "(BC break) matrix-nginx-proxy data variable renamed" +msgid "Support for exposing container ports publicly (not just to the host)" msgstr "" #: ../../../CHANGELOG.md:4072 -msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +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:4074 -msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." +msgid "`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:4077 -msgid "2019-03-10" +#: ../../../CHANGELOG.md:4076 +msgid "All such variables have been superseded by a better (more flexible) way to do it." msgstr "" -#: ../../../CHANGELOG.md:4079 -msgid "Dimension integration manager support" +#: ../../../CHANGELOG.md:4078 +msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." msgstr "" -#: ../../../CHANGELOG.md:4081 -msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." +#: ../../../CHANGELOG.md:4080 +msgid "Porting examples follow for people having more customized setups:" +msgstr "" + +#: ../../../CHANGELOG.md:4082 +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:4084 -msgid "2019-03-07" +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:4086 -msgid "Ability to customize mxisd's email templates" +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:4088 -msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." +msgid "**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:4091 -msgid "2019-03-05" +#: ../../../CHANGELOG.md:4090 +msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" msgstr "" -#: ../../../CHANGELOG.md:4093 -msgid "Discord bridging support" +#: ../../../CHANGELOG.md:4092 +msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" msgstr "" -#: ../../../CHANGELOG.md:4095 -msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." +#: ../../../CHANGELOG.md:4094 +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:4096 +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:4098 -msgid "2019-02-19" +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:4100 -msgid "Renaming variables" +msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." msgstr "" -#: ../../../CHANGELOG.md:4102 -#: ../../../CHANGELOG.md:4419 -#: ../../../CHANGELOG.md:4504 -#: ../../../CHANGELOG.md:4624 -msgid "The following playbook variables were renamed:" -msgstr "" - -#: ../../../CHANGELOG.md:4104 -msgid "from `host_specific_hostname_identity` to `matrix_domain`" +#: ../../../CHANGELOG.md:4103 +msgid "2019-05-23" msgstr "" #: ../../../CHANGELOG.md:4105 -msgid "from `hostname_identity` to `matrix_domain`" -msgstr "" - -#: ../../../CHANGELOG.md:4106 -msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" +msgid "(BC Break) Ansible 2.8 compatibility" msgstr "" #: ../../../CHANGELOG.md:4107 -msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +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:4108 -msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +#: ../../../CHANGELOG.md:4109 +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:4110 -msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." +#: ../../../CHANGELOG.md:4111 +msgid "To avoid doing it manually, run this:" +msgstr "" + +#: ../../../CHANGELOG.md:4112 +msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" #: ../../../CHANGELOG.md:4113 -msgid "2019-02-16" +msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" -#: ../../../CHANGELOG.md:4115 -msgid "Riot v1.0.1 support" +#: ../../../CHANGELOG.md:4116 +msgid "2019-05-21" msgstr "" -#: ../../../CHANGELOG.md:4117 -msgid "You can now use the brand new and redesigned Riot." +#: ../../../CHANGELOG.md:4118 +msgid "Synapse no longer required" msgstr "" -#: ../../../CHANGELOG.md:4119 -msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." +#: ../../../CHANGELOG.md:4120 +msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." msgstr "" -#: ../../../CHANGELOG.md:4121 -msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." +#: ../../../CHANGELOG.md:4122 +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:4124 -msgid "2019-02-14" +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:4126 -msgid "Synapse v0.99.1" +msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." msgstr "" #: ../../../CHANGELOG.md:4128 -msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." +msgid "Bridges are now separate from the Synapse role" msgstr "" #: ../../../CHANGELOG.md:4130 -msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." +msgid "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:4133 -msgid "2019-02-06" +#: ../../../CHANGELOG.md:4132 +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:4135 -msgid "Synapse v0.99 support and preparation for Synapse v1.0" +#: ../../../CHANGELOG.md:4134 +msgid "Renaming inconsistently-named Synapse variables" msgstr "" -#: ../../../CHANGELOG.md:4137 -msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." +#: ../../../CHANGELOG.md:4136 +msgid "For better consistency, the following variables have been renamed:" +msgstr "" + +#: ../../../CHANGELOG.md:4138 +msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" msgstr "" #: ../../../CHANGELOG.md:4139 -msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." +msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" msgstr "" -#: ../../../CHANGELOG.md:4141 -msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." +#: ../../../CHANGELOG.md:4140 +msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" msgstr "" #: ../../../CHANGELOG.md:4143 -msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" +msgid "2019-05-09" msgstr "" #: ../../../CHANGELOG.md:4145 -msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." +msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." msgstr "" #: ../../../CHANGELOG.md:4147 -msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." +msgid "Mautrix Facebook/Messenger bridging support" msgstr "" -#: ../../../CHANGELOG.md:4150 -msgid "2019-02-01" +#: ../../../CHANGELOG.md:4149 +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:4152 -msgid "TLS v1.3 support" +#: ../../../CHANGELOG.md:4151 +msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." msgstr "" -#: ../../../CHANGELOG.md:4154 -msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +#: ../../../CHANGELOG.md:4153 +msgid "mxisd Registration feature integration" msgstr "" -#: ../../../CHANGELOG.md:4156 -msgid "When using:" +#: ../../../CHANGELOG.md:4155 +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:4158 -msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +#: ../../../CHANGELOG.md:4157 +msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." msgstr "" #: ../../../CHANGELOG.md:4160 -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)" +msgid "2019-04-16" msgstr "" #: ../../../CHANGELOG.md:4162 -msgid "**another web server**: you don't need to do anything to accommodate this change" +msgid "Caddy webserver examples" msgstr "" -#: ../../../CHANGELOG.md:4165 -msgid "2019-01-31" +#: ../../../CHANGELOG.md:4164 +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:4167 -msgid "IRC bridging support" +#: ../../../CHANGELOG.md:4166 +msgid "2019-04-10" msgstr "" -#: ../../../CHANGELOG.md:4169 -msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +#: ../../../CHANGELOG.md:4168 +msgid "Goofys support for other S3-compatible object stores" msgstr "" -#: ../../../CHANGELOG.md:4172 -msgid "2019-01-29" +#: ../../../CHANGELOG.md:4170 +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:4174 -msgid "Running container processes as non-root, without capabilities and read-only" +#: ../../../CHANGELOG.md:4173 +msgid "2019-04-03" msgstr "" -#: ../../../CHANGELOG.md:4176 -msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." +#: ../../../CHANGELOG.md:4175 +msgid "Ansible >= 2.5 is required" msgstr "" -#: ../../../CHANGELOG.md:4178 -msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." +#: ../../../CHANGELOG.md:4177 +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:4180 -msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." +#: ../../../CHANGELOG.md:4179 +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:4182 -msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +msgid "2019-03-19" msgstr "" #: ../../../CHANGELOG.md:4184 -msgid "matrix-mailer is now based on Exim, not Postfix" +msgid "TLS support for coturn" msgstr "" #: ../../../CHANGELOG.md:4186 -msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." +msgid "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:4188 -msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." +msgid "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:4190 -msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." +#: ../../../CHANGELOG.md:4194 +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:4193 -msgid "2019-01-17" +#: ../../../CHANGELOG.md:4196 +msgid "People who build their own custom playbook from our roles should be aware that:" msgstr "" -#: ../../../CHANGELOG.md:4195 -msgid "(BC Break) Making the playbook's roles more independent of one another" -msgstr "" - -#: ../../../CHANGELOG.md:4197 -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)." +#: ../../../CHANGELOG.md:4198 +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:4200 -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." +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:4202 -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:4204 -msgid "In addition, the following components can now be completely disabled (for those who want/need to):" +#: ../../../CHANGELOG.md:4203 +msgid "2019-03-12" msgstr "" #: ../../../CHANGELOG.md:4205 -msgid "`matrix-coturn` by using `coturn_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:4206 -msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgid "matrix-nginx-proxy support for serving the base domain" msgstr "" #: ../../../CHANGELOG.md:4207 -msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" +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:4209 -msgid "The following changes had to be done:" +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:4211 -msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." +msgid "(BC break) matrix-nginx-proxy data variable renamed" msgstr "" #: ../../../CHANGELOG.md:4213 -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." +msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." msgstr "" #: ../../../CHANGELOG.md:4215 -msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" +msgid "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:4217 -msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." +#: ../../../CHANGELOG.md:4218 +msgid "2019-03-10" msgstr "" #: ../../../CHANGELOG.md:4220 -msgid "2019-01-16" +msgid "Dimension integration manager support" msgstr "" #: ../../../CHANGELOG.md:4222 -msgid "Splitting the playbook into multiple roles" +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:4224 -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)." +#: ../../../CHANGELOG.md:4225 +msgid "2019-03-07" msgstr "" #: ../../../CHANGELOG.md:4227 -msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." +msgid "Ability to customize mxisd's email templates" msgstr "" #: ../../../CHANGELOG.md:4229 -msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." +msgid "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:4232 -msgid "2019-01-11" +msgid "2019-03-05" msgstr "" #: ../../../CHANGELOG.md:4234 -msgid "(BC Break) mxisd configuration changes" +msgid "Discord bridging support" msgstr "" #: ../../../CHANGELOG.md:4236 -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." +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:4239 -msgid "The following variables are no longer supported by this playbook:" +msgid "2019-02-19" msgstr "" #: ../../../CHANGELOG.md:4241 -msgid "`matrix_mxisd_ldap_enabled`" -msgstr "" - -#: ../../../CHANGELOG.md:4242 -msgid "`matrix_mxisd_ldap_connection_host`" +msgid "Renaming variables" msgstr "" #: ../../../CHANGELOG.md:4243 -msgid "`matrix_mxisd_ldap_connection_tls`" -msgstr "" - -#: ../../../CHANGELOG.md:4244 -msgid "`matrix_mxisd_ldap_connection_port`" +#: ../../../CHANGELOG.md:4560 +#: ../../../CHANGELOG.md:4645 +#: ../../../CHANGELOG.md:4765 +msgid "The following playbook variables were renamed:" msgstr "" #: ../../../CHANGELOG.md:4245 -msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgid "from `host_specific_hostname_identity` to `matrix_domain`" msgstr "" #: ../../../CHANGELOG.md:4246 -msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgid "from `hostname_identity` to `matrix_domain`" msgstr "" #: ../../../CHANGELOG.md:4247 +msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" +msgstr "" + #: ../../../CHANGELOG.md:4248 -msgid "`matrix_mxisd_ldap_connection_bindDn`" +msgid "from `hostname_riot` to `matrix_server_fqn_riot`" msgstr "" #: ../../../CHANGELOG.md:4249 -#: ../../../CHANGELOG.md:4253 -msgid "`matrix_mxisd_ldap_connection_bindPassword`" -msgstr "" - -#: ../../../CHANGELOG.md:4250 -msgid "`matrix_mxisd_ldap_filter`" +msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" msgstr "" #: ../../../CHANGELOG.md:4251 -msgid "`matrix_mxisd_ldap_attribute_uid_type`" -msgstr "" - -#: ../../../CHANGELOG.md:4252 -msgid "`matrix_mxisd_ldap_attribute_uid_value`" +msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." msgstr "" #: ../../../CHANGELOG.md:4254 -msgid "`matrix_mxisd_ldap_attribute_name`" -msgstr "" - -#: ../../../CHANGELOG.md:4255 -msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +msgid "2019-02-16" msgstr "" #: ../../../CHANGELOG.md:4256 -msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" -msgstr "" - -#: ../../../CHANGELOG.md:4257 -msgid "`matrix_mxisd_ldap_identity_filter`" +msgid "Riot v1.0.1 support" msgstr "" #: ../../../CHANGELOG.md:4258 -msgid "`matrix_mxisd_ldap_identity_medium`" -msgstr "" - -#: ../../../CHANGELOG.md:4259 -msgid "`matrix_mxisd_ldap_auth_filter`" +msgid "You can now use the brand new and redesigned Riot." msgstr "" #: ../../../CHANGELOG.md:4260 -msgid "`matrix_mxisd_ldap_directory_filter`" +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:4261 -msgid "`matrix_mxisd_template_config`" -msgstr "" - -#: ../../../CHANGELOG.md:4263 -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." +#: ../../../CHANGELOG.md:4262 +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:4265 -msgid "This new way of configuring mxisd is beneficial because:" +msgid "2019-02-14" msgstr "" #: ../../../CHANGELOG.md:4267 -msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" +msgid "Synapse v0.99.1" msgstr "" -#: ../../../CHANGELOG.md:4268 -msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" +#: ../../../CHANGELOG.md:4269 +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:4271 -msgid "2019-01-08" +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:4273 -msgid "(BC Break) Cronjob schedule no longer configurable" +#: ../../../CHANGELOG.md:4274 +msgid "2019-02-06" msgstr "" -#: ../../../CHANGELOG.md:4275 -msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." +#: ../../../CHANGELOG.md:4276 +msgid "Synapse v0.99 support and preparation for Synapse v1.0" msgstr "" -#: ../../../CHANGELOG.md:4277 -msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." +#: ../../../CHANGELOG.md:4278 +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:4280 -msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" +msgid "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:4283 -msgid "2018-12-23" +#: ../../../CHANGELOG.md:4282 +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:4285 -msgid "(BC Break) More SSL certificate retrieval methods" +#: ../../../CHANGELOG.md:4284 +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:4287 -msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" +#: ../../../CHANGELOG.md:4286 +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:4288 -msgid "(default) obtaining free SSL certificates from Let's Encrypt" +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:4289 -msgid "generating self-signed SSL certificates" +#: ../../../CHANGELOG.md:4291 +msgid "2019-02-01" msgstr "" -#: ../../../CHANGELOG.md:4290 -msgid "managing SSL certificates manually" +#: ../../../CHANGELOG.md:4293 +msgid "TLS v1.3 support" msgstr "" -#: ../../../CHANGELOG.md:4292 -msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." -msgstr "" - -#: ../../../CHANGELOG.md:4294 -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:4296 -msgid "before: `host_specific_matrix_ssl_support_email`" +#: ../../../CHANGELOG.md:4295 +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:4297 -msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +msgid "When using:" msgstr "" #: ../../../CHANGELOG.md:4299 -msgid "(BC Break) mxisd upgrade with multiple base DN support" +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:4301 -msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." +msgid "**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:4303 -msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." +msgid "**another web server**: you don't need to do anything to accommodate this change" msgstr "" -#: ../../../CHANGELOG.md:4305 -msgid "Example change:" -msgstr "" - -#: ../../../CHANGELOG.md:4307 -msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +#: ../../../CHANGELOG.md:4306 +msgid "2019-01-31" msgstr "" #: ../../../CHANGELOG.md:4308 -msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +msgid "IRC bridging support" msgstr "" -#: ../../../CHANGELOG.md:4311 -msgid "2018-12-21" +#: ../../../CHANGELOG.md:4310 +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:4313 -msgid "Synapse 0.34.0 and Python 3" +msgid "2019-01-29" msgstr "" #: ../../../CHANGELOG.md:4315 -msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." +msgid "Running container processes as non-root, without capabilities and read-only" msgstr "" -#: ../../../CHANGELOG.md:4318 -msgid "2018-12-12" +#: ../../../CHANGELOG.md:4317 +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:4320 -msgid "Riot homepage customization" +#: ../../../CHANGELOG.md:4319 +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:4322 -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`." +#: ../../../CHANGELOG.md:4321 +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:4323 +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:4325 -msgid "2018-12-04" +msgid "matrix-mailer is now based on Exim, not Postfix" msgstr "" #: ../../../CHANGELOG.md:4327 -msgid "mxisd extensibility" +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:4329 -msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." +msgid "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:4332 -msgid "2018-11-28" +#: ../../../CHANGELOG.md:4331 +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:4334 -msgid "More scripts" +msgid "2019-01-17" msgstr "" #: ../../../CHANGELOG.md:4336 -msgid "matrix-remove-all allows to uninstall everything with a single command" +msgid "(BC Break) Making the playbook's roles more independent of one another" msgstr "" -#: ../../../CHANGELOG.md:4337 -msgid "matrix-make-user-admin allows to upgrade a user's privileges" -msgstr "" - -#: ../../../CHANGELOG.md:4339 -msgid "LDAP auth support via matrix-synapse-ldap3" +#: ../../../CHANGELOG.md:4338 +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:4341 -msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." +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:4343 -msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +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:4345 +msgid "In addition, the following components can now be completely disabled (for those who want/need to):" msgstr "" #: ../../../CHANGELOG.md:4346 -msgid "2018-11-23" +msgid "`matrix-coturn` by using `coturn_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4347 +msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:4348 -msgid "Support for controlling public registration and room auto-join" +msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:4350 -msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +msgid "The following changes had to be done:" msgstr "" #: ../../../CHANGELOG.md:4352 -msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +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:4354 -msgid "Support for changing the welcome user ID (welcome bot)" +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:4356 -msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." +msgid "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:4359 -msgid "2018-11-14" +#: ../../../CHANGELOG.md:4358 +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:4361 -msgid "Ability to set Synapse log levels" +msgid "2019-01-16" msgstr "" #: ../../../CHANGELOG.md:4363 -msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." +msgid "Splitting the playbook into multiple roles" msgstr "" #: ../../../CHANGELOG.md:4365 -msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" +msgid "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:4374 -msgid "2018-11-03" +#: ../../../CHANGELOG.md:4368 +msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." msgstr "" -#: ../../../CHANGELOG.md:4376 -msgid "Customize parts of Riot's config" +#: ../../../CHANGELOG.md:4370 +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:4378 -msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" +#: ../../../CHANGELOG.md:4373 +msgid "2019-01-11" msgstr "" +#: ../../../CHANGELOG.md:4375 +msgid "(BC Break) mxisd configuration changes" +msgstr "" + +#: ../../../CHANGELOG.md:4377 +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:4380 +msgid "The following variables are no longer supported by this playbook:" +msgstr "" + +#: ../../../CHANGELOG.md:4382 +msgid "`matrix_mxisd_ldap_enabled`" +msgstr "" + +#: ../../../CHANGELOG.md:4383 +msgid "`matrix_mxisd_ldap_connection_host`" +msgstr "" + +#: ../../../CHANGELOG.md:4384 +msgid "`matrix_mxisd_ldap_connection_tls`" +msgstr "" + +#: ../../../CHANGELOG.md:4385 +msgid "`matrix_mxisd_ldap_connection_port`" +msgstr "" + +#: ../../../CHANGELOG.md:4386 +msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4387 +msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgstr "" + +#: ../../../CHANGELOG.md:4388 #: ../../../CHANGELOG.md:4389 -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:" +msgid "`matrix_mxisd_ldap_connection_bindDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4390 +#: ../../../CHANGELOG.md:4394 +msgid "`matrix_mxisd_ldap_connection_bindPassword`" +msgstr "" + +#: ../../../CHANGELOG.md:4391 +msgid "`matrix_mxisd_ldap_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4392 +msgid "`matrix_mxisd_ldap_attribute_uid_type`" +msgstr "" + +#: ../../../CHANGELOG.md:4393 +msgid "`matrix_mxisd_ldap_attribute_uid_value`" +msgstr "" + +#: ../../../CHANGELOG.md:4395 +msgid "`matrix_mxisd_ldap_attribute_name`" +msgstr "" + +#: ../../../CHANGELOG.md:4396 +msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4397 +msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" msgstr "" #: ../../../CHANGELOG.md:4398 -msgid "SSL protocols used to serve Riot and Synapse" +msgid "`matrix_mxisd_ldap_identity_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4399 +msgid "`matrix_mxisd_ldap_identity_medium`" msgstr "" #: ../../../CHANGELOG.md:4400 -msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." +msgid "`matrix_mxisd_ldap_auth_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4401 +msgid "`matrix_mxisd_ldap_directory_filter`" msgstr "" #: ../../../CHANGELOG.md:4402 -msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." +msgid "`matrix_mxisd_template_config`" msgstr "" #: ../../../CHANGELOG.md:4404 -msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." +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:4407 -msgid "2018-11-01" +#: ../../../CHANGELOG.md:4406 +msgid "This new way of configuring mxisd is beneficial because:" +msgstr "" + +#: ../../../CHANGELOG.md:4408 +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:4409 -msgid "Postgres 11 support" +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:4411 -msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +#: ../../../CHANGELOG.md:4412 +msgid "2019-01-08" msgstr "" -#: ../../../CHANGELOG.md:4413 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +#: ../../../CHANGELOG.md:4414 +msgid "(BC Break) Cronjob schedule no longer configurable" msgstr "" -#: ../../../CHANGELOG.md:4415 -#: ../../../CHANGELOG.md:4502 -#: ../../../CHANGELOG.md:4622 -msgid "(BC Break) Renaming playbook variables" +#: ../../../CHANGELOG.md:4416 +msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." msgstr "" -#: ../../../CHANGELOG.md:4417 -msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." +#: ../../../CHANGELOG.md:4418 +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:4421 -msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4422 -msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4423 -msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" +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:4424 -msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4425 -msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" +msgid "2018-12-23" msgstr "" #: ../../../CHANGELOG.md:4426 -msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4427 -msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgid "(BC Break) More SSL certificate retrieval methods" msgstr "" #: ../../../CHANGELOG.md:4428 -msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" +msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" msgstr "" #: ../../../CHANGELOG.md:4429 -msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgid "(default) obtaining free SSL certificates from Let's Encrypt" msgstr "" #: ../../../CHANGELOG.md:4430 -msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" +msgid "generating self-signed SSL certificates" msgstr "" #: ../../../CHANGELOG.md:4431 -msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgid "managing SSL certificates manually" msgstr "" -#: ../../../CHANGELOG.md:4432 -msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +#: ../../../CHANGELOG.md:4433 +msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." msgstr "" #: ../../../CHANGELOG.md:4435 -msgid "2018-10-26" +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:4437 -msgid "Mautrix Whatsapp bridging support" +msgid "before: `host_specific_matrix_ssl_support_email`" msgstr "" -#: ../../../CHANGELOG.md:4439 -msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:4438 +msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" msgstr "" -#: ../../../CHANGELOG.md:4441 -msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +#: ../../../CHANGELOG.md:4440 +msgid "(BC Break) mxisd upgrade with multiple base DN support" +msgstr "" + +#: ../../../CHANGELOG.md:4442 +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:4444 -msgid "2018-10-25" +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:4446 -msgid "Support for controlling Matrix federation" +msgid "Example change:" msgstr "" #: ../../../CHANGELOG.md:4448 -msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" msgstr "" -#: ../../../CHANGELOG.md:4451 -msgid "2018-10-24" +#: ../../../CHANGELOG.md:4449 +msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" msgstr "" -#: ../../../CHANGELOG.md:4453 -msgid "Disabling riot-web guests" +#: ../../../CHANGELOG.md:4452 +msgid "2018-12-21" msgstr "" -#: ../../../CHANGELOG.md:4455 -msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +#: ../../../CHANGELOG.md:4454 +msgid "Synapse 0.34.0 and Python 3" msgstr "" -#: ../../../CHANGELOG.md:4458 -msgid "2018-10-21" +#: ../../../CHANGELOG.md:4456 +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:4460 -msgid "Self-check maintenance command" +#: ../../../CHANGELOG.md:4459 +msgid "2018-12-12" msgstr "" -#: ../../../CHANGELOG.md:4462 -msgid "The playbook can now [check if services are configured correctly](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work)." +#: ../../../CHANGELOG.md:4461 +msgid "Riot homepage customization" msgstr "" -#: ../../../CHANGELOG.md:4465 -msgid "2018-10-05" +#: ../../../CHANGELOG.md:4463 +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:4467 -msgid "Presence tracking made configurable" +#: ../../../CHANGELOG.md:4466 +msgid "2018-12-04" msgstr "" -#: ../../../CHANGELOG.md:4469 -msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +#: ../../../CHANGELOG.md:4468 +msgid "mxisd extensibility" msgstr "" -#: ../../../CHANGELOG.md:4471 -msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +#: ../../../CHANGELOG.md:4470 +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:4474 -msgid "2018-09-27" +#: ../../../CHANGELOG.md:4473 +msgid "2018-11-28" msgstr "" -#: ../../../CHANGELOG.md:4476 -msgid "Synapse Cache Factor made configurable" +#: ../../../CHANGELOG.md:4475 +msgid "More scripts" +msgstr "" + +#: ../../../CHANGELOG.md:4477 +msgid "matrix-remove-all allows to uninstall everything with a single command" msgstr "" #: ../../../CHANGELOG.md:4478 -msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +msgid "matrix-make-user-admin allows to upgrade a user's privileges" msgstr "" #: ../../../CHANGELOG.md:4480 -msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgid "LDAP auth support via matrix-synapse-ldap3" msgstr "" -#: ../../../CHANGELOG.md:4483 -msgid "2018-09-26" +#: ../../../CHANGELOG.md:4482 +msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." msgstr "" -#: ../../../CHANGELOG.md:4485 -msgid "Disabling Docker container logging" +#: ../../../CHANGELOG.md:4484 +msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." msgstr "" #: ../../../CHANGELOG.md:4487 -msgid "`--log-driver=none` is used for all Docker containers now." +msgid "2018-11-23" msgstr "" #: ../../../CHANGELOG.md:4489 -msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgid "Support for controlling public registration and room auto-join" msgstr "" #: ../../../CHANGELOG.md:4491 -msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +msgid "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:4494 -msgid "2018-09-17" +#: ../../../CHANGELOG.md:4493 +msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." msgstr "" -#: ../../../CHANGELOG.md:4496 -msgid "Service discovery support" +#: ../../../CHANGELOG.md:4495 +msgid "Support for changing the welcome user ID (welcome bot)" msgstr "" -#: ../../../CHANGELOG.md:4498 -msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +#: ../../../CHANGELOG.md:4497 +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:4500 -msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +msgid "2018-11-14" +msgstr "" + +#: ../../../CHANGELOG.md:4502 +msgid "Ability to set Synapse log levels" +msgstr "" + +#: ../../../CHANGELOG.md:4504 +msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." msgstr "" #: ../../../CHANGELOG.md:4506 -msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +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:4507 -msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +#: ../../../CHANGELOG.md:4515 +msgid "2018-11-03" msgstr "" -#: ../../../CHANGELOG.md:4510 -msgid "2018-09-07" +#: ../../../CHANGELOG.md:4517 +msgid "Customize parts of Riot's config" msgstr "" -#: ../../../CHANGELOG.md:4512 -msgid "Mautrix Telegram bridging support" -msgstr "" - -#: ../../../CHANGELOG.md:4514 -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:4516 -msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." -msgstr "" - -#: ../../../CHANGELOG.md:4518 -msgid "Events cache size increase and configurability for Matrix Synapse" -msgstr "" - -#: ../../../CHANGELOG.md:4520 -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:4522 -msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." -msgstr "" - -#: ../../../CHANGELOG.md:4524 -msgid "Password-peppering support for Matrix Synapse" -msgstr "" - -#: ../../../CHANGELOG.md:4526 -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:4528 -msgid "Statistics-reporting support for Matrix Synapse" +#: ../../../CHANGELOG.md:4519 +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:4530 -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:4532 -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:4535 -msgid "2018-08-29" -msgstr "" - -#: ../../../CHANGELOG.md:4537 -msgid "Changing the way SSL certificates are retrieved" +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:4539 -msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgid "SSL protocols used to serve Riot and Synapse" msgstr "" #: ../../../CHANGELOG.md:4541 -msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgid "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:4543 -msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" +msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." msgstr "" #: ../../../CHANGELOG.md:4545 -msgid "`systemctl stop 'matrix*'`" -msgstr "" - -#: ../../../CHANGELOG.md:4546 -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:4547 -msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +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:4548 -msgid "re-run the playbook's [installation](docs/installing.md)" +msgid "2018-11-01" msgstr "" -#: ../../../CHANGELOG.md:4549 -msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +#: ../../../CHANGELOG.md:4550 +msgid "Postgres 11 support" msgstr "" #: ../../../CHANGELOG.md:4552 -msgid "2018-08-21" +msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." msgstr "" #: ../../../CHANGELOG.md:4554 -msgid "Matrix Corporal support" +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:4556 -msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +#: ../../../CHANGELOG.md:4643 +#: ../../../CHANGELOG.md:4763 +msgid "(BC Break) Renaming playbook variables" msgstr "" #: ../../../CHANGELOG.md:4558 -msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +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:4561 -msgid "2018-08-20" +#: ../../../CHANGELOG.md:4562 +msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4563 -msgid "Matrix Synapse rate limit control variables" +msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4564 +msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4565 -msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4566 +msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4567 +msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4568 +msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4569 +msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4570 +msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4571 +msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" msgstr "" #: ../../../CHANGELOG.md:4572 -msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" msgstr "" -#: ../../../CHANGELOG.md:4574 -msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +#: ../../../CHANGELOG.md:4573 +msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" msgstr "" #: ../../../CHANGELOG.md:4576 -msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgid "2018-10-26" msgstr "" -#: ../../../CHANGELOG.md:4579 -msgid "2018-08-17" +#: ../../../CHANGELOG.md:4578 +msgid "Mautrix Whatsapp bridging support" msgstr "" -#: ../../../CHANGELOG.md:4581 -msgid "REST auth support via matrix-synapse-rest-auth" +#: ../../../CHANGELOG.md:4580 +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:4583 -msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +#: ../../../CHANGELOG.md:4582 +msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." msgstr "" #: ../../../CHANGELOG.md:4585 -msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgid "2018-10-25" msgstr "" #: ../../../CHANGELOG.md:4587 -msgid "Compression improvements" +msgid "Support for controlling Matrix federation" msgstr "" #: ../../../CHANGELOG.md:4589 -msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." +msgid "The playbook 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:4592 -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." +msgid "2018-10-24" msgstr "" -#: ../../../CHANGELOG.md:4595 -msgid "Disabling some unnecessary Synapse services" +#: ../../../CHANGELOG.md:4594 +msgid "Disabling riot-web guests" msgstr "" -#: ../../../CHANGELOG.md:4597 -msgid "The following services are not necessary, so they have been disabled:" -msgstr "" - -#: ../../../CHANGELOG.md:4598 -msgid "on the federation port (8448): the `client` service" +#: ../../../CHANGELOG.md:4596 +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:4599 -msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgid "2018-10-21" msgstr "" #: ../../../CHANGELOG.md:4601 -msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgid "Self-check maintenance command" msgstr "" -#: ../../../CHANGELOG.md:4604 -msgid "2018-08-15" +#: ../../../CHANGELOG.md:4603 +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:4606 -msgid "mxisd Identity Server support" +msgid "2018-10-05" msgstr "" #: ../../../CHANGELOG.md:4608 -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)." +msgid "Presence tracking made configurable" msgstr "" -#: ../../../CHANGELOG.md:4611 -msgid "2018-08-14" +#: ../../../CHANGELOG.md:4610 +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:4613 -msgid "Email-sending support" +#: ../../../CHANGELOG.md:4612 +msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." msgstr "" #: ../../../CHANGELOG.md:4615 -msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +msgid "2018-09-27" msgstr "" #: ../../../CHANGELOG.md:4617 -msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgid "Synapse Cache Factor made configurable" msgstr "" -#: ../../../CHANGELOG.md:4620 -msgid "2018-08-08" +#: ../../../CHANGELOG.md:4619 +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:4621 +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:4624 +msgid "2018-09-26" msgstr "" #: ../../../CHANGELOG.md:4626 -msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" -msgstr "" - -#: ../../../CHANGELOG.md:4627 -msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" +msgid "Disabling Docker container logging" msgstr "" #: ../../../CHANGELOG.md:4628 -msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" -msgstr "" - -#: ../../../CHANGELOG.md:4629 -msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" +msgid "`--log-driver=none` is used for all Docker containers now." msgstr "" #: ../../../CHANGELOG.md:4630 -msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" -msgstr "" - -#: ../../../CHANGELOG.md:4631 -msgid "from `docker_riot_image` to `matrix_docker_image_riot`" +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:4632 -msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" -msgstr "" - -#: ../../../CHANGELOG.md:4633 -msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +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:4635 -msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgid "2018-09-17" msgstr "" #: ../../../CHANGELOG.md:4637 -msgid "Renaming Ansible playbook tag" +msgid "Service discovery support" msgstr "" #: ../../../CHANGELOG.md:4639 -msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +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:4641 +msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4647 +msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgstr "" + +#: ../../../CHANGELOG.md:4648 +msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +msgstr "" + +#: ../../../CHANGELOG.md:4651 +msgid "2018-09-07" +msgstr "" + +#: ../../../CHANGELOG.md:4653 +msgid "Mautrix Telegram bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4655 +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:4657 +msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4659 +msgid "Events cache size increase and configurability for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4661 +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:4663 +msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgstr "" + +#: ../../../CHANGELOG.md:4665 +msgid "Password-peppering support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4667 +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:4669 +msgid "Statistics-reporting support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4671 +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:4673 +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:4676 +msgid "2018-08-29" +msgstr "" + +#: ../../../CHANGELOG.md:4678 +msgid "Changing the way SSL certificates are retrieved" +msgstr "" + +#: ../../../CHANGELOG.md:4680 +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:4682 +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:4684 +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:4686 +msgid "`systemctl stop 'matrix*'`" +msgstr "" + +#: ../../../CHANGELOG.md:4687 +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:4688 +msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4689 +msgid "re-run the playbook's [installation](docs/installing.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4690 +msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4693 +msgid "2018-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:4695 +msgid "Matrix Corporal support" +msgstr "" + +#: ../../../CHANGELOG.md:4697 +msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4699 +msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4702 +msgid "2018-08-20" +msgstr "" + +#: ../../../CHANGELOG.md:4704 +msgid "Matrix Synapse rate limit control variables" +msgstr "" + +#: ../../../CHANGELOG.md:4706 +msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +msgstr "" + +#: ../../../CHANGELOG.md:4713 +msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4715 +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:4717 +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:4720 +msgid "2018-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:4722 +msgid "REST auth support via matrix-synapse-rest-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4724 +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:4726 +msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4728 +msgid "Compression improvements" +msgstr "" + +#: ../../../CHANGELOG.md:4730 +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:4733 +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:4736 +msgid "Disabling some unnecessary Synapse services" +msgstr "" + +#: ../../../CHANGELOG.md:4738 +msgid "The following services are not necessary, so they have been disabled:" +msgstr "" + +#: ../../../CHANGELOG.md:4739 +msgid "on the federation port (8448): the `client` service" +msgstr "" + +#: ../../../CHANGELOG.md:4740 +msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgstr "" + +#: ../../../CHANGELOG.md:4742 +msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgstr "" + +#: ../../../CHANGELOG.md:4745 +msgid "2018-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:4747 +msgid "mxisd Identity Server support" +msgstr "" + +#: ../../../CHANGELOG.md:4749 +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:4752 +msgid "2018-08-14" +msgstr "" + +#: ../../../CHANGELOG.md:4754 +msgid "Email-sending support" +msgstr "" + +#: ../../../CHANGELOG.md:4756 +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:4758 +msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgstr "" + +#: ../../../CHANGELOG.md:4761 +msgid "2018-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:4767 +msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4768 +msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4769 +msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgstr "" + +#: ../../../CHANGELOG.md:4770 +msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" +msgstr "" + +#: ../../../CHANGELOG.md:4771 +msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgstr "" + +#: ../../../CHANGELOG.md:4772 +msgid "from `docker_riot_image` to `matrix_docker_image_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:4773 +msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgstr "" + +#: ../../../CHANGELOG.md:4774 +msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgstr "" + +#: ../../../CHANGELOG.md:4776 +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:4778 +msgid "Renaming Ansible playbook tag" +msgstr "" + +#: ../../../CHANGELOG.md:4780 +msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgstr "" + +#: ../../../CHANGELOG.md:4782 msgid "Docker container linking" msgstr "" -#: ../../../CHANGELOG.md:4643 +#: ../../../CHANGELOG.md:4784 msgid "Changed the way the Docker containers are linked together. The ones that need to communicate with others operate in a `matrix` network now and not in the default bridge network." msgstr "" diff --git a/i18n/translation-templates/README.pot b/i18n/translation-templates/README.pot index f663d72c1..9cd1314ec 100644 --- a/i18n/translation-templates/README.pot +++ b/i18n/translation-templates/README.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-12 15:37+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -556,6 +556,18 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-mautrix-gmessages.md)" msgstr "" +#: ../../../README.md:0 +msgid "[mautrix-gvoice](https://github.com/mautrix/gvoice)" +msgstr "" + +#: ../../../README.md:0 +msgid "Bridge to [Google Voice](https://voice.google.com/)" +msgstr "" + +#: ../../../README.md:0 +msgid "[Link](docs/configuring-playbook-bridge-mautrix-gvoice.md)" +msgstr "" + #: ../../../README.md:0 msgid "[mautrix-whatsapp](https://github.com/mautrix/whatsapp)" msgstr "" @@ -676,18 +688,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-appservice-irc.md)" msgstr "" -#: ../../../README.md:0 -msgid "[matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk)" -msgstr "" - -#: ../../../README.md:0 -msgid "Bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG)" -msgstr "" - -#: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-bridge-appservice-kakaotalk.md)" -msgstr "" - #: ../../../README.md:0 msgid "[matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord)" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-captcha.pot b/i18n/translation-templates/docs/configuring-captcha.pot index c9eb868f4..74cae6b2e 100644 --- a/i18n/translation-templates/docs/configuring-captcha.pot +++ b/i18n/translation-templates/docs/configuring-captcha.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,43 +33,59 @@ msgid "The captcha mechanism used is Google's [ReCaptcha](https://www.google.com msgstr "" #: ../../../docs/configuring-captcha.md:18 -msgid "ReCaptcha" +msgid "If you are using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), captcha is configured there instead (it handles registration), and [Cloudflare Turnstile](https://www.cloudflare.com/application-services/products/turnstile/) is supported as well. See [Matrix Authentication Service](#matrix-authentication-service) below." msgstr "" #: ../../../docs/configuring-captcha.md:20 -#: ../../../docs/configuring-captcha.md:46 -msgid "Getting keys" +msgid "ReCaptcha" msgstr "" #: ../../../docs/configuring-captcha.md:22 #: ../../../docs/configuring-captcha.md:48 -msgid "Requires a site/secret key pair from:" +msgid "Getting keys" msgstr "" #: ../../../docs/configuring-captcha.md:24 -msgid "" +#: ../../../docs/configuring-captcha.md:50 +msgid "Requires a site/secret key pair from:" msgstr "" #: ../../../docs/configuring-captcha.md:26 -msgid "Must be a reCAPTCHA **v2** key using the \"I'm not a robot\" Checkbox option" +msgid "" msgstr "" #: ../../../docs/configuring-captcha.md:28 -msgid "Setting ReCaptcha keys" +msgid "Must be a reCAPTCHA **v2** key using the \"I'm not a robot\" Checkbox option" msgstr "" #: ../../../docs/configuring-captcha.md:30 +msgid "Setting ReCaptcha keys" +msgstr "" + +#: ../../../docs/configuring-captcha.md:32 msgid "Once registered as above, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-captcha.md:44 +#: ../../../docs/configuring-captcha.md:46 msgid "hCaptcha" msgstr "" -#: ../../../docs/configuring-captcha.md:50 +#: ../../../docs/configuring-captcha.md:52 msgid "" msgstr "" -#: ../../../docs/configuring-captcha.md:52 +#: ../../../docs/configuring-captcha.md:54 msgid "Setting hCaptcha keys" msgstr "" + +#: ../../../docs/configuring-captcha.md:67 +msgid "Matrix Authentication Service" +msgstr "" + +#: ../../../docs/configuring-captcha.md:69 +msgid "When [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) is enabled, registration and other account operations are handled by it, so captcha protection is configured there (the Synapse and Dendrite settings above do not apply)." +msgstr "" + +#: ../../../docs/configuring-captcha.md:71 +msgid "Matrix Authentication Service supports [ReCaptcha v2](http://www.google.com/recaptcha/admin), [Cloudflare Turnstile](https://www.cloudflare.com/application-services/products/turnstile/) and [hCaptcha](https://dashboard.hcaptcha.com/sites/new). Obtain a site/secret key pair from your chosen service, then add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-discord.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-discord.pot index 350509cdb..2bc306f62 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-discord.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-discord.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,7 +73,7 @@ msgid "`roles/custom/matrix-bridge-appservice-discord/defaults/main.yml` for som msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-discord.md:47 -msgid "`roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_discord_configuration_extension_yaml` variable" +msgid "`roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bridge_appservice_discord_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-discord.md:49 @@ -150,7 +150,7 @@ msgid "To get started with Portal Bridging:" msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-discord.md:101 -msgid "To invite the bot to Discord, retrieve the invite link from the `{{ matrix_appservice_discord_config_path }}/invite_link` file on the server (this defaults to `/matrix/appservice-discord/config/invite_link`). You need to peek at the file on the server via SSH, etc., because it's not available via HTTP(S)." +msgid "To invite the bot to Discord, retrieve the invite link from the `{{ matrix_bridge_appservice_discord_config_path }}/invite_link` file on the server (this defaults to `/matrix/appservice-discord/config/invite_link`). You need to peek at the file on the server via SSH, etc., because it's not available via HTTP(S)." msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-discord.md:102 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-irc.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-irc.pot index 1cf6a7212..6d7984ff5 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-irc.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-irc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "`roles/custom/matrix-bridge-appservice-irc/defaults/main.yml` for some va msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-irc.md:79 -msgid "`roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_irc_configuration_extension_yaml` variable" +msgid "`roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bridge_appservice_irc_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-irc.md:81 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-kakaotalk.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-kakaotalk.pot index ce2d9dbe5..d70b5846d 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-kakaotalk.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-kakaotalk.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-19 07:40+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,109 +17,21 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:10 -msgid "Setting up Appservice Kakaotalk bridging (optional)" +msgid "Setting up Appservice Kakaotalk bridging (optional, removed)" msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:12 -msgid "The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you, for bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG). This bridge is based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code." +msgid "🪦 The playbook used to be able to install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) (a bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG)), but no longer includes this component." msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:14 -msgid "See the project's [documentation](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/src/branch/master/README.md) to learn what it does and why it might be useful to you." +msgid "The bridge could only be installed by self-building its source code, and its upstream repository has become unreachable, which makes installation impossible. The bridge was also based on the now-unmaintained [node-kakao](https://github.com/storycraft/node-kakao) library, and there have been reports that using it may get your Kakaotalk account banned." msgstr "" -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:17 -msgid "There have been recent reports (~2022-09-16) that **using this bridge may get your account banned**." +#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:16 +msgid "Uninstalling the component manually" msgstr "" -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:19 -msgid "Prerequisite (optional)" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:21 -msgid "Enable Shared Secret Auth" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:23 -msgid "If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:25 -msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:27 -msgid "**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:29 -msgid "Adjusting the playbook configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:31 -msgid "To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:37 -msgid "Extending the configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:39 -msgid "There are some additional things you may wish to configure about the bridge." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:41 -msgid "Take a look at:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:43 -msgid "`roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:44 -msgid "`roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_kakaotalk_configuration_extension_yaml` variable" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:46 -msgid "Installing" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:48 -msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:55 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:57 -msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:59 -msgid "Usage" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:61 -msgid "To use the bridge, you need to start a chat with `@kakaotalkbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain)." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:63 -msgid "You then need to send `login --save EMAIL_OR_PHONE_NUMBER` to the bridge bot to enable bridging for your Kakaotalk account. The `--save` flag may be omitted, if you'd rather not save your password." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:65 -msgid "Troubleshooting" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:67 -msgid "As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-appservice-kakaotalk`." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:69 -msgid "Increase logging verbosity" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:71 -msgid "The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" +#: ../../../docs/configuring-playbook-bridge-appservice-kakaotalk.md:18 +msgid "If you still have matrix-appservice-kakaotalk installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server:" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-heisenbridge.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-heisenbridge.pot index b097927be..fde0fccd6 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-heisenbridge.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-heisenbridge.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "Adjusting the Heisenbridge URL (optional)" msgstr "" #: ../../../docs/configuring-playbook-bridge-heisenbridge.md:40 -msgid "By tweaking the `matrix_heisenbridge_hostname` and `matrix_heisenbridge_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one." +msgid "By tweaking the `matrix_bridge_heisenbridge_hostname` and `matrix_bridge_heisenbridge_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one." msgstr "" #: ../../../docs/configuring-playbook-bridge-heisenbridge.md:42 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-hookshot.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-hookshot.pot index 5fe26bdfd..210e79847 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-hookshot.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-hookshot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -56,95 +56,103 @@ msgstr "" msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `GITHUB_PRIVATE_KEY_HERE` with the one created [above](#download-github-app-private-key)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:43 -msgid "For each of the services (GitHub, GitLab, Jira, Figma, and generic webhooks) fill in the respective variables `matrix_hookshot_service_*` listed in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) as required." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:45 -msgid "Take special note of the `matrix_hookshot_*_enabled` variables. Services that need no further configuration are enabled by default (GitLab and generic webhooks), while you must first add the required configuration and enable the others (GitHub, Jira, and Figma)." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:47 -msgid "Extending the configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:49 -msgid "There are some additional things you may wish to configure about the bridge." +#: ../../../docs/configuring-playbook-bridge-hookshot.md:44 +msgid "End-to-bridge encryption also requires the homeserver to support (and have enabled) [MSC2409](https://github.com/matrix-org/matrix-spec-proposals/pull/2409) and [MSC3202](https://github.com/matrix-org/matrix-spec-proposals/pull/3202). If you are using Synapse, enable them by also adding this to your `vars.yml` file:" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:51 -msgid "Take a look at:" +msgid "These are experimental homeserver-wide features (as is Hookshot's encryption support itself), so enable them deliberately." msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:53 +msgid "For each of the services (GitHub, GitLab, Jira, Figma, and generic webhooks) fill in the respective variables `matrix_bridge_hookshot_service_*` listed in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) as required." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:55 +msgid "Take special note of the `matrix_bridge_hookshot_*_enabled` variables. Services that need no further configuration are enabled by default (GitLab and generic webhooks), while you must first add the required configuration and enable the others (GitHub, Jira, and Figma)." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:57 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:59 +msgid "There are some additional things you may wish to configure about the bridge." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:61 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:63 msgid "`roles/custom/matrix-bridge-hookshot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:54 -msgid "`roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables" +#: ../../../docs/configuring-playbook-bridge-hookshot.md:64 +msgid "`roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bridge_hookshot_configuration_extension_yaml` and `matrix_bridge_hookshot_registration_extension_yaml` variables" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:56 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:66 msgid "Refer the [official instructions](https://matrix-org.github.io/matrix-hookshot/latest/setup.html) and the comments in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) to learn what the individual options do." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:58 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:68 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:60 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:70 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:67 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:77 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-service hookshot` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:69 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:79 msgid "`just install-service hookshot` is useful for maintaining your setup quickly when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note `just setup-all` runs the `ensure-matrix-users-created` tag too." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:71 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:81 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:73 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:83 msgid "To use the bridge, you need to create a room and invite the Hookshot bot (`@hookshot:example.com`) to it." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:75 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:85 msgid "Make sure the bot is able to send state events (usually the Moderator power level in clients)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:77 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:87 msgid "Send `!hookshot help` to the bot to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:79 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:89 msgid "Refer to [Hookshot's documentation](https://matrix-org.github.io/matrix-hookshot/latest/usage.html) for more details about using the bridge's various features." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:81 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:91 msgid "💡 **Note**: the different listeners are bound to certain paths which might differ from those assumed by the hookshot documentation. See [URLs for bridges setup](#urls-for-bridges-setup) below." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:83 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:93 msgid "Reset crypto store" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:85 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:95 msgid "Should the crypto store be corrupted, you can reset it by executing this Ansible playbook with the tag `reset-hookshot-encryption` added:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:91 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:101 msgid "More setup documentation" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:93 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:103 msgid "URLs for bridges setup" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:95 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:105 msgid "Unless indicated otherwise, the following endpoints are reachable on your `matrix.` subdomain (if the feature is enabled)." msgstr "" @@ -173,7 +181,7 @@ msgid "`/hookshot/webhooks/`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_webhook_endpoint`" +msgid "`matrix_bridge_hookshot_webhook_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 @@ -189,7 +197,7 @@ msgid "`/hookshot/webhooks/webhook`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_generic_endpoint`" +msgid "`matrix_bridge_hookshot_generic_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 @@ -205,7 +213,7 @@ msgid "`/hookshot/webhooks/oauth`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_github_oauth_endpoint`" +msgid "`matrix_bridge_hookshot_github_oauth_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 @@ -221,7 +229,7 @@ msgid "`/hookshot/webhooks/jira/oauth`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_jira_oauth_endpoint`" +msgid "`matrix_bridge_hookshot_jira_oauth_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 @@ -237,7 +245,7 @@ msgid "`/hookshot/webhooks/figma/webhook`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_figma_endpoint`" +msgid "`matrix_bridge_hookshot_figma_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 @@ -253,7 +261,7 @@ msgid "`/hookshot/_matrix/app/`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_appservice_endpoint`" +msgid "`matrix_bridge_hookshot_appservice_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 @@ -269,105 +277,105 @@ msgid "`/hookshot/widgetapi/`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 -msgid "`matrix_hookshot_widgets_endpoint`" +msgid "`matrix_bridge_hookshot_widgets_endpoint`" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:0 msgid "Widgets" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:107 -msgid "Also see the various `matrix_hookshot_container_labels_*` variables in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:109 -msgid "The different listeners are also reachable *internally* in the docker-network via the container's name (configured by `matrix_hookshot_container_url`) and on different ports (e.g. `matrix_hookshot_appservice_port`). Read [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) in detail for more info." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:111 -msgid "Manage GitHub Private Key with aux role" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:113 -msgid "The GitHub bridge requires you to install a private key file. This can be done in multiple ways:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:115 -msgid "copy the *contents* of the downloaded file and set the variable `matrix_hookshot_github_private_key` to the contents (see example in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml))." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:116 -msgid "somehow copy the file to the path `{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}` (default: `/matrix/hookshot/private-key.pem`) on the server manually." -msgstr "" - #: ../../../docs/configuring-playbook-bridge-hookshot.md:117 -msgid "use the [`aux` role](https://github.com/mother-of-all-self-hosting/ansible-role-aux) to copy the file from an arbitrary path on your ansible client to the correct path on the server." +msgid "Also see the various `matrix_bridge_hookshot_container_labels_*` variables in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly." msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:119 -msgid "To use the `aux` role, make sure the `matrix_hookshot_github_private_key` variable is empty. Then add the following configuration to your `vars.yml` file:" +msgid "The different listeners are also reachable *internally* in the docker-network via the container's name (configured by `matrix_bridge_hookshot_container_url`) and on different ports (e.g. `matrix_bridge_hookshot_appservice_port`). Read [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) in detail for more info." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:130 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:121 +msgid "Manage GitHub Private Key with aux role" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:123 +msgid "The GitHub bridge requires you to install a private key file. This can be done in multiple ways:" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:125 +msgid "copy the *contents* of the downloaded file and set the variable `matrix_bridge_hookshot_github_private_key` to the contents (see example in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml))." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:126 +msgid "somehow copy the file to the path `{{ matrix_bridge_hookshot_base_path }}/{{ matrix_bridge_hookshot_github_private_key_file }}` (default: `/matrix/hookshot/private-key.pem`) on the server manually." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:127 +msgid "use the [`aux` role](https://github.com/mother-of-all-self-hosting/ansible-role-aux) to copy the file from an arbitrary path on your ansible client to the correct path on the server." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:129 +msgid "To use the `aux` role, make sure the `matrix_bridge_hookshot_github_private_key` variable is empty. Then add the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:140 msgid "For more information, see the documentation in the [default configuration of the aux role](https://github.com/mother-of-all-self-hosting/ansible-role-aux/blob/main/defaults/main.yml)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:132 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:142 msgid "Enable metrics" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:134 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:144 msgid "The playbook can enable and configure the metrics of the service for you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:136 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:146 msgid "Metrics are **only enabled by default** if the builtin [Prometheus](configuring-playbook-prometheus-grafana.md) is enabled (by default, Prometheus isn't enabled). If so, metrics will automatically be collected by Prometheus and made available in Grafana. You will, however, need to set up your own Dashboard for displaying them." msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:138 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:148 msgid "To enable the metrics, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:145 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:155 msgid "**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by adding the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:151 +#: ../../../docs/configuring-playbook-bridge-hookshot.md:161 msgid "By default metrics are exposed publicly **without** password-protection. To password-protect the metrics with dedicated credentials, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-hookshot.md:158 -msgid "To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:160 -msgid "**Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:162 -msgid "Enable Grafana (optional)" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:164 -msgid "Probably you wish to enable Grafana along with Prometheus for generating graphs of the metrics." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-hookshot.md:166 -msgid "To enable Grafana, see [this section](configuring-playbook-prometheus-grafana.md#adjusting-the-playbook-configuration-grafana) for instructions." -msgstr "" - #: ../../../docs/configuring-playbook-bridge-hookshot.md:168 -msgid "Troubleshooting" +msgid "To `matrix_bridge_hookshot_container_labels_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it." msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:170 -msgid "As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-hookshot`." +msgid "**Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information." msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:172 -msgid "Increase logging verbosity" +msgid "Enable Grafana (optional)" msgstr "" #: ../../../docs/configuring-playbook-bridge-hookshot.md:174 +msgid "Probably you wish to enable Grafana along with Prometheus for generating graphs of the metrics." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:176 +msgid "To enable Grafana, see [this section](configuring-playbook-prometheus-grafana.md#adjusting-the-playbook-configuration-grafana) for instructions." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:178 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:180 +msgid "As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-hookshot`." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:182 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-hookshot.md:184 msgid "The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-matrix-bridge-sms.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-matrix-bridge-sms.pot index f83068b82..7a50e405e 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-matrix-bridge-sms.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-matrix-bridge-sms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "Take a look at:" msgstr "" #: ../../../docs/configuring-playbook-bridge-matrix-bridge-sms.md:49 -msgid "`roles/custom/matrix-bridge-sms/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_sms_bridge_configuration_extension_yaml` variable" +msgid "`roles/custom/matrix-bridge-sms/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bridge_sms_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-bridge-matrix-bridge-sms.md:51 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-bridges.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-bridges.pot index b4b2f6b66..e87d25beb 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-bridges.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-bridges.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-29 17:11+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,11 +41,11 @@ msgid "To enable the bridge, add the following configuration to your `inventory/ msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:27 -msgid "**Note**: for bridging to Meta's Messenger or Instagram, you would need to add `meta` with an underscore symbol (`_`) or hyphen (`-`) based on the context as prefix to each `SERVICENAME`; add `_` to variables (as in `matrix_mautrix_meta_messenger_configuration_extension_yaml` for example) and `-` to paths of the configuration files (as in `roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2`), respectively." +msgid "**Note**: for bridging to Meta's Messenger or Instagram, you would need to add `meta` with an underscore symbol (`_`) or hyphen (`-`) based on the context as prefix to each `SERVICENAME`; add `_` to variables (as in `matrix_bridge_mautrix_meta_messenger_configuration_extension_yaml` for example) and `-` to paths of the configuration files (as in `roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2`), respectively." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:29 -msgid "There are some additional things you may wish to configure about the bridge before you continue. Each bridge may have additional requirements besides `_enabled: true`. For example, the mautrix-telegram bridge (our documentation page about it is [here](configuring-playbook-bridge-mautrix-telegram.md)) requires the `matrix_mautrix_telegram_api_id` and `matrix_mautrix_telegram_api_hash` variables to be defined. Refer to each bridge's individual documentation page for details about enabling bridges." +msgid "There are some additional things you may wish to configure about the bridge before you continue. Each bridge may have additional requirements besides `_enabled: true`. For example, the mautrix-telegram bridge (our documentation page about it is [here](configuring-playbook-bridge-mautrix-telegram.md)) requires the `matrix_bridge_mautrix_telegram_api_id` and `matrix_bridge_mautrix_telegram_api_hash` variables to be defined. Refer to each bridge's individual documentation page for details about enabling bridges." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:31 @@ -110,7 +110,7 @@ msgid "**for all bridges with relay mode support**:" msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:95 -msgid "You can only have one `matrix_mautrix_SERVICENAME_configuration_extension_yaml` definition in `vars.yml` per bridge, so if you need multiple pieces of configuration there, just merge them like this:" +msgid "You can only have one `matrix_bridge_mautrix_SERVICENAME_configuration_extension_yaml` definition in `vars.yml` per bridge, so if you need multiple pieces of configuration there, just merge them like this:" msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:109 @@ -202,7 +202,7 @@ msgid "`roles/custom/matrix-bridge-mautrix-SERVICENAME/defaults/main.yml` for so msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:177 -msgid "`roles/custom/matrix-bridge-mautrix-SERVICENAME/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_mautrix_SERVICENAME_configuration_extension_yaml` variable" +msgid "`roles/custom/matrix-bridge-mautrix-SERVICENAME/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bridge_mautrix_SERVICENAME_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:179 @@ -286,7 +286,7 @@ msgid "Previously there were multiple different automatic double puppeting metho msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:229 -msgid "Some bridges like [the deprecated Facebook mautrix bridge](configuring-playbook-bridge-mautrix-facebook.md) and [matrix-appservice-kakaotalk](configuring-playbook-bridge-appservice-kakaotalk.md), which is partially based on the Facebook bridge, are compatible with the Shared Secret Auth service only. These bridges automatically perform Double Puppeting if [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook." +msgid "Some bridges like [the deprecated Facebook mautrix bridge](configuring-playbook-bridge-mautrix-facebook.md) are compatible with the Shared Secret Auth service only. These bridges automatically perform Double Puppeting if [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-bridges.md:231 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-gvoice.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-gvoice.pot new file mode 100644 index 000000000..c3533eedb --- /dev/null +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-gvoice.pot @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community members +# This file is distributed under the same license as the matrix-docker-ansible-deploy package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: matrix-docker-ansible-deploy \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:8 +msgid "Setting up Mautrix Google Voice bridging (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:10 +msgid "Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:12 +msgid "The playbook can install and configure [mautrix-gvoice](https://github.com/mautrix/gvoice) for you, for bridging to [Google Voice](https://voice.google.com/)." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:14 +msgid "See the project's [documentation](https://docs.mau.fi/bridges/go/gvoice/index.html) to learn what it does and why it might be useful to you." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:16 +msgid "Prerequisite (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:18 +msgid "Enable Appservice Double Puppet" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:20 +msgid "If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) for this playbook." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:22 +msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:24 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:26 +msgid "To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:32 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:34 +msgid "There are some additional things you may wish to configure about the bridge." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:37 +msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:39 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:41 +msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:48 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:50 +msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:52 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:54 +msgid "To use the bridge, start a chat with `@gvoicebot:example.com` (where `example.com` is your base domain, not the `matrix.` domain)." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:56 +msgid "Google Voice has no phone to pair and no QR code to scan. It logs in with cookies, which you copy from a browser already signed in to [voice.google.com](https://voice.google.com/) and hand to the bot. It is fiddlier than scanning a code and feels more suspicious than it is, but Google leaves no cleaner door open. The bridge's [official Authentication guide](https://docs.mau.fi/bridges/go/gvoice/authentication.html) has the exact cookies to grab and the steps for grabbing them." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:58 +msgid "Those cookies are a login session, and Google expires them on its own schedule. When they lapse the bridge goes quiet and you log in again. Nothing is broken, that is just how cookie auth ages." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:60 +msgid "Once you log in, the bridge builds portal rooms for your recent conversations and carries text and media both ways. Don't reach for it to start a brand-new chat or to place a call, though. That ground still belongs to Google Voice, so keep the app around for those." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:62 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:64 +msgid "As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-gvoice`." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:66 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-gvoice.md:68 +msgid "The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-instagram.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-instagram.pot index e3ea1cec2..95291813b 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-instagram.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-instagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,7 +53,7 @@ msgid "If you've been using the [mautrix-instagram](./configuring-playbook-bridg msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-meta-instagram.md:26 -msgid "both trying to use `@instagrambot:example.com` as their username. This conflict may be resolved by adjusting `matrix_mautrix_instagram_appservice_bot_username` or `matrix_mautrix_meta_instagram_appservice_username`" +msgid "both trying to use `@instagrambot:example.com` as their username. This conflict may be resolved by adjusting `matrix_mautrix_instagram_appservice_bot_username` or `matrix_bridge_mautrix_meta_instagram_appservice_username`" msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-meta-instagram.md:27 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-messenger.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-messenger.pot index ea8796d7f..f6fd090f3 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-messenger.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-meta-messenger.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -113,7 +113,7 @@ msgid "(default) (`messenger`) Messenger via `messenger.com` — usable even wit msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-meta-messenger.md:59 -msgid "You may switch the mode via the `matrix_mautrix_meta_messenger_meta_mode` variable. The playbook defaults to the `messenger` mode, because it's most universal (every Facebook user has a Messenger account, but the opposite is not true)." +msgid "You may switch the mode via the `matrix_bridge_mautrix_meta_messenger_meta_mode` variable. The playbook defaults to the `messenger` mode, because it's most universal (every Facebook user has a Messenger account, but the opposite is not true)." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-meta-messenger.md:61 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-signal.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-signal.pot index 18bacaf90..ab85a8a9c 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-signal.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-signal.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,7 +45,7 @@ msgid "If you're running with the Postgres database server integrated by the pla msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-signal.md:31 -msgid "However, if you're [using an external Postgres server](configuring-playbook-external-postgres.md), you'd need to manually prepare a Postgres database for this bridge and adjust the variables related to that (`matrix_mautrix_signal_database_*`)." +msgid "However, if you're [using an external Postgres server](configuring-playbook-external-postgres.md), you'd need to manually prepare a Postgres database for this bridge and adjust the variables related to that (`matrix_bridge_mautrix_signal_database_*`)." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-signal.md:33 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-wsproxy.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-wsproxy.pot index 96c26f6d2..548c8c604 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-wsproxy.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-wsproxy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -61,7 +61,7 @@ msgid "Adjusting the wsproxy URL (optional)" msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-wsproxy.md:41 -msgid "By tweaking the `matrix_mautrix_wsproxy_hostname` variable, you can easily make the service available at a **different hostname** than the default one." +msgid "By tweaking the `matrix_bridge_mautrix_wsproxy_hostname` variable, you can easily make the service available at a **different hostname** than the default one." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-wsproxy.md:43 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-meshtastic-relay.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-meshtastic-relay.pot index 953fd3ba7..beef1d21a 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-meshtastic-relay.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-meshtastic-relay.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 11:16+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -61,7 +61,7 @@ msgid "To enable the bridge, add the following configuration to your `inventory/ msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:56 -msgid "By default, the bot's Matrix ID is `@meshtasticbot:{{ matrix_domain }}`. To change it, adjust `matrix_meshtastic_relay_matrix_bot_user_id`." +msgid "By default, the bot's Matrix ID is `@meshtasticbot:{{ matrix_domain }}`. To change it, adjust `matrix_bridge_meshtastic_relay_matrix_bot_user_id`." msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:58 @@ -69,7 +69,7 @@ msgid "Bluetooth (BLE) connections" msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:60 -msgid "When `matrix_meshtastic_relay_connection_type` is `ble`, the container runs with `--network=host` and bind-mounts the host's DBus socket — both are required for Bluetooth pairing/communication. Only use this connection type if you trust the playbook-managed host and are comfortable with these privileges." +msgid "When `matrix_bridge_meshtastic_relay_connection_type` is `ble`, the container runs with `--network=host` and bind-mounts the host's DBus socket — both are required for Bluetooth pairing/communication. Only use this connection type if you trust the playbook-managed host and are comfortable with these privileges." msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:62 @@ -77,7 +77,7 @@ msgid "Serial connections" msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:64 -msgid "When `matrix_meshtastic_relay_connection_type` is `serial`, the host device referenced by `matrix_meshtastic_relay_serial_port` is passed through to the container. Make sure that `matrix_user_uid` / `matrix_user_gid` have read/write access to that device (e.g. by adding the matrix user to the `dialout` group, or adjusting udev rules)." +msgid "When `matrix_bridge_meshtastic_relay_connection_type` is `serial`, the host device referenced by `matrix_bridge_meshtastic_relay_serial_port` is passed through to the container. Make sure that `matrix_user_uid` / `matrix_user_gid` have read/write access to that device (e.g. by adding the matrix user to the `dialout` group, or adjusting udev rules)." msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:66 @@ -93,7 +93,7 @@ msgid "Take a look at:" msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:72 -msgid "`roles/custom/matrix-bridge-meshtastic-relay/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override individual `matrix_meshtastic_relay_*` variables, or make finer-grained adjustments via `matrix_meshtastic_relay_configuration_extension_yaml`." +msgid "`roles/custom/matrix-bridge-meshtastic-relay/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override individual `matrix_bridge_meshtastic_relay_*` variables, or make finer-grained adjustments via `matrix_bridge_meshtastic_relay_configuration_extension_yaml`." msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:74 @@ -117,7 +117,7 @@ msgid "Usage" msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:89 -msgid "Invite the bot to the Matrix rooms listed in `matrix_meshtastic_relay_matrix_rooms_list` and it will relay between Matrix and the corresponding Meshtastic channel. Messages sent on Meshtastic will appear in Matrix and vice versa." +msgid "Invite the bot to the Matrix rooms listed in `matrix_bridge_meshtastic_relay_matrix_rooms_list` and it will relay between Matrix and the corresponding Meshtastic channel. Messages sent on Meshtastic will appear in Matrix and vice versa." msgstr "" #: ../../../docs/configuring-playbook-bridge-meshtastic-relay.md:91 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot index 045b8a359..410d7c416 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-03 11:56+0100\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,7 +53,7 @@ msgid "If you don't open these ports, you will still be able to send emails, but msgstr "" #: ../../../docs/configuring-playbook-bridge-postmoogle.md:27 -msgid "These port numbers are configurable via the `matrix_postmoogle_smtp_host_bind_port` and `matrix_postmoogle_submission_host_bind_port` variables, but other email servers will try to deliver on these default (standard) ports, so changing them is of little use." +msgid "These port numbers are configurable via the `matrix_bridge_postmoogle_smtp_host_bind_port` and `matrix_bridge_postmoogle_submission_host_bind_port` variables, but other email servers will try to deliver on these default (standard) ports, so changing them is of little use." msgstr "" #: ../../../docs/configuring-playbook-bridge-postmoogle.md:29 @@ -189,7 +189,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bridge-postmoogle.md:90 -msgid "If you change the bridge's bot password (`matrix_postmoogle_password` in your `vars.yml` file) subsequently, the bot user's credentials on the homeserver won't be updated automatically. If you'd like to change the bot user's password, use a tool like [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_postmoogle_password` to let the bot know its new password." +msgid "If you change the bridge's bot password (`matrix_bridge_postmoogle_password` in your `vars.yml` file) subsequently, the bot user's credentials on the homeserver won't be updated automatically. If you'd like to change the bot user's password, use a tool like [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bridge_postmoogle_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bridge-postmoogle.md:92 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-rustpush.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-rustpush.pot index 4d66c35c3..63f646c1c 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-rustpush.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-rustpush.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-29 17:11+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -151,3 +151,23 @@ msgstr "" #: ../../../docs/configuring-playbook-bridge-rustpush.md:87 msgid "The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" msgstr "" + +#: ../../../docs/configuring-playbook-bridge-rustpush.md:96 +msgid "Notable Configuration Options" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-rustpush.md:97 +msgid "`matrix_bridge_rustpush_statuskit_notifications` will display StatusKit information for conversation participants. In some clients, this update will cause the DM to be pushed to the top of the conversation list continuously, so this option is disabled by default." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-rustpush.md:98 +msgid "`matrix_bridge_rustpush_statuskit_notification_style` can be set to either `topic` or `notice`" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-rustpush.md:99 +msgid "`topic` sets the status as a room topic. In supported clients (like Cinny and Sable), this will display `🔕 Focus` as a second line when the person has focus mode enabled." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-rustpush.md:100 +msgid "`notice` sends an `m.notice` event to the room which will display text in the room but should not generate a notification" +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-steam.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-steam.pot index 2e1e60cbd..05300612d 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-steam.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-steam.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -83,3 +83,11 @@ msgstr "" #: ../../../docs/configuring-playbook-bridge-steam.md:48 msgid "Send `help` to the bot to see the available commands." msgstr "" + +#: ../../../docs/configuring-playbook-bridge-steam.md:50 +msgid "Notable Configuration Options" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-steam.md:51 +msgid "`matrix_bridge_steam_network_presence_topic_enabled` and `matrix_bridge_steam_network_presence_topic_rich_presence_enabled` mirror Steam's [Enhanced Rich Presence](https://partner.steamgames.com/doc/features/enhancedrichpresence) feature in Matrix. This will display the user's current game and rich presence if supported by the game. This sets the DM room's `m.topic` field to achieve this. Some games (like Deadlock) update the rich presence every minute with a match timer. In some clients, the topic update will cause the DM to be pushed to the top of the conversation list continuously, so this option is disabled by default." +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-wechat.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-wechat.pot index 3757e497f..c1725daa5 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-wechat.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-wechat.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-19 07:40+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "`roles/custom/matrix-bridge-wechat/defaults/main.yml` for some variables msgstr "" #: ../../../docs/configuring-playbook-bridge-wechat.md:32 -msgid "`roles/custom/matrix-bridge-wechat/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_wechat_configuration_extension_yaml` variable" +msgid "`roles/custom/matrix-bridge-wechat/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bridge_wechat_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-bridge-wechat.md:34 diff --git a/i18n/translation-templates/docs/configuring-playbook-federation.pot b/i18n/translation-templates/docs/configuring-playbook-federation.pot index 4f89f1c2f..cda7f7153 100644 --- a/i18n/translation-templates/docs/configuring-playbook-federation.pot +++ b/i18n/translation-templates/docs/configuring-playbook-federation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-07 11:16+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,5 +81,9 @@ msgid "To make it possible to proxy the federation through a CDN such as CloudFl msgstr "" #: ../../../docs/configuring-playbook-federation.md:74 +msgid "**Note**: `matrix_synapse_federation_port_enabled: false` only makes sense in this specific setup, where federation traffic is served through the client port (because of the `federation` entry in `matrix_synapse_http_listener_resource_names`). If federation still flows through the dedicated federation port on your setup (e.g. another reverse proxy of yours forwarding a custom public port to this playbook's federation port), leave `matrix_synapse_federation_port_enabled` at its default (enabled). Disabling it removes the federation route entirely and breaks such setups." +msgstr "" + +#: ../../../docs/configuring-playbook-federation.md:76 msgid "**Use this at you own risk as all the possible side-effects of doing this are not fully known. However, it has been tested and works fine and passes all the tests on without issues.**" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook.pot b/i18n/translation-templates/docs/configuring-playbook.pot index 69d4135c7..4e2311e2a 100644 --- a/i18n/translation-templates/docs/configuring-playbook.pot +++ b/i18n/translation-templates/docs/configuring-playbook.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-12 15:37+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -285,47 +285,47 @@ msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge msgstr "" #: ../../../docs/configuring-playbook.md:149 -msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" +msgid "[Setting up Mautrix Google Voice bridging](configuring-playbook-bridge-mautrix-gvoice.md)" msgstr "" #: ../../../docs/configuring-playbook.md:151 -msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)" +msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" msgstr "" #: ../../../docs/configuring-playbook.md:153 -msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)" +msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)" msgstr "" #: ../../../docs/configuring-playbook.md:155 -msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" +msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)" msgstr "" #: ../../../docs/configuring-playbook.md:157 -msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" +msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" msgstr "" #: ../../../docs/configuring-playbook.md:159 -msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" +msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" msgstr "" #: ../../../docs/configuring-playbook.md:161 -msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)" +msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" msgstr "" #: ../../../docs/configuring-playbook.md:163 -msgid "[Setting up RustPush (iMessage) bridging](configuring-playbook-bridge-rustpush.md)" +msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)" msgstr "" #: ../../../docs/configuring-playbook.md:165 -msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" +msgid "[Setting up RustPush (iMessage) bridging](configuring-playbook-bridge-rustpush.md)" msgstr "" #: ../../../docs/configuring-playbook.md:167 -msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)" +msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" msgstr "" #: ../../../docs/configuring-playbook.md:169 -msgid "[Setting up Appservice Kakaotalk bridging](configuring-playbook-bridge-appservice-kakaotalk.md)" +msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)" msgstr "" #: ../../../docs/configuring-playbook.md:171 @@ -521,77 +521,81 @@ msgid "[Setting up the Sliding Sync proxy](configuring-playbook-sliding-sync-pro msgstr "" #: ../../../docs/configuring-playbook.md:266 -msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md) (removed; this component has been discontinued)" +msgid "[Setting up Appservice Kakaotalk bridging](configuring-playbook-bridge-appservice-kakaotalk.md) (removed; the upstream repository has become unreachable and the component could only be installed by self-building it)" msgstr "" #: ../../../docs/configuring-playbook.md:268 -msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))" +msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md) (removed; this component has been discontinued)" msgstr "" #: ../../../docs/configuring-playbook.md:270 -msgid "[Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md))" +msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))" msgstr "" #: ../../../docs/configuring-playbook.md:272 -msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md))" +msgid "[Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md))" msgstr "" #: ../../../docs/configuring-playbook.md:274 -msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))" +msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md))" msgstr "" #: ../../../docs/configuring-playbook.md:276 -msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) (removed; Skype has been discontinued since May 2025)" +msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))" msgstr "" #: ../../../docs/configuring-playbook.md:278 -msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook.)" +msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) (removed; Skype has been discontinued since May 2025)" msgstr "" #: ../../../docs/configuring-playbook.md:280 -msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md))" +msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook.)" msgstr "" #: ../../../docs/configuring-playbook.md:282 -msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (removed; the repository of the source code has been removed)" +msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md))" msgstr "" #: ../../../docs/configuring-playbook.md:284 -msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md) (removed; this component has been unmaintained)" +msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (removed; the repository of the source code has been removed)" msgstr "" #: ../../../docs/configuring-playbook.md:286 -msgid "[Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) (removed; this component has been unmaintained)" +msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md) (removed; this component has been unmaintained)" msgstr "" #: ../../../docs/configuring-playbook.md:288 -msgid "[Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md))" +msgid "[Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) (removed; this component has been unmaintained)" msgstr "" #: ../../../docs/configuring-playbook.md:290 -msgid "[Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md))" +msgid "[Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md))" msgstr "" #: ../../../docs/configuring-playbook.md:292 -msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md))" +msgid "[Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md))" msgstr "" #: ../../../docs/configuring-playbook.md:294 -msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md))" +msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md))" msgstr "" #: ../../../docs/configuring-playbook.md:296 -msgid "[Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md))" +msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md))" msgstr "" #: ../../../docs/configuring-playbook.md:298 -msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md))" +msgid "[Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md))" msgstr "" #: ../../../docs/configuring-playbook.md:300 -msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))" +msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md))" msgstr "" #: ../../../docs/configuring-playbook.md:302 +msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:304 msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) (removed; since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0) the same feature is available natively.)" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-well-known.pot b/i18n/translation-templates/docs/configuring-well-known.pot index 704a96399..1815121d1 100644 --- a/i18n/translation-templates/docs/configuring-well-known.pot +++ b/i18n/translation-templates/docs/configuring-well-known.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -181,73 +181,81 @@ msgid "On the base domain's server (e.g. `example.com`), you can set up reverse- msgstr "" #: ../../../docs/configuring-well-known.md:115 -msgid "With this method, you **don't need** to add special HTTP headers for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) reasons (like `Access-Control-Allow-Origin`), because your Matrix server (where requests ultimately go) will be configured by this playbook correctly." +msgid "With reverse-proxying, you **don't need** to add special HTTP headers for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) reasons (like `Access-Control-Allow-Origin`), because your Matrix server (where requests ultimately go) will be configured by this playbook correctly." msgstr "" #: ../../../docs/configuring-well-known.md:117 +msgid "If you use a 302 redirect instead, be aware that browsers apply CORS checks to every response in the redirect chain, so the redirect response itself must also carry an `Access-Control-Allow-Origin: *` header. Otherwise, web-based Matrix clients (like Element Web) may fail to work even though the final destination sets the header correctly." +msgstr "" + +#: ../../../docs/configuring-well-known.md:119 msgid "**For nginx**, it would be something like this:" msgstr "" -#: ../../../docs/configuring-well-known.md:134 +#: ../../../docs/configuring-well-known.md:136 msgid "**For Apache2**, it would be something like this:" msgstr "" -#: ../../../docs/configuring-well-known.md:148 +#: ../../../docs/configuring-well-known.md:150 msgid "**For Caddy 2**, it would be something like this:" msgstr "" -#: ../../../docs/configuring-well-known.md:158 -msgid "**For HAProxy**, it would be something like this:" +#: ../../../docs/configuring-well-known.md:160 +msgid "**Note**: Caddy does not process directives in the order they appear in the Caddyfile, but according to its own [directive order](https://caddyserver.com/docs/caddyfile/directives#directive-order). Notably, `redir` is evaluated before `reverse_proxy`, so a `redir` elsewhere in the same site block (a common way to send the base domain to `www.example.com` or to another site) takes precedence and breaks the well-known reverse-proxying. In such cases, wrap the directives in [`handle`](https://caddyserver.com/docs/caddyfile/directives/handle) blocks to enforce the intended priority:" msgstr "" #: ../../../docs/configuring-well-known.md:177 +msgid "**For HAProxy**, it would be something like this:" +msgstr "" + +#: ../../../docs/configuring-well-known.md:196 msgid "**For Netlify**, configure a [redirect](https://docs.netlify.com/routing/redirects/) using a `_redirects` file in the [publish directory](https://docs.netlify.com/configure-builds/overview/#definitions) with contents like this:" msgstr "" -#: ../../../docs/configuring-well-known.md:183 +#: ../../../docs/configuring-well-known.md:202 msgid "**For AWS CloudFront**" msgstr "" -#: ../../../docs/configuring-well-known.md:185 +#: ../../../docs/configuring-well-known.md:204 msgid "Add a custom origin with matrix.example.com to your distribution" msgstr "" -#: ../../../docs/configuring-well-known.md:186 +#: ../../../docs/configuring-well-known.md:205 msgid "Add two behaviors, one for `.well-known/matrix/client` and one for `.well-known/matrix/server` and point them to your new origin." msgstr "" -#: ../../../docs/configuring-well-known.md:188 +#: ../../../docs/configuring-well-known.md:207 msgid "Make sure to:" msgstr "" -#: ../../../docs/configuring-well-known.md:190 +#: ../../../docs/configuring-well-known.md:209 msgid "**replace `example.com`** in the server configuration with your actual domain name" msgstr "" -#: ../../../docs/configuring-well-known.md:191 +#: ../../../docs/configuring-well-known.md:210 msgid "and: to **do this for the HTTPS-enabled server block**, as that's where Matrix expects the file to be" msgstr "" -#: ../../../docs/configuring-well-known.md:193 +#: ../../../docs/configuring-well-known.md:212 msgid "Confirming it works" msgstr "" -#: ../../../docs/configuring-well-known.md:195 +#: ../../../docs/configuring-well-known.md:214 msgid "No matter which method you've used to set up the well-known files, if you've done it correctly you should be able to see a JSON file at these URLs:" msgstr "" -#: ../../../docs/configuring-well-known.md:197 +#: ../../../docs/configuring-well-known.md:216 msgid "`https://example.com/.well-known/matrix/server`" msgstr "" -#: ../../../docs/configuring-well-known.md:198 +#: ../../../docs/configuring-well-known.md:217 msgid "`https://example.com/.well-known/matrix/client`" msgstr "" -#: ../../../docs/configuring-well-known.md:199 +#: ../../../docs/configuring-well-known.md:218 msgid "`https://example.com/.well-known/matrix/support`" msgstr "" -#: ../../../docs/configuring-well-known.md:201 +#: ../../../docs/configuring-well-known.md:220 msgid "You can also check if everything is configured correctly, by [checking if services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work)." msgstr "" diff --git a/i18n/translation-templates/docs/container-images.pot b/i18n/translation-templates/docs/container-images.pot index 3bb96895f..170e16c4d 100644 --- a/i18n/translation-templates/docs/container-images.pot +++ b/i18n/translation-templates/docs/container-images.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-12 11:50+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -444,6 +444,18 @@ msgstr "" msgid "Bridge to [Google Messages](https://messages.google.com/)" msgstr "" +#: ../../../docs/container-images.md:0 +msgid "[mautrix-gvoice](configuring-playbook-bridge-mautrix-gvoice.md)" +msgstr "" + +#: ../../../docs/container-images.md:0 +msgid "[mautrix/gvoice](https://mau.dev/mautrix/gvoice/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md:0 +msgid "Bridge to [Google Voice](https://voice.google.com/)" +msgstr "" + #: ../../../docs/container-images.md:0 msgid "[mautrix-whatsapp](configuring-playbook-bridge-mautrix-whatsapp.md)" msgstr "" @@ -540,18 +552,6 @@ msgstr "" msgid "Bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat)" msgstr "" -#: ../../../docs/container-images.md:0 -msgid "[matrix-appservice-kakaotalk](configuring-playbook-bridge-appservice-kakaotalk.md)" -msgstr "" - -#: ../../../docs/container-images.md:0 -msgid "Self-building" -msgstr "" - -#: ../../../docs/container-images.md:0 -msgid "Bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG)" -msgstr "" - #: ../../../docs/container-images.md:0 msgid "[matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md)" msgstr "" @@ -884,6 +884,10 @@ msgstr "" msgid "[synapse-usage-exporter](configuring-playbook-synapse-usage-exporter.md)" msgstr "" +#: ../../../docs/container-images.md:0 +msgid "Self-building" +msgstr "" + #: ../../../docs/container-images.md:0 msgid "Export the usage statistics of a Synapse homeserver to be scraped by Prometheus." msgstr "" diff --git a/i18n/translation-templates/docs/importing-postgres.pot b/i18n/translation-templates/docs/importing-postgres.pot index 193b66d34..cb130c3ff 100644 --- a/i18n/translation-templates/docs/importing-postgres.pot +++ b/i18n/translation-templates/docs/importing-postgres.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,7 +25,7 @@ msgid "You can manually import your database from a previous default installatio msgstr "" #: ../../../docs/importing-postgres.md:14 -#: ../../../docs/importing-postgres.md:38 +#: ../../../docs/importing-postgres.md:43 msgid "**Notes**:" msgstr "" @@ -57,98 +57,106 @@ msgstr "" msgid "Before doing the actual import, **you need to upload your Postgres dump file to the server** (any path is okay)." msgstr "" -#: ../../../docs/importing-postgres.md:28 +#: ../../../docs/importing-postgres.md:29 +msgid "Do not import into a database that already contains tables (e.g. one that a service has already initialized and used). As the [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) puts it: at best this will error, at worst it will lead to subtle database inconsistencies. Import into an empty (freshly created) database instead." +msgstr "" + +#: ../../../docs/importing-postgres.md:31 +msgid "**Note for Synapse users restoring an older backup**: if the server kept running (and users kept chatting) after the backup you are restoring was made, truncate the `e2e_one_time_keys_json` table after importing and before starting Synapse. Restoring an older backup can otherwise cause already-used one-time keys to be re-issued, leading to message decryption errors for your users. You can do this by [getting a database terminal](maintenance-postgres.md#getting-a-database-terminal), connecting to the Synapse database (`\\c synapse`) and running `TRUNCATE e2e_one_time_keys_json;`. Clients will generate and upload fresh one-time keys automatically." +msgstr "" + +#: ../../../docs/importing-postgres.md:33 msgid "Importing" msgstr "" -#: ../../../docs/importing-postgres.md:30 +#: ../../../docs/importing-postgres.md:35 msgid "To import, run this command (make sure to replace `SERVER_PATH_TO_POSTGRES_DUMP_FILE` with a file path on your server):" msgstr "" -#: ../../../docs/importing-postgres.md:40 +#: ../../../docs/importing-postgres.md:45 msgid "`SERVER_PATH_TO_POSTGRES_DUMP_FILE` must be a file path to a Postgres dump file on the server (not on your local machine!)" msgstr "" -#: ../../../docs/importing-postgres.md:41 +#: ../../../docs/importing-postgres.md:46 msgid "`postgres_default_import_database` defaults to `matrix`, which is useful for importing multiple databases (for dumps made with `pg_dumpall`). If you're importing a single database (e.g. `synapse`), consider changing `postgres_default_import_database` accordingly" msgstr "" -#: ../../../docs/importing-postgres.md:42 +#: ../../../docs/importing-postgres.md:47 msgid "after importing a large database, it's a good idea to run [an `ANALYZE` operation](https://www.postgresql.org/docs/current/sql-analyze.html) to make Postgres rebuild its database statistics and optimize its query planner. You can easily do this via the playbook by running `just run-tags run-postgres-vacuum -e postgres_vacuum_preset=analyze` (see [Vacuuming PostgreSQL](maintenance-postgres.md#vacuuming-postgresql) for more details)." msgstr "" -#: ../../../docs/importing-postgres.md:44 +#: ../../../docs/importing-postgres.md:49 msgid "Troubleshooting" msgstr "" -#: ../../../docs/importing-postgres.md:46 +#: ../../../docs/importing-postgres.md:51 msgid "Table Ownership" msgstr "" -#: ../../../docs/importing-postgres.md:48 +#: ../../../docs/importing-postgres.md:53 msgid "A table ownership issue can occur if you are importing from a Synapse installation which was both:" msgstr "" -#: ../../../docs/importing-postgres.md:50 +#: ../../../docs/importing-postgres.md:55 msgid "migrated from SQLite to Postgres, and" msgstr "" -#: ../../../docs/importing-postgres.md:51 +#: ../../../docs/importing-postgres.md:56 msgid "used a username other than 'synapse'" msgstr "" -#: ../../../docs/importing-postgres.md:53 +#: ../../../docs/importing-postgres.md:58 msgid "In this case you may run into the following error during the import task:" msgstr "" -#: ../../../docs/importing-postgres.md:59 +#: ../../../docs/importing-postgres.md:64 msgid "where `synapse_user` is the database username from the previous Synapse installation." msgstr "" -#: ../../../docs/importing-postgres.md:61 +#: ../../../docs/importing-postgres.md:66 msgid "This can be verified by examining the dump for ALTER TABLE statements which set OWNER TO that username:" msgstr "" -#: ../../../docs/importing-postgres.md:73 +#: ../../../docs/importing-postgres.md:78 msgid "It can be worked around by changing the username to `synapse`, for example by using `sed`:" msgstr "" -#: ../../../docs/importing-postgres.md:79 +#: ../../../docs/importing-postgres.md:84 msgid "This uses sed to perform an 'in-place' (`-i`) replacement globally (`/g`), searching for `synapse_user` and replacing with `synapse` (`s/synapse_user/synapse`). If your database username was different, change `synapse_user` to that username instead. Expand search/replace statement as shown in example above, in case of old user name like `matrix` — replacing `matrix` only would… well — you can imagine." msgstr "" -#: ../../../docs/importing-postgres.md:81 +#: ../../../docs/importing-postgres.md:86 msgid "Note that if the previous import failed with an error it may have made changes which are incompatible with re-running the import task right away; if you do so it may fail with an error such as:" msgstr "" -#: ../../../docs/importing-postgres.md:87 +#: ../../../docs/importing-postgres.md:92 msgid "Repeat import" msgstr "" -#: ../../../docs/importing-postgres.md:89 +#: ../../../docs/importing-postgres.md:94 msgid "In this case you can use the command suggested in the import task to clear the database before retrying the import:" msgstr "" -#: ../../../docs/importing-postgres.md:97 +#: ../../../docs/importing-postgres.md:102 msgid "Now on your local machine run `just run-tags setup-postgres` to prepare the database roles etc." msgstr "" -#: ../../../docs/importing-postgres.md:99 +#: ../../../docs/importing-postgres.md:104 msgid "If not, you probably get this error. `synapse` is the correct table owner, but the role is missing in database." msgstr "" -#: ../../../docs/importing-postgres.md:105 +#: ../../../docs/importing-postgres.md:110 msgid "Once the database is clear and the ownership of the tables has been fixed in the SQL file, the import task should succeed." msgstr "" -#: ../../../docs/importing-postgres.md:107 +#: ../../../docs/importing-postgres.md:112 msgid "Check, if `--dbname` is set to `synapse` (not `matrix`) and replace paths (or even better, copy this line from your terminal)" msgstr "" -#: ../../../docs/importing-postgres.md:113 +#: ../../../docs/importing-postgres.md:118 msgid "Hints" msgstr "" -#: ../../../docs/importing-postgres.md:115 +#: ../../../docs/importing-postgres.md:120 msgid "To open psql terminal run `/matrix/postgres/bin/cli`" msgstr "" diff --git a/i18n/translation-templates/docs/importing-synapse-media-store.pot b/i18n/translation-templates/docs/importing-synapse-media-store.pot index 08f0e8809..27f8e1054 100644 --- a/i18n/translation-templates/docs/importing-synapse-media-store.pot +++ b/i18n/translation-templates/docs/importing-synapse-media-store.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-13 10:32+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,25 +33,29 @@ msgid "Before doing the actual data restore, **you need to upload your media sto msgstr "" #: ../../../docs/importing-synapse-media-store.md:16 -msgid "If you are [storing Matrix media files on Amazon S3](configuring-playbook-s3.md) (optional), restoring with this tool is not possible right now." +msgid "You also need the [rsync](https://rsync.samba.org/) utility installed **on the server**, as the import performs a server-side `rsync` synchronization. The playbook does not install it for you. On most distributions, it is available as a package called `rsync`." msgstr "" #: ../../../docs/importing-synapse-media-store.md:18 -msgid "As an alternative, you can perform a manual restore using the [AWS CLI tool](https://aws.amazon.com/cli/) (e.g. `aws s3 sync /path/to/server/media_store/. s3://name-of-bucket/`)" +msgid "If you are [storing Matrix media files on Amazon S3](configuring-playbook-s3.md) (optional), restoring with this tool is not possible right now." msgstr "" #: ../../../docs/importing-synapse-media-store.md:20 -msgid "**Note for Mac users**: Due to case-sensitivity issues on certain Mac filesystems (HFS or HFS+), filename corruption may occur if you copy a `media_store` directory to your Mac. If you're transferring a `media_store` directory between 2 servers, make sure you do it directly (from server to server with a tool such as [rsync](https://rsync.samba.org/)), and not by downloading the files to your Mac." +msgid "As an alternative, you can perform a manual restore using the [AWS CLI tool](https://aws.amazon.com/cli/) (e.g. `aws s3 sync /path/to/server/media_store/. s3://name-of-bucket/`)" msgstr "" #: ../../../docs/importing-synapse-media-store.md:22 -msgid "Importing" +msgid "**Note for Mac users**: Due to case-sensitivity issues on certain Mac filesystems (HFS or HFS+), filename corruption may occur if you copy a `media_store` directory to your Mac. If you're transferring a `media_store` directory between 2 servers, make sure you do it directly (from server to server with a tool such as [rsync](https://rsync.samba.org/)), and not by downloading the files to your Mac." msgstr "" #: ../../../docs/importing-synapse-media-store.md:24 +msgid "Importing" +msgstr "" + +#: ../../../docs/importing-synapse-media-store.md:26 msgid "Run this command (make sure to replace `` with a path on your server):" msgstr "" -#: ../../../docs/importing-synapse-media-store.md:30 +#: ../../../docs/importing-synapse-media-store.md:32 msgid "**Note**: `` must be a file path to a `media_store` directory on the server (not on your local machine!)." msgstr "" diff --git a/i18n/translation-templates/docs/maintenance-postgres.pot b/i18n/translation-templates/docs/maintenance-postgres.pot index 17b4900a7..5c89e1759 100644 --- a/i18n/translation-templates/docs/maintenance-postgres.pot +++ b/i18n/translation-templates/docs/maintenance-postgres.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-19 07:40+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -149,69 +149,73 @@ msgid "Restoring a backup made this way can be done by [importing it](importing- msgstr "" #: ../../../docs/maintenance-postgres.md:79 -msgid "Upgrading PostgreSQL" +msgid "**Note for Synapse users**: the [official Synapse backup guide](https://element-hq.github.io/synapse/latest/usage/administration/backups.html) recommends that the `e2e_one_time_keys_json` table either not be backed up, or be truncated after restoring (before Synapse is started). The full-server dump command above does include it, so if you ever restore a backup that is older than the server's current state, remember to truncate that table as described in [the importing guide](importing-postgres.md)." msgstr "" #: ../../../docs/maintenance-postgres.md:81 -msgid "Unless you are using an [external Postgres server](configuring-playbook-external-postgres.md), this playbook initially installs Postgres for you." +msgid "Upgrading PostgreSQL" msgstr "" #: ../../../docs/maintenance-postgres.md:83 -msgid "Once installed, the playbook attempts to preserve the Postgres version it starts with. This is because newer Postgres versions cannot start with data generated by older Postgres versions." +msgid "Unless you are using an [external Postgres server](configuring-playbook-external-postgres.md), this playbook initially installs Postgres for you." msgstr "" #: ../../../docs/maintenance-postgres.md:85 -msgid "Upgrades must be performed manually." +msgid "Once installed, the playbook attempts to preserve the Postgres version it starts with. This is because newer Postgres versions cannot start with data generated by older Postgres versions." msgstr "" #: ../../../docs/maintenance-postgres.md:87 +msgid "Upgrades must be performed manually." +msgstr "" + +#: ../../../docs/maintenance-postgres.md:89 msgid "The playbook can upgrade your existing Postgres setup with the following command:" msgstr "" -#: ../../../docs/maintenance-postgres.md:93 +#: ../../../docs/maintenance-postgres.md:95 msgid "**The old Postgres data directory is backed up** automatically, by renaming it to `/matrix/postgres/data-auto-upgrade-backup`. To rename to a different path, pass some extra flags to the command above, like this: `--extra-vars=\"postgres_auto_upgrade_backup_data_path=/another/disk/matrix-postgres-before-upgrade\"`" msgstr "" -#: ../../../docs/maintenance-postgres.md:95 +#: ../../../docs/maintenance-postgres.md:97 msgid "The auto-upgrade-backup directory stays around forever, until you **manually decide to delete it**." msgstr "" -#: ../../../docs/maintenance-postgres.md:97 +#: ../../../docs/maintenance-postgres.md:99 msgid "As part of the upgrade, the database is dumped to `/tmp`, an upgraded and empty Postgres server is started, and then the dump is restored into the new server. To use a different directory for the dump, pass some extra flags to the command above, like this: `--extra-vars=\"postgres_dump_dir=/directory/to/dump/here\"`" msgstr "" -#: ../../../docs/maintenance-postgres.md:99 +#: ../../../docs/maintenance-postgres.md:101 msgid "To save disk space in `/tmp`, the dump file is gzipped on the fly at the expense of CPU usage. If you have plenty of space in `/tmp` and would rather avoid gzipping, you can explicitly pass a dump filename which doesn't end in `.gz`. Example: `--extra-vars=\"postgres_dump_name=matrix-postgres-dump.sql\"`" msgstr "" -#: ../../../docs/maintenance-postgres.md:101 +#: ../../../docs/maintenance-postgres.md:103 msgid "**All databases, roles, etc. on the Postgres server are migrated**. However, other components that depend on specific Postgres versions (like the [Postgres Backup](configuring-playbook-postgres-backup.md) service) may need to be updated after the upgrade by using `just install-all`" msgstr "" -#: ../../../docs/maintenance-postgres.md:103 +#: ../../../docs/maintenance-postgres.md:105 msgid "Tuning PostgreSQL" msgstr "" -#: ../../../docs/maintenance-postgres.md:105 +#: ../../../docs/maintenance-postgres.md:107 msgid "PostgreSQL can be [tuned](https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server) to make it run faster. This is done by passing extra arguments to the Postgres process." msgstr "" -#: ../../../docs/maintenance-postgres.md:107 +#: ../../../docs/maintenance-postgres.md:109 msgid "The [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) **already does some tuning by default**, which matches the [tuning logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) done by websites like https://pgtune.leopard.in.ua/. You can manually influence some of the tuning variables. These parameters (variables) are injected via the `postgres_postgres_process_extra_arguments_default` variable." msgstr "" -#: ../../../docs/maintenance-postgres.md:109 +#: ../../../docs/maintenance-postgres.md:111 msgid "Most users should be fine with the automatically-done tuning. However, you may wish to:" msgstr "" -#: ../../../docs/maintenance-postgres.md:111 +#: ../../../docs/maintenance-postgres.md:113 msgid "**adjust the automatically-determined tuning parameters manually**: change the values for the tuning variables defined in the Postgres role's [default configuration file](https://github.com/mother-of-all-self-hosting/ansible-role-postgres/blob/main/defaults/main.yml) (see `postgres_max_connections`, `postgres_data_storage` etc). These variables are ultimately passed to Postgres via a `postgres_postgres_process_extra_arguments_default` variable" msgstr "" -#: ../../../docs/maintenance-postgres.md:113 +#: ../../../docs/maintenance-postgres.md:115 msgid "**turn automatically-performed tuning off**: override it like this: `postgres_postgres_process_extra_arguments_default: []`" msgstr "" -#: ../../../docs/maintenance-postgres.md:115 +#: ../../../docs/maintenance-postgres.md:117 msgid "**add additional tuning parameters**: define your additional Postgres configuration parameters in `postgres_postgres_process_extra_arguments_custom`. See `postgres_postgres_process_extra_arguments_default` defined in the Postgres role's [default configuration file](https://github.com/mother-of-all-self-hosting/ansible-role-postgres/blob/main/defaults/main.yml) for inspiration" msgstr "" diff --git a/i18n/translation-templates/docs/maintenance-synapse.pot b/i18n/translation-templates/docs/maintenance-synapse.pot index 105235f45..b8d77eb47 100644 --- a/i18n/translation-templates/docs/maintenance-synapse.pot +++ b/i18n/translation-templates/docs/maintenance-synapse.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-19 07:40+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -192,14 +192,18 @@ msgstr "" msgid "You can **learn more about cache-autotuning and the global cache factor settings** in the [Synapse's documentation on caches and associated values](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values)." msgstr "" -#: ../../../docs/maintenance-synapse.md:108 +#: ../../../docs/maintenance-synapse.md:109 +msgid "These limits apply **per Synapse process**. If you have [workers](configuring-playbook-synapse.md#load-balancing-with-workers) enabled, the main process and every worker each apply the configured limits independently, so the theoretical aggregate cache memory usage gets multiplied by the number of processes. When running many workers on a memory-constrained server, consider setting these variables to lower, explicitly chosen values." +msgstr "" + +#: ../../../docs/maintenance-synapse.md:111 msgid "To **disable cache auto-tuning**, unset all values:" msgstr "" -#: ../../../docs/maintenance-synapse.md:116 +#: ../../../docs/maintenance-synapse.md:119 msgid "Users who wish to lower Synapse's RAM footprint should look into lowering the global cache factor and tweaking the autotune variables (or disabling auto-tuning). If your cache factor is too low for a given auto tune setting your caches will not reach autotune thresholds and autotune won't be able to do its job. Therefore, when auto-tuning is enabled (which it is by default), it's recommended to have your cache factor be large." msgstr "" -#: ../../../docs/maintenance-synapse.md:118 +#: ../../../docs/maintenance-synapse.md:121 msgid "See also [How do I optimize this setup for a low-power server?](faq.md#how-do-i-optimize-this-setup-for-a-low-power-server)." msgstr "" diff --git a/i18n/translation-templates/docs/self-building.pot b/i18n/translation-templates/docs/self-building.pot index 14b8baa48..8e8735540 100644 --- a/i18n/translation-templates/docs/self-building.pot +++ b/i18n/translation-templates/docs/self-building.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-19 07:40+0000\n" +"POT-Creation-Date: 2026-07-16 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -109,37 +109,41 @@ msgid "`matrix-bridge-mautrix-gmessages`" msgstr "" #: ../../../docs/self-building.md:44 -msgid "`matrix-bridge-mautrix-whatsapp`" +msgid "`matrix-bridge-mautrix-gvoice`" msgstr "" #: ../../../docs/self-building.md:45 -msgid "`matrix-bridge-mx-puppet-steam`" +msgid "`matrix-bridge-mautrix-whatsapp`" msgstr "" #: ../../../docs/self-building.md:46 -msgid "`matrix-bot-mjolnir`" +msgid "`matrix-bridge-mx-puppet-steam`" msgstr "" #: ../../../docs/self-building.md:47 -msgid "`matrix-bot-honoroit`" +msgid "`matrix-bot-mjolnir`" msgstr "" #: ../../../docs/self-building.md:48 -msgid "`matrix-bot-matrix-reminder-bot`" +msgid "`matrix-bot-honoroit`" msgstr "" #: ../../../docs/self-building.md:49 -msgid "`matrix-bot-maubot`" +msgid "`matrix-bot-matrix-reminder-bot`" msgstr "" #: ../../../docs/self-building.md:50 +msgid "`matrix-bot-maubot`" +msgstr "" + +#: ../../../docs/self-building.md:51 msgid "`matrix-pantalaimon`" msgstr "" -#: ../../../docs/self-building.md:52 +#: ../../../docs/self-building.md:53 msgid "Adding self-building support to other roles is welcome. Feel free to contribute!" msgstr "" -#: ../../../docs/self-building.md:54 +#: ../../../docs/self-building.md:55 msgid "If you'd like **to force self-building** even if an image is available for your architecture, look into the `matrix_*_self_build` variables provided by individual roles." msgstr ""