{config, pkgs, ...}: with pkgs.luaPackages; with pkgs; let extraLua = import ../../../../playground/jitsi/test.nix; in { services.jitsi-meet = { enable = true; hostName = "jitsi.stuebinm.eu"; config = { enableWelcomePage = true; prejoinPageEnabled = true; }; interfaceConfig = { SHOW_JITSI_WATERMARK = false; SHOW_WATERMARK_FOR_GUESTS = false; }; }; services.jitsi-videobridge.openFirewall = true; services.nginx.virtualHosts."api.jitsi.stuebinm.eu" = { locations."/room-size" = { proxyPass = pkgs.lib.mkForce "http://jitsi.stuebinm.eu:5280/room-size?$args&domain=jitsi.stuebinm.eu"; extraConfig = '' add_header Access-Control-Allow-Origin *; ''; }; locations."/room-list" = { proxyPass = "http://jitsi.stuebinm.eu:5280/room-list?domain=jitsi.stuebinm.eu"; extraConfig = '' add_header Access-Control-Allow-Origin *; ''; }; locations."/dashboard/".root = pkgs.copyPathToStore ../../../../playground/jitsi/html; enableACME = true; forceSSL = true; }; services.nginx.recommendedProxySettings = false; services.prosody = { #extraModules = [ "muc_size2" ]; extraModules = [ "jitsi_bundled" ]; extraPluginPaths = [ (pkgs.copyPathToStore ../../../../playground/jitsi/plugins) ]; package = pkgs.prosody.override { withExtraLibs = with extraLua; [ basexx luajwtjitsi net-url ]; }; }; }