Merge pull request #140979 from Ma27/matrix-workers

nixos/matrix-synapse: minor improvements to implement worker-support

+10
nixos/modules/services/misc/matrix-synapse.nix
···
options = {
services.matrix-synapse = {
enable = mkEnableOption "matrix.org synapse";
+
configFile = mkOption {
+
type = types.str;
+
readOnly = true;
+
description = ''
+
Path to the configuration file on the target system. Useful to configure e.g. workers
+
that also need this.
+
'';
+
};
package = mkOption {
type = types.package;
default = pkgs.matrix-synapse;
···
'';
}
];
+
+
services.matrix-synapse.configFile = "${configFile}";
users.users.matrix-synapse = {
group = "matrix-synapse";
+1 -1
pkgs/servers/matrix-synapse/0001-setup-add-homeserver-as-console-script.patch
···
From 36ffbb7ad2c535180cae473b470a43f9db4fbdcd Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Mon, 16 Aug 2021 13:27:28 +0200
-
Subject: [PATCH] setup: add homeserver as console script
+
Subject: [PATCH 1/2] setup: add homeserver as console script
With this change, it will be added to `$out/bin` in `nixpkgs` directly.
This became necessary since our old workaround, calling it as script,
+43
pkgs/servers/matrix-synapse/0002-Expose-generic-worker-as-binary-under-NixOS.patch
···
+
From 3089758015c64cc1e6788793c4fe40a0e1783457 Mon Sep 17 00:00:00 2001
+
From: Maximilian Bosch <maximilian@mbosch.me>
+
Date: Tue, 5 Oct 2021 22:33:12 +0200
+
Subject: [PATCH 2/2] Expose generic worker as binary under NixOS
+
+
---
+
setup.py | 3 ++-
+
synapse/app/generic_worker.py | 6 +++++-
+
2 files changed, 7 insertions(+), 2 deletions(-)
+
+
diff --git a/setup.py b/setup.py
+
index 27f1d842c..6383aed6f 100755
+
--- a/setup.py
+
+++ b/setup.py
+
@@ -135,7 +135,8 @@ setup(
+
python_requires="~=3.6",
+
entry_points={
+
'console_scripts': [
+
- 'homeserver = synapse.app.homeserver:main'
+
+ 'homeserver = synapse.app.homeserver:main',
+
+ 'worker = synapse.app.generic_worker:main'
+
]
+
},
+
classifiers=[
+
diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py
+
index 3b7131af8..c77a6a95c 100644
+
--- a/synapse/app/generic_worker.py
+
+++ b/synapse/app/generic_worker.py
+
@@ -491,6 +491,10 @@ def start(config_options):
+
_base.start_worker_reactor("synapse-generic-worker", config)
+
+
+
-if __name__ == "__main__":
+
+def main():
+
with LoggingContext("main"):
+
start(sys.argv[1:])
+
+
+
+
+
+if __name__ == "__main__":
+
+ main()
+
--
+
2.31.1
+
+1
pkgs/servers/matrix-synapse/default.nix
···
patches = [
./0001-setup-add-homeserver-as-console-script.patch
+
./0002-Expose-generic-worker-as-binary-under-NixOS.patch
];
buildInputs = [ openssl ];