tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
jitsi: add caddy reverse proxy option
happysalada
4 years ago
af1ac444
073fe478
+38
1 changed file
expand all
collapse all
unified
split
nixos
modules
services
web-apps
jitsi-meet.nix
+38
nixos/modules/services/web-apps/jitsi-meet.nix
···
144
'';
145
};
146
0
0
147
prosody.enable = mkOption {
148
type = bool;
149
default = true;
···
319
locations."=/interface_config.js" = mkDefault {
320
alias = overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig "";
321
};
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
322
};
323
};
324
···
144
'';
145
};
146
147
+
caddy.enable = mkEnableOption "Whether to enablle caddy reverse proxy to expose jitsi-meet";
148
+
149
prosody.enable = mkOption {
150
type = bool;
151
default = true;
···
321
locations."=/interface_config.js" = mkDefault {
322
alias = overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig "";
323
};
324
+
};
325
+
};
326
+
327
+
services.caddy = mkIf cfg.caddy.enable {
328
+
enable = mkDefault true;
329
+
virtualHosts.${cfg.hostName} = {
330
+
extraConfig =
331
+
let
332
+
templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" {} ''
333
+
cp -R ${pkgs.jitsi-meet}/* .
334
+
for file in *.html **/*.html ; do
335
+
${pkgs.sd}/bin/sd '<!--#include virtual="(.*)" -->' '{{ include "$1" }}' $file
336
+
done
337
+
rm config.js
338
+
rm interface_config.js
339
+
cp -R . $out
340
+
cp ${overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) cfg.extraConfig} $out/config.js
341
+
cp ${overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig ""} $out/interface_config.js
342
+
cp ./libs/external_api.min.js $out/external_api.js
343
+
'';
344
+
in ''
345
+
handle /http-bind {
346
+
header Host ${cfg.hostName}
347
+
reverse_proxy 127.0.0.1:5280
348
+
}
349
+
handle /xmpp-websocket {
350
+
reverse_proxy 127.0.0.1:5280
351
+
}
352
+
handle {
353
+
templates
354
+
root * ${templatedJitsiMeet}
355
+
try_files {path} {path}
356
+
try_files {path} /index.html
357
+
file_server
358
+
}
359
+
'';
360
};
361
};
362