summaryrefslogtreecommitdiff
path: root/hosts/chaski/services/jitsi.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/chaski/services/jitsi.nix')
-rw-r--r--hosts/chaski/services/jitsi.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/hosts/chaski/services/jitsi.nix b/hosts/chaski/services/jitsi.nix
new file mode 100644
index 0000000..d6f398b
--- /dev/null
+++ b/hosts/chaski/services/jitsi.nix
@@ -0,0 +1,59 @@
+{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 ];
+ };
+ };
+
+
+}