nixos/jibri: init at 8.0-93-g51fe7a2
This module was written by @puckipedia for nixcon-video-infra 2020. Minor changes made by @cleeyv for compat with existing jibri package. Co-authored-by: Puck Meerburg <puck@puck.moe>
This commit is contained in:
parent
c6c77e819f
commit
3473cff4b0
3 changed files with 50 additions and 6 deletions
|
@ -756,6 +756,7 @@
|
||||||
./services/networking/iscsi/root-initiator.nix
|
./services/networking/iscsi/root-initiator.nix
|
||||||
./services/networking/iscsi/target.nix
|
./services/networking/iscsi/target.nix
|
||||||
./services/networking/iwd.nix
|
./services/networking/iwd.nix
|
||||||
|
./services/networking/jibri/default.nix
|
||||||
./services/networking/jicofo.nix
|
./services/networking/jicofo.nix
|
||||||
./services/networking/jitsi-videobridge.nix
|
./services/networking/jitsi-videobridge.nix
|
||||||
./services/networking/kea.nix
|
./services/networking/kea.nix
|
||||||
|
|
|
@ -55,7 +55,11 @@ let
|
||||||
|
|
||||||
recording = {
|
recording = {
|
||||||
recordings-directory = "/tmp/recordings";
|
recordings-directory = "/tmp/recordings";
|
||||||
|
<<<<<<< HEAD
|
||||||
finalize-script = "${cfg.finalizeScript}";
|
finalize-script = "${cfg.finalizeScript}";
|
||||||
|
=======
|
||||||
|
finalize-script = "/path/to/finalize"; # TODO(puck): replace with actual noop default
|
||||||
|
>>>>>>> a1dc2ddd630 (nixos/jibri: init at 8.0-93-g51fe7a2)
|
||||||
};
|
};
|
||||||
|
|
||||||
streaming.rtmp-allow-list = [ ".*" ];
|
streaming.rtmp-allow-list = [ ".*" ];
|
||||||
|
@ -116,6 +120,8 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> a1dc2ddd630 (nixos/jibri: init at 8.0-93-g51fe7a2)
|
||||||
xmppEnvironments = mkOption {
|
xmppEnvironments = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
XMPP servers to connect to.
|
XMPP servers to connect to.
|
||||||
|
@ -242,6 +248,7 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
users.groups.jibri = { };
|
users.groups.jibri = { };
|
||||||
|
users.groups.plugdev = { };
|
||||||
users.users.jibri = {
|
users.users.jibri = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "jibri";
|
group = "jibri";
|
||||||
|
@ -305,7 +312,7 @@ in
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
path = [ pkgs.chromedriver pkgs.chromium pkgs.ffmpeg-full ];
|
path = with pkgs; [ chromedriver chromium ffmpeg-full ];
|
||||||
|
|
||||||
script = (concatStrings (mapAttrsToList
|
script = (concatStrings (mapAttrsToList
|
||||||
(name: env: ''
|
(name: env: ''
|
||||||
|
@ -314,7 +321,11 @@ in
|
||||||
'')
|
'')
|
||||||
cfg.xmppEnvironments))
|
cfg.xmppEnvironments))
|
||||||
+ ''
|
+ ''
|
||||||
|
<<<<<<< HEAD
|
||||||
${pkgs.jre8_headless}/bin/java -Djava.util.logging.config.file=${./logging.properties-journal} -Dconfig.file=${configFile} -jar ${pkgs.jibri}/opt/jitsi/jibri/jibri.jar --config /var/lib/jibri/jibri.json
|
${pkgs.jre8_headless}/bin/java -Djava.util.logging.config.file=${./logging.properties-journal} -Dconfig.file=${configFile} -jar ${pkgs.jibri}/opt/jitsi/jibri/jibri.jar --config /var/lib/jibri/jibri.json
|
||||||
|
=======
|
||||||
|
${pkgs.jre_headless}/bin/java -Djava.util.logging.config.file=${./logging.properties-journal} -Dconfig.file=${configFile} -jar ${pkgs.jibri}/opt/jitsi/jibri/jibri.jar --config /var/lib/jibri/jibri.json
|
||||||
|
>>>>>>> a1dc2ddd630 (nixos/jibri: init at 8.0-93-g51fe7a2)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
environment.HOME = "/var/lib/jibri";
|
environment.HOME = "/var/lib/jibri";
|
||||||
|
@ -331,15 +342,15 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.rules =
|
systemd.tmpfiles.rules = [
|
||||||
[
|
"d /var/log/jitsi/jibri 755 jibri jibri"
|
||||||
"d /var/log/jitsi/jibri 755 jibri"
|
];
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Configure Chromium to not show the "Chrome is being controlled by automatic test software" message.
|
# Configure Chromium to not show the "Chrome is being controlled by automatic test software" message.
|
||||||
environment.etc."chromium/policies/managed/managed_policies.json".text = builtins.toJSON { CommandLineFlagSecurityWarningsEnabled = false; };
|
environment.etc."chromium/policies/managed/managed_policies.json".text = builtins.toJSON { CommandLineFlagSecurityWarningsEnabled = false; };
|
||||||
|
warnings = [ "All security warnings for Chromium have been disabled. This is necessary for Jibri, but it also impacts all other uses of Chromium on this system." ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
|
@ -349,5 +360,5 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ ];
|
meta.maintainers = lib.teams.jitsi.members;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
handlers = java.util.logging.FileHandler
|
||||||
|
|
||||||
|
java.util.logging.FileHandler.level = FINE
|
||||||
|
java.util.logging.FileHandler.pattern = /var/log/jitsi/jibri/log.%g.txt
|
||||||
|
java.util.logging.FileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||||
|
java.util.logging.FileHandler.count = 10
|
||||||
|
java.util.logging.FileHandler.limit = 10000000
|
||||||
|
|
||||||
|
org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.level = FINE
|
||||||
|
org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.pattern = /var/log/jitsi/jibri/ffmpeg.%g.txt
|
||||||
|
org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||||
|
org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.count = 10
|
||||||
|
org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.limit = 10000000
|
||||||
|
|
||||||
|
org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.level = FINE
|
||||||
|
org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.pattern = /var/log/jitsi/jibri/pjsua.%g.txt
|
||||||
|
org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||||
|
org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.count = 10
|
||||||
|
org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.limit = 10000000
|
||||||
|
|
||||||
|
org.jitsi.jibri.selenium.util.BrowserFileHandler.level = FINE
|
||||||
|
org.jitsi.jibri.selenium.util.BrowserFileHandler.pattern = /var/log/jitsi/jibri/browser.%g.txt
|
||||||
|
org.jitsi.jibri.selenium.util.BrowserFileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||||
|
org.jitsi.jibri.selenium.util.BrowserFileHandler.count = 10
|
||||||
|
org.jitsi.jibri.selenium.util.BrowserFileHandler.limit = 10000000
|
||||||
|
|
||||||
|
org.jitsi.level = FINE
|
||||||
|
org.jitsi.jibri.config.level = INFO
|
||||||
|
|
||||||
|
org.glassfish.level = INFO
|
||||||
|
org.osgi.level = INFO
|
||||||
|
org.jitsi.xmpp.level = INFO
|
Loading…
Reference in a new issue