dotfiles/nixng/containers/matrix/synapse/synapse.nix
magic_rb 8a45acefa6
Close up synapse manholes
Signed-off-by: magic_rb <richard@brezak.sk>
2023-10-16 17:37:48 +02:00

76 lines
1.8 KiB
Nix

{ makeSystem
, nixpkgs
, commonConfig
}:
makeSystem {
system = "x86_64-linux";
name = "synapse";
inherit nixpkgs;
config =
{ pkgs, lib, ... }:
let
inherit (lib)
singleton
makeSearchPathOutput;
in
{
dumb-init = {
enable = true;
type.services = { };
};
environment.systemPackages = [ pkgs.openssh ];
services.synapse = {
enable = true;
package = import ./synapse-package.nix pkgs;
settings = {
listeners =
[
# The HTTP replication port
{
port = 9093;
bind_addresses = [ "0.0.0.0" ];
type = "http";
resources = [
{
names = [ "replication" ];
}
];
}
{
port = 6167;
tls = false;
type = "http";
x_forwarded = true;
bind_adrresses = [ "0.0.0.0" ];
resources = singleton {
names = [ "client" "federation" ];
compress = false;
};
}
# {
# port = 9000;
# bind_addresses = [ "127.0.0.1" ];
# type = "manhole";
# }
];
public_baseurl = "https://matrix.redalder.org/";
# Add a random shared secret to authenticate traffic.
worker_replication_secret = "";
};
arguments = {
"config-path" = [
(commonConfig pkgs)
"/secrets/extra.yaml"
"/var/lib/registrations/extra.yaml"
];
"keys-directory" = "/var/lib/synapse/keys";
};
};
};
}