Added mediaworker.

This commit is contained in:
Hans van Zijst 2024-12-19 14:03:27 +01:00 committed by Hans van Zijst
parent 59c83817ad
commit 04c14636a2
2 changed files with 42 additions and 1 deletions

View file

@ -54,7 +54,7 @@ Copy it to `production.yaml` and change what you must.
| Option | Value | Meaning | | Option | Value | Meaning |
| :---- | :---- | :---- | | :---- | :---- | :---- |
| `homeserverUrl` | `http://localhost:8008` | Where to communicate with Synapse when using network port| | `homeserverUrl` | `http://localhost:8008` | Where to communicate with Synapse when using network port|
| `homeserverUrl` | `http://unix://run/matrix-synapse/incoming_main.sock` | Where to communicate with Synapse when using UNIX sockets (see [Workers](../synapse/workers.md)) | | `homeserverUrl` | `http://unix:/run/matrix-synapse/incoming_main.sock` | Where to communicate with Synapse when using UNIX sockets (see [Workers](../synapse/workers.md)) |
| `rawHomeserverUrl` | `https://matrix.example.com` | Same as `server_name` | | `rawHomeserverUrl` | `https://matrix.example.com` | Same as `server_name` |
| `accessToken` | access token | Copy from login session or create in [Synapse Admin](../synapse-admin)) | | `accessToken` | access token | Copy from login session or create in [Synapse Admin](../synapse-admin)) |
| `password` | password | Password for the account | | `password` | password | Password for the account |

View file

@ -252,6 +252,9 @@ chown matrix-synapse:matrix-synapse /etc/matrix-synapse/workers
chmod 750 /etc/matrix-synapse-workers chmod 750 /etc/matrix-synapse-workers
``` ```
### Generic worker
Workers look very much the same, very little configuration is needed. This is Workers look very much the same, very little configuration is needed. This is
what you need: what you need:
@ -306,6 +309,44 @@ the network. This creates extra overhead, so you want to use sockets whenever
possible. possible.
### Media worker
The media worker is slightly different than the generic one. It doesn't use the
`synapse.app.generic_worker`, but a specialised one: `synapse.app.media_repository`.
To prevent the main process from handling media itself, you have to explicitly
tell it to leave that to the worker, by adding this to the configuration (in
our setup `conf.d/listeners.yaml`):
```
enable_media_repo: false
media_instance_running_background_jobs: mediaworker
```
The worker `mediaworker` looks like this:
```
worker_app: "synapse.app.media_repository"
worker_name: "mediaworker"
worker_log_config: "/etc/matrix-synapse/logconf.d/media.yaml"
worker_listeners:
- path: "/run/matrix-synapse/inbound_mediaworker.sock"
type: http
resources:
- names:
- media
- federation
- path: "/run/matrix-synapse/replication_mediaworker.sock"
type: http
resources:
- names: [replication]
```
If you use more than one mediaworker, know that they must all run on the same
machine; scaling it over more than one machine will not work.
## Worker logging ## Worker logging
As stated before, you configure the logging of workers in a separate yaml As stated before, you configure the logging of workers in a separate yaml