matrix-docker-ansible-deploy/docs/configuring-playbook-dendrite.md
Suguru Hirahara b017ffd853
Update docs for homeserver implementations (Conduit, Dendrite, and Synapse) (#3926)
* Update docs for Dendrite and Synapse: adopt the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: move down the section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Dendrite and Synapse: remove redundant descriptions

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-conduit.md: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Conduit and Dendrite: replace "Notes" with "Warnings" plus the warning symbol

The information is important and should deserve clear attention.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: reorganize sections for adjusting the playbook configuration

As the section for Synapse Admin is not related to adjusting the configuration, it was moved out of the it

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: on Synapse Admin

Based on docs/configuring-playbook-bot-draupnir.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update URLs of the forked Dendrite repository

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Conduit and Dendrite: use the common descriptions for introductions

- Edit the instruction for adjusting the configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse-admin.md: update the URL of the Dendrite documentation

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: add the sections "Installing" and "Usage"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-conduit.md: copy an instruction from roles/custom/matrix-conduit/defaults/main.yml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Conduit and Dendrite: fix capitalization

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-11 09:49:53 +02:00

3.4 KiB

Configuring Dendrite (optional)

The playbook can install and configure the Dendrite Matrix server for you.

See the project's documentation to learn what it does and why it might be useful to you.

By default, the playbook installs Synapse as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document.

⚠️ Warnings:

  • You can't switch an existing Matrix server's implementation (e.g. Synapse -> Dendrite). 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

Adjusting the playbook configuration

To use Dendrite, you generally need to adjust the matrix_homeserver_implementation: synapse configuration on your inventory/host_vars/matrix.example.com/vars.yml file as below:

matrix_homeserver_implementation: dendrite

Extending the configuration

There are some additional things you may wish to configure about the server.

Take a look at:

  • roles/custom/matrix-dendrite/defaults/main.yml for some variables that you can customize via your vars.yml file
  • roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 for the server's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the matrix_dendrite_configuration_extension_yaml variable

For example, to override some Dendrite settings, add the following configuration to your inventory/host_vars/matrix.example.com/vars.yml file:

matrix_dendrite_configuration_extension_yaml: |
  # Your custom YAML configuration for Dendrite goes here.
  # This configuration extends the default starting configuration (`matrix_dendrite_configuration_yaml`).
  #
  # You can override individual variables from the default configuration, or introduce new ones.
  #
  # If you need something more special, you can take full control by
  # completely redefining `matrix_dendrite_configuration_yaml`.
  #
  # Example configuration extension follows:
  #
  server_notices:
    system_mxid_localpart: notices
    system_mxid_display_name: "Server Notices"
    system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
    room_name: "Server Notices"

Installing

After configuring the playbook, run it with playbook tags as below:

ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start

The shortcut commands with the just program are also available: just install-all or just setup-all

just install-all is useful for maintaining your setup quickly (2x-5x faster 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.