diff --git a/machines/pendulum/matrix.nix b/machines/pendulum/matrix.nix index baaca29..a3b67f2 100644 --- a/machines/pendulum/matrix.nix +++ b/machines/pendulum/matrix.nix @@ -122,5 +122,29 @@ ''; root = "/var/www"; }; + "community.rs" = { + enableACME = true; + forceSSL = true; + locations."= /.well-known/matrix/server".extraConfig = let + # use 443 instead of the default 8448 port to unite + # the client-server and server-server port for simplicity + server = { "m.server" = "${fqdn}:443"; }; + in '' + add_header Content-Type application/json; + return 200 '${builtins.toJSON server}'; + ''; + locations."= /.well-known/matrix/client".extraConfig = let + client = { + "m.homeserver" = { "base_url" = "https://${fqdn}"; }; + "m.identity_server" = { "base_url" = "https://vector.im"; }; + }; + # ACAO required to allow element-web on any URL to request this json file + in '' + add_header Content-Type application/json; + add_header Access-Control-Allow-Origin *; + return 200 '${builtins.toJSON client}'; + ''; + root = "/var/www"; + }; }; }