public: app: mobileFontSize: 16px desktopFontSize: 14px audioChatNotification: false autoJoin: true listenOnlyMode: {{ .Env.LISTEN_ONLY_MODE }} forceListenOnly: false skipCheck: {{ .Env.DISABLE_ECHO_TEST }} clientTitle: {{ .Env.CLIENT_TITLE }} appName: BigBlueButton HTML5 Client bbbServerVersion: 2.2 copyright: "©2020 BigBlueButton Inc." html5ClientBuild: 1114 helpLink: https://bigbluebutton.org/html5/ lockOnJoin: true cdn: "" basename: "/html5client" askForFeedbackOnLogout: false # the default logoutUrl matches window.location.origin i.e. bigbluebutton.org for demo.bigbluebutton.org # in some cases we want only custom logoutUrl to be used when provided on meeting create. Default value: true allowDefaultLogoutUrl: true allowUserLookup: false enableNetworkInformation: false enableLimitOfViewersInWebcam: false enableMultipleCameras: false enableTalkingIndicator: true mirrorOwnWebcam: false viewersInWebcam: 8 ipv4FallbackDomain: "" allowLogout: true allowFullscreen: true remainingTimeThreshold: 30 remainingTimeAlertThreshold: 1 # Warning: increasing the limit of breakout rooms per meeting # can generate excessive overhead to the server. We recommend # this value to be kept under 12. breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }} # https://github.com/bigbluebutton/bigbluebutton/pull/10826 customHeartbeat: true defaultSettings: application: animations: true chatAudioAlerts: false chatPushAlerts: false userJoinAudioAlerts: false userJoinPushAlerts: false raiseHandAudioAlerts: false raiseHandPushAlerts: false fallbackLocale: en overrideLocale: null audio: inputDeviceId: undefined outputDeviceId: undefined dataSaving: viewParticipantsWebcams: true viewScreenshare: true shortcuts: openOptions: accesskey: O descId: openOptions toggleUserList: accesskey: U descId: toggleUserList toggleMute: accesskey: M descId: toggleMute joinAudio: accesskey: J descId: joinAudio leaveAudio: accesskey: L descId: leaveAudio togglePublicChat: accesskey: P descId: togglePublicChat hidePrivateChat: accesskey: H descId: hidePrivateChat closePrivateChat: accesskey: G descId: closePrivateChat openActions: accesskey: A descId: openActions branding: displayBrandingArea: false connectionTimeout: 60000 showHelpButton: true effectiveConnection: - critical - danger - warning externalVideoPlayer: enabled: true networkMonitoring: enableNetworkMonitoring: false packetLostThreshold: 10 kurento: wsUrl: wss://{{ .Env.DOMAIN }}/bbb-webrtc-sfu chromeDefaultExtensionKey: akgoaoikmbmhcopjgakkcepdgdgkjfbc chromeDefaultExtensionLink: https://chrome.google.com/webstore/detail/bigbluebutton-screenshare/akgoaoikmbmhcopjgakkcepdgdgkjfbc chromeExtensionKey: KEY chromeExtensionLink: LINK screenshare: constraints: video: frameRate: ideal: 5 max: 10 width: max: 2560 height: max: 1600 audio: false chromeScreenshareSources: - window - screen firefoxScreenshareSource: window # cameraProfiles is an array of: # - id: profile identifier # name: human-readable profile name # bitrate # hidden: whether this profile will be hidden in the video preview dropdown # constraints: a video media constraints dictionary (without the video key) cameraProfiles: - id: low-u30 name: low-u30 bitrate: 30 hidden: true constraints: frameRate: 3 - id: low-u25 name: low-u25 bitrate: 40 hidden: true constraints: frameRate: 3 - id: low-u20 name: low-u20 bitrate: 50 hidden: true constraints: frameRate: 5 - id: low-u15 name: low-u15 bitrate: 70 hidden: true constraints: frameRate: 8 - id: low-u12 name: low-u12 bitrate: 90 hidden: true constraints: frameRate: 10 - id: low-u8 name: low-u8 bitrate: 100 hidden: true constraints: frameRate: 10 - id: low name: Low default: false bitrate: 100 - id: medium name: Medium default: true bitrate: 200 - id: high name: High default: false bitrate: 500 - id: hd name: High definition default: false bitrate: 800 enableScreensharing: true enableVideo: true enableVideoMenu: true enableListenOnly: true autoShareWebcam: {{ .Env.AUTO_SHARE_WEBCAM }} skipVideoPreview: {{ .Env.DISABLE_VIDEO_PREVIEW }} # Entry `thresholds` is an array of: # - threshold: minimum number of cameras being shared for profile to applied # profile: a camera profile id from the cameraProfiles configuration array # that will be applied to all cameras when threshold is hit cameraQualityThresholds: enabled: true thresholds: - threshold: 8 profile: low-u8 - threshold: 12 profile: low-u12 - threshold: 15 profile: low-u15 - threshold: 20 profile: low-u20 - threshold: 25 profile: low-u25 - threshold: 30 profile: low-u30 pagination: # whether to globally enable or disable pagination. enabled: false # how long (in ms) the negotiation will be debounced after a page change. pageChangeDebounceTime: 2500 # video page sizes for DESKTOP endpoints. It stands for the number of SUBSCRIBER streams. # PUBLISHERS aren't accounted for . # A page size of 0 (zero) means that the page size is unlimited (disabled). desktopPageSizes: moderator: 0 viewer: 5 # video page sizes for MOBILE endpoints mobilePageSizes: moderator: 2 viewer: 2 pingPong: clearUsersInSeconds: 180 pongTimeInSeconds: 15 allowOutsideCommands: toggleRecording: true toggleSelfVoice: false poll: enabled: true max_custom: 5 captions: enabled: true enableDictation: false backgroundColor: "#000000" fontColor: "#FFFFFF" fontFamily: Calibri fontSize: 24px takeOwnership: true lines: 2 time: 5000 chat: enabled: {{ .Env.CHAT_ENABLED }} bufferChatInsertsMs: 0 startClosed: {{ .Env.CHAT_START_CLOSED }} min_message_length: 1 max_message_length: 5000 grouping_messages_window: 10000 type_system: SYSTEM_MESSAGE type_public: PUBLIC_ACCESS type_private: PRIVATE_ACCESS system_userid: SYSTEM_MESSAGE system_username: SYSTEM_MESSAGE public_id: public public_group_id: MAIN-PUBLIC-GROUP-CHAT public_userid: public_chat_userid public_username: public_chat_username storage_key: UNREAD_CHATS system_messages_keys: chat_clear: PUBLIC_CHAT_CLEAR typingIndicator: enabled: true note: enabled: true url: https://{{ .Env.DOMAIN }}/pad config: showLineNumbers: false showChat: false noColors: true showControls: true rtl: false layout: autoSwapLayout: false hidePresentation: false webcamsDefaultPlacement: "top" media: stunTurnServersFetchAddress: "/bigbluebutton/api/stuns" cacheStunTurnServers: true fallbackStunServer: '' recvonlyIceGatheringCheck: true mediaTag: "#remote-media" callTransferTimeout: 5000 callHangupTimeout: 2000 callHangupMaximumRetries: 10 echoTestNumber: 'echo' relayOnlyOnReconnect: false listenOnlyCallTimeout: 25000 #Timeout (ms) for gathering ICE candidates. When this timeout expires #the SDP is sent to the server with the candidates the browser gathered #so far. Increasing this value might help avoiding 1004 error when #user activates microphone. iceGatheringTimeout: 5000 sipjsHackViaWs: true #Websocket keepAlive interval (seconds). You may set this to prevent #websocket disconnection in some environments. When set, BBB will send #'\r\n\r\n' string through SIP.js's websocket. If not set, default value #is 0. websocketKeepAliveInterval: 30 #Debounce time (seconds) for sending SIP.js's websocket keep alive message. #If not set, default value is 10. websocketKeepAliveDebounce: 10 #Trace sip/audio messages in browser. If not set, default value is false. traceSip: false stats: enabled: true interval: 2000 length: 5 log: false jitter: - 10 - 20 - 30 loss: - 0.05 - 0.1 - 0.2 level: - warning - danger - critical help: STATS_HELP_URL presentation: allowDownloadable: true defaultPresentationFile: default.pdf panZoomThrottle: 32 restoreOnUpdate: false uploadEndpoint: "/bigbluebutton/presentation/upload" uploadSizeMin: 0 uploadSizeMax: 50000000 uploadValidMimeTypes: - extension: .pdf mime: application/pdf - extension: .doc mime: application/msword - extension: .docx mime: application/vnd.openxmlformats-officedocument.wordprocessingml.document - extension: .xls mime: application/vnd.ms-excel - extension: .xlsx mime: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - extension: .ppt mime: application/vnd.ms-powerpoint - extension: .pptx mime: application/vnd.openxmlformats-officedocument.presentationml.presentation - extension: .txt mime: text/plain - extension: .rtf mime: application/rtf - extension: .odt mime: application/vnd.oasis.opendocument.text - extension: .ods mime: application/vnd.oasis.opendocument.spreadsheet - extension: .odp mime: application/vnd.oasis.opendocument.presentation - extension: .odg mime: application/vnd.oasis.opendocument.graphics - extension: .odc mime: application/vnd.oasis.opendocument.chart - extension: .odi mime: application/vnd.oasis.opendocument.image - extension: .jpg mime: image/jpeg - extension: .jpeg mime: image/jpeg - extension: .png mime: image/png user: role_moderator: MODERATOR role_viewer: VIEWER whiteboard: annotations: status: start: DRAW_START update: DRAW_UPDATE end: DRAW_END toolbar: multiUserPenOnly: false colors: - label: black value: "#000000" - label: white value: "#ffffff" - label: red value: "#ff0000" - label: orange value: "#ff8800" - label: eletricLime value: "#ccff00" - label: Lime value: "#00ff00" - label: Cyan value: "#00ffff" - label: dodgerBlue value: "#0088ff" - label: blue value: "#0000ff" - label: violet value: "#8800ff" - label: magenta value: "#ff00ff" - label: silver value: "#c0c0c0" thickness: - value: 14 - value: 12 - value: 10 - value: 8 - value: 6 - value: 4 - value: 2 - value: 1 font_sizes: - value: 36 - value: 32 - value: 28 - value: 24 - value: 20 - value: 16 tools: - icon: text_tool value: text - icon: line_tool value: line - icon: circle_tool value: ellipse - icon: triangle_tool value: triangle - icon: rectangle_tool value: rectangle - icon: pen_tool value: pencil - icon: hand value: hand presenterTools: - text - line - ellipse - triangle - rectangle - pencil - hand multiUserTools: - text - line - ellipse - triangle - rectangle - pencil - hand clientLog: server: { enabled: false, level: info } console: { enabled: true, level: debug } external: { enabled: false, level: info, url: https://LOG_HOST/html5Log, method: POST, throttleInterval: 400, flushOnClose: true, logTag: "" } private: app: host: 0.0.0.0 port: 3000 localesUrl: /locales pencilChunkLength: 100 loadSlidesFromHttpAlways: false etherpad: apikey: {{ .Env.ETHERPAD_API_KEY }} version: 1.2.13 host: etherpad port: 9001 redis: host: redis port: '6379' timeout: 5000 password: null debug: false metrics: queueMetrics: false metricsDumpIntervalMs: 60000 metricsFolderPath: METRICS_FOLDER removeMeetingOnEnd: true channels: toAkkaApps: to-akka-apps-redis-channel toThirdParty: to-third-party-redis-channel subscribeTo: - to-html5-redis-channel - from-akka-apps-* - from-third-party-redis-channel - from-etherpad-redis-channel async: - from-akka-apps-wb-redis-channel ignored: - CheckAlivePongSysMsg - DoLatencyTracerMsg serverLog: level: info streamerLog: false memoryMonitoring: stat: enabled: false leak: enabled: false heapdump: enabled: false heapdumpFolderPath: HEAPDUMP_FOLDER heapdumpIntervalMs: 3600000 minBrowserVersions: - browser: chrome version: 72 - browser: chromeMobileIOS version: Infinity - browser: firefox version: 63 - browser: firefoxMobile version: 68 - browser: edge version: 79 - browser: ie version: Infinity - browser: safari version: [12, 1] - browser: mobileSafari version: [12, 1] - browser: opera version: 50 - browser: electron version: [0, 36] - browser: SamsungInternet version: 10 - browser: YandexBrowser version: 19