services/jitsi: Add missing dependency

To be able to use jitsi's breakout rooms (`muc_breaktout_rooms`),
prosody needs to include the `cjson` lua dependency.
This commit is contained in:
pinpox 2025-07-31 14:38:19 +02:00
parent b0aeb7b64b
commit deb236c834
No known key found for this signature in database

View File

@ -8,6 +8,7 @@
with lib; with lib;
let let
cfg = config.services.jitsi-meet; cfg = config.services.jitsi-meet;
# The configuration files are JS of format "var <<string>> = <<JSON>>;". In order to # The configuration files are JS of format "var <<string>> = <<JSON>>;". In order to
@ -231,6 +232,14 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.prosody = mkIf cfg.prosody.enable { services.prosody = mkIf cfg.prosody.enable {
# required for muc_breakout_rooms
package = lib.mkDefault (
config.services.prosody.package.override {
withExtraLuaPackages = p: with p; [ cjson ];
}
);
enable = mkDefault true; enable = mkDefault true;
xmppComplianceSuite = mkDefault false; xmppComplianceSuite = mkDefault false;
modules = { modules = {
@ -419,6 +428,7 @@ in
cfg.videobridge.passwordFile cfg.videobridge.passwordFile
else else
"/var/lib/jitsi-meet/videobridge-secret"; "/var/lib/jitsi-meet/videobridge-secret";
in in
'' ''
${config.services.prosody.package}/bin/prosodyctl register focus auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jicofo-user-secret)" ${config.services.prosody.package}/bin/prosodyctl register focus auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jicofo-user-secret)"
@ -445,13 +455,12 @@ in
systemd.services.jitsi-meet-init-secrets = { systemd.services.jitsi-meet-init-secrets = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
before = before = [
[ "jicofo.service"
"jicofo.service" "jitsi-videobridge2.service"
"jitsi-videobridge2.service" ]
] ++ (optional cfg.prosody.enable "prosody.service")
++ (optional cfg.prosody.enable "prosody.service") ++ (optional cfg.jigasi.enable "jigasi.service");
++ (optional cfg.jigasi.enable "jigasi.service");
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
UMask = "027"; UMask = "027";
@ -462,18 +471,17 @@ in
script = script =
let let
secrets = secrets = [
[ "jicofo-component-secret"
"jicofo-component-secret" "jicofo-user-secret"
"jicofo-user-secret" "jibri-auth-secret"
"jibri-auth-secret" "jibri-recorder-secret"
"jibri-recorder-secret" ]
] ++ (optionals cfg.jigasi.enable [
++ (optionals cfg.jigasi.enable [ "jigasi-user-secret"
"jigasi-user-secret" "jigasi-component-secret"
"jigasi-component-secret" ])
]) ++ (optional (cfg.videobridge.passwordFile == null) "videobridge-secret");
++ (optional (cfg.videobridge.passwordFile == null) "videobridge-secret");
in in
'' ''
${concatMapStringsSep "\n" (s: '' ${concatMapStringsSep "\n" (s: ''