David Vo d74cdc1a42 Ensure worker config exists in systemd service (#7528) | il y a 4 ans | |
---|---|---|
.. | ||
system | d74cdc1a42 Ensure worker config exists in systemd service (#7528) | il y a 4 ans |
workers | cae4121484 Make systemd-with-workers doc official (#7234) | il y a 4 ans |
README.md | cae4121484 Make systemd-with-workers doc official (#7234) | il y a 4 ans |
This is a setup for managing synapse with systemd, including support for
managing workers. It provides a matrix-synapse
service for the master, as
well as a matrix-synapse-worker@
service template for any workers you
require. Additionally, to group the required services, it sets up a
matrix-synapse.target
.
See the folder system for the systemd unit files.
The folder workers contains an example configuration for the
federation_reader
worker.
See workers.md for information on how to set up the configuration files and reverse-proxy correctly. You can find an example worker config in the workers folder.
Systemd manages daemonization itself, so ensure that none of the configuration
files set either daemonize
or worker_daemonize
.
The config files of all workers are expected to be located in
/etc/matrix-synapse/workers
. If you want to use a different location, edit
the provided *.service
files accordingly.
There is no need for a separate configuration file for the master process.
*.service
and *.target
files in system to
/etc/systemd/system
.systemctl deamon-reload
to tell systemd to load the new unit files.systemctl enable matrix-synapse.service
. This will configure the
synapse master process to be started as part of the matrix-synapse.target
target.systemctl enable
matrix-synapse-worker@<worker_name>.service
. For each <worker_name>
, there
should be a corresponding configuration file
/etc/matrix-synapse/workers/<worker_name>.yaml
.systemctl start matrix-synapse.target
.systemctl enable matrix-synapse.target
/Once the services are correctly set up, you can use the following commands to manage your synapse installation:
# Restart Synapse master and all workers
systemctl restart matrix-synapse.target
# Stop Synapse and all workers
systemctl stop matrix-synapse.target
# Restart the master alone
systemctl start matrix-synapse.service
# Restart a specific worker (eg. federation_reader); the master is
# unaffected by this.
systemctl restart matrix-synapse-worker@federation_reader.service
# Add a new worker (assuming all configs are set up already)
systemctl enable matrix-synapse-worker@federation_writer.service
systemctl restart matrix-synapse.target