This repository has no description
1.2 kB
48 lines
1{ config, pkgs, ... }:
2{
3 services.matrix-synapse = {
4 enable = true;
5 settings = {
6 server_name = "lassul.us";
7 # registration_shared_secret = "yolo";
8 turn_uris = [
9 "turn:turn.matrix.org?transport=udp"
10 "turn:turn.matrix.org?transport=tcp"
11 ];
12 listeners = [
13 {
14 port = 8008;
15 bind_addresses = [
16 "::1"
17 config.krebs.build.host.nets.retiolum.ip6.addr
18 ];
19 type = "http";
20 tls = false;
21 x_forwarded = true;
22 resources = [
23 {
24 names = [ "client" ];
25 compress = true;
26 }
27 {
28 names = [ "federation" ];
29 compress = false;
30 }
31 ];
32 }
33 ];
34 };
35 };
36
37 # TODO add other VPNs here as well
38 networking.firewall.interfaces.retiolum.allowedTCPPorts = [ 8008 ];
39
40 services.postgresql.enable = true;
41 services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" ''
42 CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
43 CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
44 TEMPLATE template0
45 LC_COLLATE = "C"
46 LC_CTYPE = "C";
47 '';
48}