matrix-docker-ansible-deploy/docs/configuring-playbook-conduit.md
Slavi Pantaleev c0afcaa2e3 Replace (almost) all matrix-org/synapse references with element-hq/synapse
Issues and Pull Requests were not migrated to the new
organization/repository, so `matrix-org/synapse/pull` and
`matrix-org/synapse/issues` references were kept as-is.

`matrix-org/synapse-s3-storage-provider` references were also kept,
as that module still continues living under the `matrix-org` organization.

This patch mainly aims to change documentation-related things, not actual
usage in full yet. For polish that, another more comprehensive patch is coming later.
2024-01-17 08:02:47 +02:00

2.8 KiB

Configuring Conduit (optional)

By default, this playbook configures the Synapse Matrix server, but you can also use Conduit.

NOTES:

  • You can't switch an existing Matrix server's implementation (e.g. Synapse -> Conduit). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.

  • homeserver implementations other than Synapse may not be fully functional. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding

Installation

To use Conduit, you generally need the following additional vars.yml configuration:

matrix_homeserver_implementation: conduit

However, since Conduit is difficult (see famedly/conduit#276 and famedly/conduit#354) when it comes to creating the first user account and does not support registering users (via the command line or via the playbook) like Synapse and Dendrite do, we recommend the following flow:

  1. Add matrix_conduit_allow_registration: true to your vars.yml the first time around, temporarily
  2. Run the playbook (ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start - see Installing)
  3. Create your first user via Element or any other client which supports creating users
  4. Get rid of matrix_conduit_allow_registration: true from your vars.yml
  5. Run the playbook again (ansible-playbook -i inventory/hosts setup.yml --tags=setup-conduit,start would be enough this time)
  6. You can now use your server safely. Additional users can be created by messaging the internal Conduit bot

Configuring bridges / appservices

Automatic appservice setup is currently unsupported when using conduit. After setting up the service as usual you may notice that it is unable to start.

You will have to manually register appservices using the the register-appservice command.

Find the registration.yaml in the /matrix directory, for example /matrix/mautrix-signal/bridge/registration.yaml, then pass the content to conduit:

@conduit:your.server.name: register-appservice
```
as_token: <token>
de.sorunome.msc2409.push_ephemeral: true
hs_token: <token>
id: signal
namespaces:
  aliases:
  - exclusive: true
    regex: ^#signal_.+:example\.org$
  users:
  - exclusive: true
    regex: ^@signal_.+:example\.org$
  - exclusive: true
    regex: ^@signalbot:example\.org$
rate_limited: false
sender_localpart: _bot_signalbot
url: http://matrix-mautrix-signal:29328
```