Matrix Docker Ansible eploy
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 

270 lignes
17 KiB

  1. # SOME DESCRIPTIVE TITLE.
  2. # Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community members
  3. # This file is distributed under the same license as the matrix-docker-ansible-deploy package.
  4. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5. #
  6. #, fuzzy
  7. msgid ""
  8. msgstr ""
  9. "Project-Id-Version: matrix-docker-ansible-deploy \n"
  10. "Report-Msgid-Bugs-To: \n"
  11. "POT-Creation-Date: 2026-05-09 06:50+0000\n"
  12. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  13. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  14. "Language-Team: LANGUAGE <LL@li.org>\n"
  15. "MIME-Version: 1.0\n"
  16. "Content-Type: text/plain; charset=UTF-8\n"
  17. "Content-Transfer-Encoding: 8bit\n"
  18. #: ../../../docs/configuring-playbook-tuwunel.md:8
  19. msgid "Configuring Tuwunel (optional)"
  20. msgstr ""
  21. #: ../../../docs/configuring-playbook-tuwunel.md:10
  22. msgid "The playbook can install and configure the [Tuwunel](https://matrix-construct.github.io/tuwunel/) Matrix homeserver for you."
  23. msgstr ""
  24. #: ../../../docs/configuring-playbook-tuwunel.md:12
  25. msgid "Tuwunel is a featureful homeserver written entirely in Rust, intended as a scalable, low-cost, enterprise-ready alternative to Synapse that fully implements the [Matrix specification](https://spec.matrix.org/latest/) for all but the most niche uses. It is the official successor to [conduwuit](configuring-playbook-conduwuit.md), is now sponsored by the government of Switzerland 🇨🇭 (where it is currently deployed for citizens), and is used by a number of organisations with a vested interest in its continued development. See the project's [documentation](https://matrix-construct.github.io/tuwunel/) for further background."
  26. msgstr ""
  27. #: ../../../docs/configuring-playbook-tuwunel.md:14
  28. msgid "By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document."
  29. msgstr ""
  30. #: ../../../docs/configuring-playbook-tuwunel.md:16
  31. msgid "[!WARNING]"
  32. msgstr ""
  33. #: ../../../docs/configuring-playbook-tuwunel.md:17
  34. msgid "**You can't switch an existing Matrix server's implementation** (e.g. Synapse → Tuwunel). Proceed below only if you're OK with starting over, or you're dealing with a server on a new domain name which hasn't participated in the Matrix federation yet. The one exception is migrating from conduwuit; see [Migrating from conduwuit](#migrating-from-conduwuit)."
  35. msgstr ""
  36. #: ../../../docs/configuring-playbook-tuwunel.md:18
  37. msgid "**Homeserver implementations other than Synapse may not be fully functional** with every part of this playbook. Make yourself familiar with the trade-offs before proceeding."
  38. msgstr ""
  39. #: ../../../docs/configuring-playbook-tuwunel.md:20
  40. msgid "Adjusting the playbook configuration"
  41. msgstr ""
  42. #: ../../../docs/configuring-playbook-tuwunel.md:22
  43. msgid "To use Tuwunel, set the following on `inventory/host_vars/matrix.example.com/vars.yml`:"
  44. msgstr ""
  45. #: ../../../docs/configuring-playbook-tuwunel.md:36
  46. msgid "The first user account that registers becomes a server admin and is automatically invited to the admin room. See [Creating the first user account](#creating-the-first-user-account) below for the bootstrap procedure."
  47. msgstr ""
  48. #: ../../../docs/configuring-playbook-tuwunel.md:38
  49. msgid "Wiring done for you"
  50. msgstr ""
  51. #: ../../../docs/configuring-playbook-tuwunel.md:40
  52. msgid "When `matrix_homeserver_implementation: tuwunel` is set, the playbook automatically integrates Tuwunel with the rest of your stack:"
  53. msgstr ""
  54. #: ../../../docs/configuring-playbook-tuwunel.md:42
  55. msgid "**Federation.** Toggled by `matrix_homeserver_federation_enabled`. The federation virtual host (port 8448 in the default setup) is wired up via Traefik labels."
  56. msgstr ""
  57. #: ../../../docs/configuring-playbook-tuwunel.md:43
  58. msgid "**Well-known.** `matrix_tuwunel_config_well_known_client` is set to your public homeserver URL whenever SSL is enabled. Matrix clients use this for delegated-domain server discovery; identity-provider entries below can also omit their `callback_url`, since Tuwunel derives `<well-known>/_matrix/client/unstable/login/sso/callback/<client_id>` automatically."
  59. msgstr ""
  60. #: ../../../docs/configuring-playbook-tuwunel.md:44
  61. msgid "**Element Call / MatrixRTC.** When the [LiveKit JWT service](configuring-playbook-matrix-rtc.md) is enabled, Tuwunel publishes its public URL through `.well-known/matrix/client` per [MSC4143](https://github.com/matrix-org/matrix-spec-proposals/pull/4143)."
  62. msgstr ""
  63. #: ../../../docs/configuring-playbook-tuwunel.md:45
  64. msgid "**Legacy calls (TURN).** When [Coturn](configuring-playbook-turn.md) is enabled, its URIs and shared secret (or username/password, depending on `coturn_authentication_method`) are wired automatically."
  65. msgstr ""
  66. #: ../../../docs/configuring-playbook-tuwunel.md:47
  67. msgid "Extending the configuration"
  68. msgstr ""
  69. #: ../../../docs/configuring-playbook-tuwunel.md:49
  70. msgid "Tuwunel exposes a large configuration surface. The role surfaces commonly used options as Ansible variables under `matrix_tuwunel_config_*`. See [`roles/custom/matrix-tuwunel/defaults/main.yml`](../roles/custom/matrix-tuwunel/defaults/main.yml) for the complete list, and [`roles/custom/matrix-tuwunel/templates/tuwunel.toml.j2`](../roles/custom/matrix-tuwunel/templates/tuwunel.toml.j2) for the rendered configuration."
  71. msgstr ""
  72. #: ../../../docs/configuring-playbook-tuwunel.md:51
  73. msgid "For options that aren't surfaced as a dedicated variable, [environment variables](https://matrix-construct.github.io/tuwunel/configuration.html#environment-variables) are the recommended override mechanism. They take priority over the rendered TOML, are scoped to the running container, and require no template patching:"
  74. msgstr ""
  75. #: ../../../docs/configuring-playbook-tuwunel.md:59
  76. msgid "Keys nested under a TOML section use `__` (double underscore) to descend, e.g. `TUWUNEL_WELL_KNOWN__SERVER`. User-named sections become path segments too: `TUWUNEL_STORAGE_PROVIDER__ARCHIVE__S3__URL` overrides the `url` field of the `archive` storage provider in the example below."
  77. msgstr ""
  78. #: ../../../docs/configuring-playbook-tuwunel.md:61
  79. msgid "If you need wholesale control of the configuration file, copy [`roles/custom/matrix-tuwunel/templates/tuwunel.toml.j2`](../roles/custom/matrix-tuwunel/templates/tuwunel.toml.j2) into your inventory and point `matrix_tuwunel_template_tuwunel_config` at your copy."
  80. msgstr ""
  81. #: ../../../docs/configuring-playbook-tuwunel.md:63
  82. msgid "The container image published as `:latest` is built with `io_uring`, `jemalloc`, LDAP, blurhashing, URL preview, sentry telemetry, and zstd compression all enabled, so most opt-in features are simply a configuration toggle away."
  83. msgstr ""
  84. #: ../../../docs/configuring-playbook-tuwunel.md:65
  85. msgid "Identity providers (OAuth2 / OIDC)"
  86. msgstr ""
  87. #: ../../../docs/configuring-playbook-tuwunel.md:67
  88. msgid "Configure one or more `[[global.identity_provider]]` entries via a list. Each entry maps directly to Tuwunel's [identity-provider fields](https://matrix-construct.github.io/tuwunel/authentication/providers.html); only the fields you set are emitted. GitHub, GitLab, and Google have built-in `issuer_url` defaults so a `client_id` plus `client_secret` is enough; for any other `brand` (Apple, Facebook, Keycloak, MAS, Twitter, etc.) you must supply `issuer_url` explicitly:"
  89. msgstr ""
  90. #: ../../../docs/configuring-playbook-tuwunel.md:82
  91. msgid "Self-hosted providers must supply both `client_id` and `issuer_url`. Set `trusted: true` only on providers you operate yourself; trusting a public provider (GitHub, Google, etc.) is an account-takeover risk."
  92. msgstr ""
  93. #: ../../../docs/configuring-playbook-tuwunel.md:84
  94. msgid "LDAP"
  95. msgstr ""
  96. #: ../../../docs/configuring-playbook-tuwunel.md:86
  97. msgid "Tuwunel can authenticate `m.login.password` requests against an LDAP directory and, in search-then-bind mode, keep admin status in sync with directory membership. The shipped image already includes the `ldap` build feature."
  98. msgstr ""
  99. #: ../../../docs/configuring-playbook-tuwunel.md:97
  100. msgid "[!NOTE] `bind_password_file` is read **inside the container**. The role bind-mounts `/matrix/tuwunel/config` to `/etc/tuwunel` (read-only) and `/matrix/tuwunel/data` to `/var/lib/tuwunel`. To make the file available at the path above, drop it on the host at `/matrix/tuwunel/config/ldap.pw` (owned by `matrix:matrix`) before running the playbook; the role does not template secret files for you."
  101. msgstr ""
  102. #: ../../../docs/configuring-playbook-tuwunel.md:100
  103. msgid "For direct-bind, anonymous-search, and admin-sync details, see [LDAP authentication](https://matrix-construct.github.io/tuwunel/authentication/ldap.html)."
  104. msgstr ""
  105. #: ../../../docs/configuring-playbook-tuwunel.md:102
  106. msgid "JWT login"
  107. msgstr ""
  108. #: ../../../docs/configuring-playbook-tuwunel.md:104
  109. msgid "Tuwunel can accept signed JSON Web Tokens both as a login flow and as a User-Interactive Authentication step:"
  110. msgstr ""
  111. #: ../../../docs/configuring-playbook-tuwunel.md:115
  112. msgid "The defaults match Synapse's `experimental_features.jwt_config` semantics, so a key + algorithm port should authenticate the same set of tokens. See [Enterprise JWT](https://matrix-construct.github.io/tuwunel/authentication/jwt.html) for the full reference, including the asymmetric (ECDSA / EdDSA) formats and the operator-controlled UIAA override flow."
  113. msgstr ""
  114. #: ../../../docs/configuring-playbook-tuwunel.md:117
  115. msgid "Media storage providers"
  116. msgstr ""
  117. #: ../../../docs/configuring-playbook-tuwunel.md:119
  118. msgid "Each entry becomes a `[global.storage_provider.<id>.<kind>]` block. `kind` is `local` or `s3`; the remaining keys map directly to the fields documented in [Storage providers](https://matrix-construct.github.io/tuwunel/media/storage.html):"
  119. msgstr ""
  120. #: ../../../docs/configuring-playbook-tuwunel.md:136
  121. msgid "The S3 backend ships with native multipart upload, so no goofys/rclone sidecar is required. MinIO, Cloudflare R2, and DigitalOcean Spaces all work; set `endpoint` and `use_vhost_request: false` as appropriate."
  122. msgstr ""
  123. #: ../../../docs/configuring-playbook-tuwunel.md:138
  124. msgid "[!NOTE] Local provider paths must live under `/var/lib/tuwunel` (the container's data mount, persisted on the host at `/matrix/tuwunel/data`), or you must mount the target directory into the container yourself via `matrix_tuwunel_container_extra_arguments`. The container otherwise runs read-only."
  125. msgstr ""
  126. #: ../../../docs/configuring-playbook-tuwunel.md:141
  127. msgid "RocksDB and cache tuning"
  128. msgstr ""
  129. #: ../../../docs/configuring-playbook-tuwunel.md:143
  130. msgid "Tuwunel embeds RocksDB. The defaults (`rocksdb_compression_algo: zstd`) suit most deployments. For high-throughput servers you may want to enable direct I/O, raise parallelism, and bump the cache modifier:"
  131. msgstr ""
  132. #: ../../../docs/configuring-playbook-tuwunel.md:152
  133. msgid "If you run on ZFS, the [Tuwunel maintenance guide](https://matrix-construct.github.io/tuwunel/maintenance.html#zfs) lists the dataset properties (`recordsize`, `primarycache`, `compression`, `atime`, `logbias`) and config flags (`rocksdb_direct_io`, `rocksdb_allow_fallocate`) you need to adjust to avoid severe write amplification."
  134. msgstr ""
  135. #: ../../../docs/configuring-playbook-tuwunel.md:154
  136. msgid "To enable Sentry crash reporting, set `matrix_tuwunel_config_sentry_enabled: true`."
  137. msgstr ""
  138. #: ../../../docs/configuring-playbook-tuwunel.md:156
  139. msgid "Federation gating"
  140. msgstr ""
  141. #: ../../../docs/configuring-playbook-tuwunel.md:158
  142. msgid "Tuwunel accepts regular-expression patterns at every level of remote-server filtering:"
  143. msgstr ""
  144. #: ../../../docs/configuring-playbook-tuwunel.md:169
  145. msgid "Tuwunel additionally implements [MSC4284 policy servers](https://github.com/matrix-org/matrix-spec-proposals/pull/4284) for room-level federation gating. The policy itself lives in room state, but enforcement is opt-in at the server level:"
  146. msgstr ""
  147. #: ../../../docs/configuring-playbook-tuwunel.md:176
  148. msgid "When enabled, rooms with a valid `m.room.policy` state event have outgoing events signed by the configured policy server before federation. Transient network or timeout failures fail open (with a warn log), so a policy-server outage will not silently take the room offline."
  149. msgstr ""
  150. #: ../../../docs/configuring-playbook-tuwunel.md:178
  151. msgid "Default room version"
  152. msgstr ""
  153. #: ../../../docs/configuring-playbook-tuwunel.md:180
  154. msgid "The role sets `default_room_version: '12'`, so newly created rooms default to Matrix [room version 12](https://github.com/matrix-org/matrix-spec-proposals/pull/4289) (\"Hydra\"). Override `matrix_tuwunel_config_default_room_version` if you need an earlier version for client compatibility."
  155. msgstr ""
  156. #: ../../../docs/configuring-playbook-tuwunel.md:182
  157. msgid "Creating the first user account"
  158. msgstr ""
  159. #: ../../../docs/configuring-playbook-tuwunel.md:184
  160. msgid "Unlike Synapse and Dendrite, Tuwunel does not register users from the command line or via the playbook. On first startup it logs a one-time-use registration token to its journal:"
  161. msgstr ""
  162. #: ../../../docs/configuring-playbook-tuwunel.md:191
  163. msgid "Use the token to create your first account from any client that supports token-gated registration (e.g. [Element Web](configuring-playbook-client-element-web.md)). The account is auto-promoted to admin and invited to the admin room together with the `@conduit:<server_name>` server bot. The bot keeps the legacy `conduit` localpart due to the project's lineage from Conduit."
  164. msgstr ""
  165. #: ../../../docs/configuring-playbook-tuwunel.md:193
  166. msgid "Configuring bridges and appservices"
  167. msgstr ""
  168. #: ../../../docs/configuring-playbook-tuwunel.md:195
  169. msgid "The playbook does not auto-register appservices for Tuwunel. After your bridge has produced its `registration.yaml` (e.g. `/matrix/mautrix-signal/bridge/registration.yaml`), register it manually by sending the contents to the admin room, prefixed with `!admin appservices register` and wrapped in a fenced code block:"
  170. msgstr ""
  171. #: ../../../docs/configuring-playbook-tuwunel.md:216
  172. msgid "Registrations stored this way are persisted in the database and survive restarts. Re-running the command with the same `id` replaces the existing entry. See [Application services](https://matrix-construct.github.io/tuwunel/appservices.html) for the full reference and admin commands."
  173. msgstr ""
  174. #: ../../../docs/configuring-playbook-tuwunel.md:218
  175. msgid "Migrating from conduwuit"
  176. msgstr ""
  177. #: ../../../docs/configuring-playbook-tuwunel.md:220
  178. msgid "Tuwunel is a \"binary swap\" for conduwuit; it reads conduwuit's RocksDB layout directly, so migration is a data move, not an export/import."
  179. msgstr ""
  180. #: ../../../docs/configuring-playbook-tuwunel.md:222
  181. msgid "Set `matrix_homeserver_implementation: tuwunel` on `vars.yml` and remove any `matrix_conduwuit_*` overrides."
  182. msgstr ""
  183. #: ../../../docs/configuring-playbook-tuwunel.md:223
  184. msgid "Run a full installation so that the new service is created and the old one removed (e.g. `just setup-all`)."
  185. msgstr ""
  186. #: ../../../docs/configuring-playbook-tuwunel.md:224
  187. msgid "Run `just run-tags tuwunel-migrate-from-conduwuit`."
  188. msgstr ""
  189. #: ../../../docs/configuring-playbook-tuwunel.md:226
  190. msgid "The migration stops `matrix-conduwuit.service`, copies `/matrix/conduwuit` into `/matrix/tuwunel`, renames the config file, and starts `matrix-tuwunel.service`. The freshly generated tuwunel data directory is preserved alongside as `/matrix/tuwunel_old` until you remove it manually."
  191. msgstr ""
  192. #: ../../../docs/configuring-playbook-tuwunel.md:228
  193. msgid "[!CAUTION] Migrating from any other Conduit derivative (Conduit itself, Continuwuity, or any other fork) is **not supported** and will corrupt your database. All Conduit forks share the same linear database version with no awareness of each other; switching between them produces unrecoverable damage. See the [upstream migration table](https://matrix-construct.github.io/tuwunel/#migrating-to-tuwunel)."
  194. msgstr ""
  195. #: ../../../docs/configuring-playbook-tuwunel.md:231
  196. msgid "Troubleshooting"
  197. msgstr ""
  198. #: ../../../docs/configuring-playbook-tuwunel.md:233
  199. msgid "As with all other services, the logs are available via [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html):"
  200. msgstr ""
  201. #: ../../../docs/configuring-playbook-tuwunel.md:239
  202. msgid "Logging verbosity is controlled by `matrix_tuwunel_config_log` in [`tracing-subscriber` env-filter syntax](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html). The default (`info,state_res=warn`) is reasonable for production; for debugging, try `debug` or scope it tighter, e.g. `info,tuwunel_service::sending=debug`."
  203. msgstr ""
  204. #: ../../../docs/configuring-playbook-tuwunel.md:241
  205. msgid "For RocksDB-level issues, online backups, and offline backup procedures, see the [Tuwunel maintenance guide](https://matrix-construct.github.io/tuwunel/maintenance.html). For protocol-compliance state across MSCs, the spec, and Complement, the project's [compliance dashboard](https://matrix-construct.github.io/tuwunel/development/compliance.html) is the authoritative tracker."
  206. msgstr ""