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).
If users participate in large rooms with many other servers, disabling presence will decrease server load significantly.
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
).
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/matrix-org/synapse#help-synapse-eats-all-my-ram
--log-driver=none
is used for all Docker containers now.
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.
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.
The playbook now helps you set up service discovery using a /.well-known/matrix/client
file.
Additional details are available in Configuring service discovery via .well-known.
The following playbook variables were renamed:
- from
matrix_nginx_riot_web_data_path
tomatrix_riot_web_data_path
- from
matrix_riot_web_default_identity_server_url
tomatrix_identity_server_url
The playbook now supports bridging with Telegram by installing the mautrix-telegram bridge. This playbook functionality is available thanks to @izissise.
Additional details are available in Setting up Mautrix Telegram bridging.
The playbook now lets you configure Matrix Synapse's event_cache_size
configuration via the matrix_synapse_event_cache_size
playbook variable.
Previously, this value was hardcoded to "10K"
. From now on, a more reasonable default of "100K"
is used.
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.
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.
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.
We've been using acmetool (with the willwill/acme-docker Docker image) until now.
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 (with the certbot/certbot Docker image).
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:
systemctl stop 'matrix*'
- stop your custom webserver, if you're running one (only affects you if you've installed with
matrix_nginx_proxy_enabled: false
) mv /matrix/ssl /matrix/ssl-acmetool-delete-later
- re-run the playbook's installation
- possibly delete
/matrix/ssl-acmetool-delete-later
The playbook can now install and configure matrix-corporal for you.
Additional details are available in Setting up Matrix Corporal.
The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below).
matrix_synapse_rc_messages_per_second: 0.2
matrix_synapse_rc_message_burst_count: 10.0
The playbook can now install and configure matrix-synapse-shared-secret-auth for you.
Additional details are available in Setting up the Shared Secret Auth password provider module.
The playbook can now install and configure matrix-synapse-rest-auth for you.
Additional details are available in Setting up the REST authentication password provider module.
Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it.
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.
The following services are not necessary, so they have been disabled:
- on the federation port (8448): the
client
service - on the http port (8008, exposed over 443): the old Angular
webclient
and thefederation
service
Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now.
The playbook now sets up an mxisd Identity Server for you by default. Additional details are available in Adjusting mxisd Identity Server configuration.
The playbook now configures an email-sending service (postfix) by default. Additional details are available in Adjusting email-sending settings.
With this, Matrix Synapse is able to send email notifications for missed messages, etc.
The following playbook variables were renamed:
- from
matrix_max_upload_size_mb
tomatrix_synapse_max_upload_size_mb
- from
matrix_max_log_file_size_mb
tomatrix_synapse_max_log_file_size_mb
- from
matrix_max_log_files_count
tomatrix_synapse_max_log_files_count
- from
docker_matrix_image
tomatrix_docker_image_synapse
- from
docker_nginx_image
tomatrix_docker_image_nginx
- from
docker_riot_image
tomatrix_docker_image_riot
- from
docker_goofys_image
tomatrix_docker_image_goofys
- from
docker_coturn_image
tomatrix_docker_image_coturn
If you're overriding any of them in your vars.yml
file, you'd need to change to the new names.
The command for executing the whole playbook has changed.
The setup-main
tag got renamed to setup-all
.
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.