nixos/clients/quadraticserver/element-call.nix
2025-04-18 13:10:50 -04:00

49 lines
1.1 KiB
Nix

{
pkgs,
config,
...
}: {
services = let
domain = "call.henryhiles.com";
in {
lk-jwt-service = {
enable = true;
livekit = {
url = "wss://${domain}/livekit/sfu";
environmentFile = config.age.secrets."livekitKeys.age".path;
};
};
livekit = {
enable = true;
environmentFile = config.age.secrets."livekitKeys.age".path;
};
caddy.virtualHosts."${domain}".extraConfig = ''
root * ${pkgs.element-call}
route {
respond /config.json `${builtins.toJSON {
default_server_config = {
"m.homeserver" = {
"base_url" = "https://matrix.henryhiles.com";
"server_name" = "henryhiles.com";
};
};
livekit.livekit_service_url = "https://${domain}/livekit";
}}` 200
handle /livekit/sfu/get {
uri strip_prefix /livekit
reverse_proxy 127.0.0.1:8080
}
handle_path /livekit/sfu* {
reverse_proxy 127.0.0.1:7880
}
try_files {path} {path}/ /index.html
file_server
}
'';
};
}