matrix-docker-ansible-deploy/docs/maintenance-upgrading-services.md
Suguru Hirahara 27ede17d3a
Add description about keeping the playbook and services up-to-date
Also: move descriptions about difference between the playbook tags (setup-all and install-all) and about the just "recipe" from installing.md to maintenance-upgrading-services.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-11-21 14:09:20 +09:00

2.5 KiB

Upgrading the Matrix services

This playbook not only installs the various Matrix services for you, but can also upgrade them as new versions are made available.

While this playbook helps you to set up Matrix services and maintain them, it will not automatically run the maintenance task for you. You will need to update the playbook and re-run it manually.

The upstream projects, which this playbook makes use of, occasionally if not often suffer from security vulnerabilities (for example, see here for known ones on Element Web).

Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date.

The developers of this playbook strive to maintain the playbook updated, so that you can re-run the playbook to address such vulnerabilities. It is your responsibility to keep your server and the services on it up-to-date.

If you want to be notified when new versions of Synapse are released, you should join the Synapse Homeowners room: #homeowners:matrix.org.

Steps to upgrade the Matrix services

To upgrade the services:

  • update your playbook directory and all upstream Ansible roles (defined in the requirements.yml file) using:

    • either: just update
    • or: a combination of git pull and just roles (or make roles)
  • take a look at the changelog to see if there have been any backward-incompatible changes that you need to take care of

  • re-run the playbook setup and restart all services:

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

Note that if you remove components from vars.yml, or if we switch some component from being installed by default to not being installed by default anymore, you'd need to run the setup command with --tags=setup-all instead of --tags=install-all. See this page on the playbook tags for more information.

A way to invoke these ansible-playbook commands with less typing is to use just to run the "recipe": just install-all or just setup-all. See our justfile for more information.

Note: major version upgrades to the internal PostgreSQL database are not done automatically. To upgrade it, refer to the upgrading PostgreSQL guide.