matrix: sliding sync
This commit is contained in:
parent
8009002c89
commit
3a72f649d4
2 changed files with 36 additions and 9 deletions
|
@ -5,7 +5,9 @@ let
|
|||
base_url = "https://chat.meowy.tech";
|
||||
server_name = "meowy.tech";
|
||||
};
|
||||
"m.identity_server" = { };
|
||||
"org.matrix.msc3575.proxy" = {
|
||||
"url" = "https://sliding-chat.meowy.tech";
|
||||
};
|
||||
};
|
||||
serverConfig."m.server" = "chat.meowy.tech:443";
|
||||
mkWellKnown = data: ''
|
||||
|
@ -18,7 +20,8 @@ let
|
|||
url = "https://git.0x76.dev/v/0x76.dev.git";
|
||||
rev = "ecb7811560650381f41ee537b9c8493e004a108b";
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
|
@ -27,7 +30,10 @@ in {
|
|||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "21.05"; # Did you read the comment?
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
];
|
||||
services = {
|
||||
|
||||
# Generates vhosts for all hosts that have an `exposes` section
|
||||
|
@ -102,10 +108,8 @@ in {
|
|||
add_header Content-Type 'text/html; charset=UTF-8';
|
||||
return 200 '<h1>meow</h1>';
|
||||
'';
|
||||
"= /.well-known/matrix/client".extraConfig =
|
||||
mkWellKnown clientConfig;
|
||||
"= /.well-known/matrix/server".extraConfig =
|
||||
mkWellKnown serverConfig;
|
||||
"= /.well-known/matrix/client".extraConfig = mkWellKnown clientConfig;
|
||||
"= /.well-known/matrix/server".extraConfig = mkWellKnown serverConfig;
|
||||
};
|
||||
};
|
||||
"chat.meowy.tech" = {
|
||||
|
@ -115,6 +119,8 @@ in {
|
|||
"/".extraConfig = ''
|
||||
return 303 https://element.chat.meowy.tech;
|
||||
'';
|
||||
"= /.well-known/matrix/client".extraConfig = mkWellKnown clientConfig;
|
||||
"= /_matrix/client/unstable/org.matrix.msc3575/sync".proxyPass = "http://synapse.olympus:8009";
|
||||
"/_matrix".proxyPass = "http://synapse.olympus:8008";
|
||||
"/_synapse/client".proxyPass = "http://synapse.olympus:8008";
|
||||
"/_synapse/admin" = {
|
||||
|
@ -133,6 +139,11 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
"sliding-chat.meowy.tech" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/".proxyPass = "http://synapse.olympus:8009";
|
||||
};
|
||||
"element.chat.meowy.tech" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
|
|
|
@ -2,13 +2,17 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
vs = config.vault-secrets.secrets;
|
||||
port = 8008;
|
||||
slidingSyncPort = 8009;
|
||||
metricsPort = 9000;
|
||||
in
|
||||
{
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
|
@ -19,7 +23,7 @@ in
|
|||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "22.11"; # Did you read the comment?
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ port metricsPort ];
|
||||
networking.firewall.allowedTCPPorts = [ port metricsPort slidingSyncPort ];
|
||||
|
||||
vault-secrets.secrets.synapse = {
|
||||
user = "matrix-synapse";
|
||||
|
@ -38,6 +42,16 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
services.matrix-sliding-sync = {
|
||||
enable = true;
|
||||
createDatabase = true;
|
||||
environmentFile = "${vs.synapse}/sync";
|
||||
settings = {
|
||||
SYNCV3_SERVER = "http://localhost:${toString port}";
|
||||
SYNCV3_BINDADDR = ":${toString slidingSyncPort}";
|
||||
};
|
||||
};
|
||||
|
||||
services.matrix-synapse = {
|
||||
enable = true;
|
||||
withJemalloc = true;
|
||||
|
@ -109,3 +123,5 @@ in
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue