lol

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>

authored by

Cleeyv
Puck Meerburg
and committed by
tomberek
3473cff4 c6c77e81

+50 -6
+1
nixos/modules/module-list.nix
··· 756 756 ./services/networking/iscsi/root-initiator.nix 757 757 ./services/networking/iscsi/target.nix 758 758 ./services/networking/iwd.nix 759 + ./services/networking/jibri/default.nix 759 760 ./services/networking/jicofo.nix 760 761 ./services/networking/jitsi-videobridge.nix 761 762 ./services/networking/kea.nix
+17 -6
nixos/modules/services/networking/jibri/default.nix
··· 55 55 56 56 recording = { 57 57 recordings-directory = "/tmp/recordings"; 58 + <<<<<<< HEAD 58 59 finalize-script = "${cfg.finalizeScript}"; 60 + ======= 61 + finalize-script = "/path/to/finalize"; # TODO(puck): replace with actual noop default 62 + >>>>>>> a1dc2ddd630 (nixos/jibri: init at 8.0-93-g51fe7a2) 59 63 }; 60 64 61 65 streaming.rtmp-allow-list = [ ".*" ]; ··· 116 120 ''; 117 121 }; 118 122 123 + ======= 124 + >>>>>>> a1dc2ddd630 (nixos/jibri: init at 8.0-93-g51fe7a2) 119 125 xmppEnvironments = mkOption { 120 126 description = '' 121 127 XMPP servers to connect to. ··· 242 248 243 249 config = mkIf cfg.enable { 244 250 users.groups.jibri = { }; 251 + users.groups.plugdev = { }; 245 252 users.users.jibri = { 246 253 isSystemUser = true; 247 254 group = "jibri"; ··· 305 312 after = [ "network.target" ]; 306 313 wantedBy = [ "multi-user.target" ]; 307 314 308 - path = [ pkgs.chromedriver pkgs.chromium pkgs.ffmpeg-full ]; 315 + path = with pkgs; [ chromedriver chromium ffmpeg-full ]; 309 316 310 317 script = (concatStrings (mapAttrsToList 311 318 (name: env: '' ··· 314 321 '') 315 322 cfg.xmppEnvironments)) 316 323 + '' 324 + <<<<<<< HEAD 317 325 ${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 326 + ======= 327 + ${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 328 + >>>>>>> a1dc2ddd630 (nixos/jibri: init at 8.0-93-g51fe7a2) 318 329 ''; 319 330 320 331 environment.HOME = "/var/lib/jibri"; ··· 331 342 }; 332 343 }; 333 344 334 - systemd.tmpfiles.rules = 335 - [ 336 - "d /var/log/jitsi/jibri 755 jibri" 337 - ]; 345 + systemd.tmpfiles.rules = [ 346 + "d /var/log/jitsi/jibri 755 jibri jibri" 347 + ]; 338 348 339 349 340 350 341 351 # Configure Chromium to not show the "Chrome is being controlled by automatic test software" message. 342 352 environment.etc."chromium/policies/managed/managed_policies.json".text = builtins.toJSON { CommandLineFlagSecurityWarningsEnabled = false; }; 353 + 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." ]; 343 354 344 355 boot = { 345 356 extraModprobeConfig = '' ··· 349 360 }; 350 361 }; 351 362 352 - meta.maintainers = with lib.maintainers; [ ]; 363 + meta.maintainers = lib.teams.jitsi.members; 353 364 }
+32
nixos/modules/services/networking/jibri/logging.properties-journal
··· 1 + handlers = java.util.logging.FileHandler 2 + 3 + java.util.logging.FileHandler.level = FINE 4 + java.util.logging.FileHandler.pattern = /var/log/jitsi/jibri/log.%g.txt 5 + java.util.logging.FileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter 6 + java.util.logging.FileHandler.count = 10 7 + java.util.logging.FileHandler.limit = 10000000 8 + 9 + org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.level = FINE 10 + org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.pattern = /var/log/jitsi/jibri/ffmpeg.%g.txt 11 + org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter 12 + org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.count = 10 13 + org.jitsi.jibri.capture.ffmpeg.util.FfmpegFileHandler.limit = 10000000 14 + 15 + org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.level = FINE 16 + org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.pattern = /var/log/jitsi/jibri/pjsua.%g.txt 17 + org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter 18 + org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.count = 10 19 + org.jitsi.jibri.sipgateway.pjsua.util.PjsuaFileHandler.limit = 10000000 20 + 21 + org.jitsi.jibri.selenium.util.BrowserFileHandler.level = FINE 22 + org.jitsi.jibri.selenium.util.BrowserFileHandler.pattern = /var/log/jitsi/jibri/browser.%g.txt 23 + org.jitsi.jibri.selenium.util.BrowserFileHandler.formatter = net.java.sip.communicator.util.ScLogFormatter 24 + org.jitsi.jibri.selenium.util.BrowserFileHandler.count = 10 25 + org.jitsi.jibri.selenium.util.BrowserFileHandler.limit = 10000000 26 + 27 + org.jitsi.level = FINE 28 + org.jitsi.jibri.config.level = INFO 29 + 30 + org.glassfish.level = INFO 31 + org.osgi.level = INFO 32 + org.jitsi.xmpp.level = INFO