diff options
Diffstat (limited to 'hosts/kay/modules/www.nix')
-rw-r--r-- | hosts/kay/modules/www.nix | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/hosts/kay/modules/www.nix b/hosts/kay/modules/www.nix index a81adc2..a63f2ba 100644 --- a/hosts/kay/modules/www.nix +++ b/hosts/kay/modules/www.nix @@ -9,6 +9,7 @@ in { imports = [ ./dendrite.nix + ./matrix_sliding_sync.nix ./cgit.nix ]; @@ -30,14 +31,28 @@ in client_max_body_size ${toString config.services.dendrite.settings.media_api.max_file_size_bytes}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; - proxy_read_timeout 600; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + ''; + + locations."/.well-known/matrix/server".return = '' + 200 '{ "m.server": "${domain}:443" }' ''; locations."/_matrix" = { proxyPass = "http://127.0.0.1:${toString config.services.dendrite.httpPort}"; }; - locations."/.well-known/matrix/server".return = '' - 200 '{ "m.server": "${domain}:443" }' + + locations."/.well-known/matrix/client".return = '' + 200 '${builtins.toJSON { + "m.homeserver".base_url = "https://${domain}"; + "org.matrix.msc3575.proxy".url = "https://${domain}"; + }}' ''; + locations."/_matrix/client/unstable/org.matrix.msc3575/sync" = let + addr = "${config.services.matrix-synapse.sliding-sync.settings.SYNCV3_BINDADDR}"; + in { + proxyPass = "http://${addr}"; + }; }; "www.${domain}" = { forceSSL = true; |