modules: services: matrix: add sliding sync
Some checks failed
ci/woodpecker/push/check Pipeline failed
Some checks failed
ci/woodpecker/push/check Pipeline failed
This commit is contained in:
parent
ec6fb2efa7
commit
f03cb23109
2 changed files with 36 additions and 0 deletions
|
|
@ -64,6 +64,9 @@ in
|
||||||
mailConfigFile = secrets."matrix/mail".path;
|
mailConfigFile = secrets."matrix/mail".path;
|
||||||
# Only necessary when doing the initial registration
|
# Only necessary when doing the initial registration
|
||||||
secretFile = secrets."matrix/secret".path;
|
secretFile = secrets."matrix/secret".path;
|
||||||
|
slidingSync = {
|
||||||
|
secretFile = secrets."matrix/sliding-sync-secret".path;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
miniflux = {
|
miniflux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,23 @@ in
|
||||||
description = "Shared secret to register users";
|
description = "Shared secret to register users";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
slidingSync = {
|
||||||
|
enable = my.mkDisableOption "sliding sync";
|
||||||
|
|
||||||
|
port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
default = 8009;
|
||||||
|
example = 8084;
|
||||||
|
description = "Port used by sliding sync server";
|
||||||
|
};
|
||||||
|
|
||||||
|
secretFile = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
example = "/var/lib/matrix/sliding-sync-secret-file.env";
|
||||||
|
description = "Secret file which contains SYNCV3_SECRET definition";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
mailConfigFile = mkOption {
|
mailConfigFile = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = "/var/lib/matrix/email-config.yaml";
|
example = "/var/lib/matrix/email-config.yaml";
|
||||||
|
|
@ -89,6 +106,17 @@ in
|
||||||
extraConfigFiles = [
|
extraConfigFiles = [
|
||||||
cfg.mailConfigFile
|
cfg.mailConfigFile
|
||||||
] ++ lib.optional (cfg.secretFile != null) cfg.secretFile;
|
] ++ lib.optional (cfg.secretFile != null) cfg.secretFile;
|
||||||
|
|
||||||
|
sliding-sync = lib.mkIf cfg.slidingSync.enable {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
SYNCV3_SERVER = "https://${matrixDomain}";
|
||||||
|
SYNCV3_BINDADDR = "127.0.0.1:${cfg.slidingSync.port}";
|
||||||
|
};
|
||||||
|
|
||||||
|
environmentFile = cfg.slidingSync.secretFile;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
my.services.nginx.virtualHosts = [
|
my.services.nginx.virtualHosts = [
|
||||||
|
|
@ -139,6 +167,11 @@ in
|
||||||
|
|
||||||
"/_matrix" = proxyToClientPort;
|
"/_matrix" = proxyToClientPort;
|
||||||
"/_synapse/client" = proxyToClientPort;
|
"/_synapse/client" = proxyToClientPort;
|
||||||
|
|
||||||
|
# Sliding sync
|
||||||
|
"~ ^/(client/|_matrix/client/unstable/org.matrix.msc3575/sync)" = {
|
||||||
|
proxyPass = "http://${config.services.matrix-synapse.sliding-sync.settings.SYNCV3_BINDADDR}";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
listen = [
|
listen = [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue