summary refs log tree commit diff
path: root/host/Rory-nginx/services/jitsi.nix
diff options
context:
space:
mode:
Diffstat (limited to 'host/Rory-nginx/services/jitsi.nix')
-rwxr-xr-xhost/Rory-nginx/services/jitsi.nix518
1 files changed, 263 insertions, 255 deletions
diff --git a/host/Rory-nginx/services/jitsi.nix b/host/Rory-nginx/services/jitsi.nix
index 02b0af9..29f6a9e 100755
--- a/host/Rory-nginx/services/jitsi.nix
+++ b/host/Rory-nginx/services/jitsi.nix
@@ -1,4 +1,9 @@
-{ config, pkgs, lib, ... }:
+{
+  config,
+  pkgs,
+  lib,
+  ...
+}:
 
 {
   services.jitsi-videobridge.openFirewall = true;
@@ -6,261 +11,265 @@
     enable = true;
     nginx.enable = true;
     hostName = "jitsi.rory.gay";
-#    interfaceConfig = {
-#      APP_NAME = "Rory&'s Jitsi Meet Instance";
-#      AUDIO_LEVEL_PRIMARY_COLOR = "rgba(255,0,255,0.5)";
-#      AUDIO_LEVEL_SECONDARY_COLOR = "rgba(255,0,255,0.25)";
-#      AUTO_PIN_LATEST_SCREEN_SHARE = true;
-#      BRAND_WATERMARK_LINK = "https://rory.gay";
-#      CLOSE_PAGE_GUEST_HINT = false;
-#      DEFAULT_BACKGROUND = "#000000";
-#      DEFAULT_WELCOME_PAGE_LOGO_URL = "";
-#      DISABLE_DOMINANT_SPEAKER_INDICATOR = true;
-#      DISABLE_JOIN_LEAVE_NOTIFICATIONS = true;
-#      DISABLE_PRESENCE_STATUS = true;
-#      DISABLE_TRANSCRIPTION_SUBTITLES = true;
-#      DISABLE_VIDEO_BACKGROUND = true;
-#      DISABLE_WELCOME_FOOTER = false;
-#      DISPLAY_WELCOME_PAGE_ADDITIONAL_CARD = false;
-#      DISPLAY_WELCOME_PAGE_CONTENT = false;
-#      DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT = false;
-#      ENABLE_DIAL_OUT = false;
-#      FILM_STRIP_MAX_HEIGHT = 80;
-#      HIDE_INVITE_MORE_HEADER = true;
-#      JITSI_WATERMARK_LINK = "";
-#      LANG_DETECTION = false;
-#      LOCAL_THUMBNAIL_RATIO = 16 / 9;
-#      MAXIMUM_ZOOMING_COEFFICIENT = 2;
-#      MOBILE_APP_PROMO = false;
-#      OPTIMAL_BROWSERS = [ "firefox" ];
-#      POLICY_LOGO = "";
-#      PROVIDER_NAME = "Rory&'s Jitsi Meet Instance";
-#      SETTINGS_SECTIONS = [ "devices" "language" "moderator" "profile" "calendar" "sounds" "more" ];
-#      SHARING_FEATURES = [ "url" "embed" ];
-#      SHOW_BRAND_WATERMARK = true;
-#      SHOW_CHROME_EXTENSION_BANNER = false;
-#      SHOW_JITSI_WATERMARK = false;
-#      SHOW_POWERED_BY = false;
-#      SHOW_PROMOTIONAL_CLOSE_PAGE = false;
-#      VERTICAL_FILMSTRIP = true;
-#      VIDEO_LAYOUT_FIT = "nocrop";
-#      VIDEO_QUALITY_LABEL_DISABLED = false;
-#    };
-#    config = {
-#      #hosts.domain = "jitsi.rory.gay";
-#      testing = {
-#        assumeBandwidth = false;
-#        noAutoPlayVideo = false;
-#        callStatsTreshold = 100;
-#      };
-#      disableModeratorIndicator = false;
-#      disableReactions = false;
-#      disableReactionsModeration = false;
-#      disablePolls = false;
-#      disableSelfView = false;
-#      disableSelfViewSettings = false;
-#      screenshotCapture = {
-#        enabled = true;
-#        mode = "always";
-#      };
-#      disableAudioLevels = false;
-#      audioLevelsInterval = 12;
-#      enableNoAudioDetection = true;
-#      enableSaveLogs = false;
-#      disableShowMoreStats = false;
-#      enableNoisyMicDetection = false;
-#      startAudioOnly = false;
-#      startAudioMuted = 100;
-#      startSilent = false;
-#      enableOpusRed = true;
-#      audioQuality = {
-#        stereo = false;
-#        opusMaxAverageBitrate = 51000;
-#        enableOpusDtx = true;
-#      };
-#      resolution = 720;
-#      disableRemoveRaisedHandOnFocus = false;
-#      speakerStats = {
-#        disabled = false;
-#        disableSearch = false;
-#        order = [
-#          "role"
-#          "name"
-#          "left"
-#        ];
-#      };
-#      maxFullResolutionParticipants = 10;
-#      constraints = {
-#        video = {
-#          height = {
-#            ideal = 720;
-#            max = 1080;
-#            min = 144;
-#          };
-#        };
-#      };
-#      disableSimulcast = false;
-#      startVideoMuted = 50;
-#      startWithVideoMuted = false;
-#      desktopSharingFrameRate = {
-#        min = 5;
-#        max = 5;
-#      };
-#      recordingService.enabled = false;
-#      localRecording = {
-#        disable = true;
-#        notifyAllParticipants = true;
-#        disableSelfRecording = true;
-#      };
-#      transcription.enabled = false;
-#      connectionIndicators = {
-#        autoHide = false;
-#        autoHideTimeout = 5000;
-#        disabled = false;
-#        disableDetails = false;
-#        inactiveDisabled = false;
-#      };
-#      videoQuality = {
-#        codecPreferenceOrder = [ "VP9" "VP8" "H264" ];
-#        maxBitratesVideo = {
-#          H264 = {
-#            low = 200000; # 200 kbps
-#            standard = 500000; # 500 kbps
-#            high = 700000; # 700 kbps
-#          };
-#          VP8 = {
-#            low = 200000; # 200 kbps
-#            standard = 500000; # 500 kbps
-#            high = 700000; # 700 kbps
-#          };
-#          VP9 = {
-#            low = 200000; # 200 kbps
-#            standard = 500000; # 500 kbps
-#            high = 700000; # 700 kbps
-#          };
-#        };
-#      };
-#      notificationTimeouts = {
-#        short = 2000;
-#        moderate = 4000;
-#        long = 600;
-#      };
-#      disableRtx = false;
-#      disableBeforeUnloadHandler = false;
-#
-#      # UI settings
-#      disableResponsiveTiles = false;
-#      enableWebHID = true;
-#      welcomePage = {
-#        disabled = true;
-#        customUrl = "https://jitsi.rory.gay/null";
-#      };
-#      lobby = {
-#        autoKnock = true;
-#        enableChat = true;
-#      };
-#      securityUi = {
-#        hideLobbyButton = false;
-#        disableLobbyPassword = false;
-#      };
-#      disableShortcuts = true;
-#      disableInitialGUM = true;
-#      enableClosePage = false;
-#      disable1On1Mode = true;
-#      defaultLocalDisplayName = "User";
-#      defaultRemoteDisplayName = "Other User";
-#      hideDisplayName = false;
-#      hideDominantSpeakerBadge = false;
-#      disableProfile = false;
-#      hideEmailInSettings = false;
-#      roomPasswordNumberOfDigits = false;
-#      enableCalendarIntegration = false;
-#      prejoinConfig = {
-#        enabled = true;
-#        hideDisplayName = false;
-#        hideExtraJoinButtons = ["by-phone"];
-#      };
-#      openSharedDocumentOnJoin = false;
-#      enableInsecureRoomNameWarning = false;
-#      enableAutomaticUrlCopy = false;
-#      toolbarButtons = [
-#        "camera"
-#        "chat"
-#        #"closedcaptions"
-#        "desktop"
-#        "download"
-#        "embedmeeting"
-#        #"etherpad"
-#        #"feedback"
-#        "filmstrip"
-#        "fullscreen"
-#        "hangup"
-#        #"help"
-#        "highlight"
-#        "invite"
-#        #"linktosalesforce"
-#        "livestreaming"
-#        "microphone"
-#        "noisesuppression"
-#        "participants-pane"
-#        "profile"
-#        "raisehand"
-#        #"recording"
-#        "security"
-#        "select-background"
-#        "settings"
-#        "shareaudio"
-#        "sharedvideo"
-#        "shortcuts"
-#        "stats"
-#        "tileview"
-#        "toggle-camera"
-#        "videoquality"
-#        #"whiteboard"
-#      ];
-#      toolbarConfig = {
-#        alwaysVisible = true;
-#      };
-#      gatherStats = true;
-#      pcStatsInterval = 1000;
-#      enableDisplayNameInStats = true;
-#      feedbackPercentage = 0;
-#      p2p = {
-#        enabled = false;
-#      };
-#      analytics.disabled = true;
-#      remoteVideoMenu = {
-#        disabled = false;
-#        disableKick = false;
-#        disableGrantModerator = false;
-#        disablePrivateChat = false;
-#      };
-#      disableRemoteMute = false;
-#      enableLipSync = true;
-#      participantsPane = {
-#        hideModeratorSettingsTab = false;
-#        hideMoreActionsButton = false;
-#        hideMuteAllButton = false;
-#      };
-#      breakoutRooms = {
-#        hideAddRoomButton = true;
-#        hideAutoAssignButton = true;
-#        hideJoinRoomButton = true;
-#      };
-#      disableVirtualBackground = true;
-#      disableAddingBackgroundImages = true;
-#      disableScreensharingVirtualBackground = true;
-#      backgroundAlpha = 0.5;
-#      hideConferenceTimer = false;
-#      hideConferenceSubject = false;
-#      hideParticipantsStats = false;
-#      displayJids = true;
-#      requireDisplayName = true;
-#      disableChatSmileys = true;
-#    };
+    #    interfaceConfig = {
+    #      APP_NAME = "Rory&'s Jitsi Meet Instance";
+    #      AUDIO_LEVEL_PRIMARY_COLOR = "rgba(255,0,255,0.5)";
+    #      AUDIO_LEVEL_SECONDARY_COLOR = "rgba(255,0,255,0.25)";
+    #      AUTO_PIN_LATEST_SCREEN_SHARE = true;
+    #      BRAND_WATERMARK_LINK = "https://rory.gay";
+    #      CLOSE_PAGE_GUEST_HINT = false;
+    #      DEFAULT_BACKGROUND = "#000000";
+    #      DEFAULT_WELCOME_PAGE_LOGO_URL = "";
+    #      DISABLE_DOMINANT_SPEAKER_INDICATOR = true;
+    #      DISABLE_JOIN_LEAVE_NOTIFICATIONS = true;
+    #      DISABLE_PRESENCE_STATUS = true;
+    #      DISABLE_TRANSCRIPTION_SUBTITLES = true;
+    #      DISABLE_VIDEO_BACKGROUND = true;
+    #      DISABLE_WELCOME_FOOTER = false;
+    #      DISPLAY_WELCOME_PAGE_ADDITIONAL_CARD = false;
+    #      DISPLAY_WELCOME_PAGE_CONTENT = false;
+    #      DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT = false;
+    #      ENABLE_DIAL_OUT = false;
+    #      FILM_STRIP_MAX_HEIGHT = 80;
+    #      HIDE_INVITE_MORE_HEADER = true;
+    #      JITSI_WATERMARK_LINK = "";
+    #      LANG_DETECTION = false;
+    #      LOCAL_THUMBNAIL_RATIO = 16 / 9;
+    #      MAXIMUM_ZOOMING_COEFFICIENT = 2;
+    #      MOBILE_APP_PROMO = false;
+    #      OPTIMAL_BROWSERS = [ "firefox" ];
+    #      POLICY_LOGO = "";
+    #      PROVIDER_NAME = "Rory&'s Jitsi Meet Instance";
+    #      SETTINGS_SECTIONS = [ "devices" "language" "moderator" "profile" "calendar" "sounds" "more" ];
+    #      SHARING_FEATURES = [ "url" "embed" ];
+    #      SHOW_BRAND_WATERMARK = true;
+    #      SHOW_CHROME_EXTENSION_BANNER = false;
+    #      SHOW_JITSI_WATERMARK = false;
+    #      SHOW_POWERED_BY = false;
+    #      SHOW_PROMOTIONAL_CLOSE_PAGE = false;
+    #      VERTICAL_FILMSTRIP = true;
+    #      VIDEO_LAYOUT_FIT = "nocrop";
+    #      VIDEO_QUALITY_LABEL_DISABLED = false;
+    #    };
+    #    config = {
+    #      #hosts.domain = "jitsi.rory.gay";
+    #      testing = {
+    #        assumeBandwidth = false;
+    #        noAutoPlayVideo = false;
+    #        callStatsTreshold = 100;
+    #      };
+    #      disableModeratorIndicator = false;
+    #      disableReactions = false;
+    #      disableReactionsModeration = false;
+    #      disablePolls = false;
+    #      disableSelfView = false;
+    #      disableSelfViewSettings = false;
+    #      screenshotCapture = {
+    #        enabled = true;
+    #        mode = "always";
+    #      };
+    #      disableAudioLevels = false;
+    #      audioLevelsInterval = 12;
+    #      enableNoAudioDetection = true;
+    #      enableSaveLogs = false;
+    #      disableShowMoreStats = false;
+    #      enableNoisyMicDetection = false;
+    #      startAudioOnly = false;
+    #      startAudioMuted = 100;
+    #      startSilent = false;
+    #      enableOpusRed = true;
+    #      audioQuality = {
+    #        stereo = false;
+    #        opusMaxAverageBitrate = 51000;
+    #        enableOpusDtx = true;
+    #      };
+    #      resolution = 720;
+    #      disableRemoveRaisedHandOnFocus = false;
+    #      speakerStats = {
+    #        disabled = false;
+    #        disableSearch = false;
+    #        order = [
+    #          "role"
+    #          "name"
+    #          "left"
+    #        ];
+    #      };
+    #      maxFullResolutionParticipants = 10;
+    #      constraints = {
+    #        video = {
+    #          height = {
+    #            ideal = 720;
+    #            max = 1080;
+    #            min = 144;
+    #          };
+    #        };
+    #      };
+    #      disableSimulcast = false;
+    #      startVideoMuted = 50;
+    #      startWithVideoMuted = false;
+    #      desktopSharingFrameRate = {
+    #        min = 5;
+    #        max = 5;
+    #      };
+    #      recordingService.enabled = false;
+    #      localRecording = {
+    #        disable = true;
+    #        notifyAllParticipants = true;
+    #        disableSelfRecording = true;
+    #      };
+    #      transcription.enabled = false;
+    #      connectionIndicators = {
+    #        autoHide = false;
+    #        autoHideTimeout = 5000;
+    #        disabled = false;
+    #        disableDetails = false;
+    #        inactiveDisabled = false;
+    #      };
+    #      videoQuality = {
+    #        codecPreferenceOrder = [ "VP9" "VP8" "H264" ];
+    #        maxBitratesVideo = {
+    #          H264 = {
+    #            low = 200000; # 200 kbps
+    #            standard = 500000; # 500 kbps
+    #            high = 700000; # 700 kbps
+    #          };
+    #          VP8 = {
+    #            low = 200000; # 200 kbps
+    #            standard = 500000; # 500 kbps
+    #            high = 700000; # 700 kbps
+    #          };
+    #          VP9 = {
+    #            low = 200000; # 200 kbps
+    #            standard = 500000; # 500 kbps
+    #            high = 700000; # 700 kbps
+    #          };
+    #        };
+    #      };
+    #      notificationTimeouts = {
+    #        short = 2000;
+    #        moderate = 4000;
+    #        long = 600;
+    #      };
+    #      disableRtx = false;
+    #      disableBeforeUnloadHandler = false;
+    #
+    #      # UI settings
+    #      disableResponsiveTiles = false;
+    #      enableWebHID = true;
+    #      welcomePage = {
+    #        disabled = true;
+    #        customUrl = "https://jitsi.rory.gay/null";
+    #      };
+    #      lobby = {
+    #        autoKnock = true;
+    #        enableChat = true;
+    #      };
+    #      securityUi = {
+    #        hideLobbyButton = false;
+    #        disableLobbyPassword = false;
+    #      };
+    #      disableShortcuts = true;
+    #      disableInitialGUM = true;
+    #      enableClosePage = false;
+    #      disable1On1Mode = true;
+    #      defaultLocalDisplayName = "User";
+    #      defaultRemoteDisplayName = "Other User";
+    #      hideDisplayName = false;
+    #      hideDominantSpeakerBadge = false;
+    #      disableProfile = false;
+    #      hideEmailInSettings = false;
+    #      roomPasswordNumberOfDigits = false;
+    #      enableCalendarIntegration = false;
+    #      prejoinConfig = {
+    #        enabled = true;
+    #        hideDisplayName = false;
+    #        hideExtraJoinButtons = ["by-phone"];
+    #      };
+    #      openSharedDocumentOnJoin = false;
+    #      enableInsecureRoomNameWarning = false;
+    #      enableAutomaticUrlCopy = false;
+    #      toolbarButtons = [
+    #        "camera"
+    #        "chat"
+    #        #"closedcaptions"
+    #        "desktop"
+    #        "download"
+    #        "embedmeeting"
+    #        #"etherpad"
+    #        #"feedback"
+    #        "filmstrip"
+    #        "fullscreen"
+    #        "hangup"
+    #        #"help"
+    #        "highlight"
+    #        "invite"
+    #        #"linktosalesforce"
+    #        "livestreaming"
+    #        "microphone"
+    #        "noisesuppression"
+    #        "participants-pane"
+    #        "profile"
+    #        "raisehand"
+    #        #"recording"
+    #        "security"
+    #        "select-background"
+    #        "settings"
+    #        "shareaudio"
+    #        "sharedvideo"
+    #        "shortcuts"
+    #        "stats"
+    #        "tileview"
+    #        "toggle-camera"
+    #        "videoquality"
+    #        #"whiteboard"
+    #      ];
+    #      toolbarConfig = {
+    #        alwaysVisible = true;
+    #      };
+    #      gatherStats = true;
+    #      pcStatsInterval = 1000;
+    #      enableDisplayNameInStats = true;
+    #      feedbackPercentage = 0;
+    #      p2p = {
+    #        enabled = false;
+    #      };
+    #      analytics.disabled = true;
+    #      remoteVideoMenu = {
+    #        disabled = false;
+    #        disableKick = false;
+    #        disableGrantModerator = false;
+    #        disablePrivateChat = false;
+    #      };
+    #      disableRemoteMute = false;
+    #      enableLipSync = true;
+    #      participantsPane = {
+    #        hideModeratorSettingsTab = false;
+    #        hideMoreActionsButton = false;
+    #        hideMuteAllButton = false;
+    #      };
+    #      breakoutRooms = {
+    #        hideAddRoomButton = true;
+    #        hideAutoAssignButton = true;
+    #        hideJoinRoomButton = true;
+    #      };
+    #      disableVirtualBackground = true;
+    #      disableAddingBackgroundImages = true;
+    #      disableScreensharingVirtualBackground = true;
+    #      backgroundAlpha = 0.5;
+    #      hideConferenceTimer = false;
+    #      hideConferenceSubject = false;
+    #      hideParticipantsStats = false;
+    #      displayJids = true;
+    #      requireDisplayName = true;
+    #      disableChatSmileys = true;
+    #    };
   };
 
-  networking.firewall.allowedTCPPorts = [ 80 443 5349 ];
+  networking.firewall.allowedTCPPorts = [
+    80
+    443
+    5349
+  ];
   networking.firewall.allowedUDPPorts = [ 10000 ];
   services.nginx.virtualHosts."jitsi.rory.gay" = {
     enableACME = true;
@@ -270,4 +279,3 @@
 
   system.stateVersion = "22.11"; # DO NOT EDIT!
 }
-