This repository has no description
1.3 kB
55 lines
1{ config, ... }:
2{
3 services.matrix-synapse = {
4 enable = true;
5 settings = {
6 server_name = "lassul.us";
7 # registration_shared_secret = "yolo";
8 database = {
9 args.user = "matrix-synapse";
10 args.database = "matrix-synapse";
11 name = "psycopg2";
12 };
13 turn_uris = [
14 "turn:turn.matrix.org?transport=udp"
15 "turn:turn.matrix.org?transport=tcp"
16 ];
17 listeners = [
18 {
19 port = 8008;
20 bind_addresses = [
21 "::1"
22 config.krebs.build.host.nets.retiolum.ip6.addr
23 ];
24 type = "http";
25 tls = false;
26 x_forwarded = true;
27 resources = [
28 {
29 names = [ "client" ];
30 compress = true;
31 }
32 {
33 names = [ "federation" ];
34 compress = false;
35 }
36 ];
37 }
38 ];
39 };
40 };
41
42 # TODO add other VPNs here as well
43 networking.firewall.interfaces.retiolum.allowedTCPPorts = [ 8008 ];
44
45 services.postgresql.enable = true;
46 services.postgresql = {
47 ensureDatabases = [ "matrix-synapse" ];
48 ensureUsers = [
49 {
50 name = "matrix-synapse";
51 ensureDBOwnership = true;
52 }
53 ];
54 };
55}