This repository has no description
1.6 kB
61 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 database.name = "sqlite3";
9 turn_uris = [
10 "turn:turn.matrix.org?transport=udp"
11 "turn:turn.matrix.org?transport=tcp"
12 ];
13 listeners = [
14 {
15 port = 8008;
16 bind_addresses = [ "::1" ];
17 type = "http";
18 tls = false;
19 x_forwarded = true;
20 resources = [
21 {
22 names = [ "client" ];
23 compress = true;
24 }
25 {
26 names = [ "federation" ];
27 compress = true;
28 }
29 ];
30 }
31 ];
32 };
33 };
34 services.nginx = {
35 virtualHosts = {
36 "lassul.us" = {
37 locations."= /.well-known/matrix/server".extraConfig = ''
38 add_header Content-Type application/json;
39 return 200 '${builtins.toJSON {
40 "m.server" = "matrix.lassul.us:443";
41 }}';
42 '';
43 locations."= /.well-known/matrix/client".extraConfig = ''
44 add_header Content-Type application/json;
45 add_header Access-Control-Allow-Origin *;
46 return 200 '${builtins.toJSON {
47 "m.homeserver" = { "base_url" = "https://matrix.lassul.us"; };
48 "m.identity_server" = { "base_url" = "https://vector.im"; };
49 }}';
50 '';
51 };
52 "matrix.lassul.us" = {
53 forceSSL = true;
54 enableACME = true;
55 locations."/_matrix" = {
56 proxyPass = "http://[::1]:8008";
57 };
58 };
59 };
60 };
61}