Repository navigation
Expand file tree
/
Copy pathbigbluebutton.properties
More file actions
613 lines (487 loc) · 24.9 KB
/
Copy pathbigbluebutton.properties
File metadata and controls
613 lines (487 loc) · 24.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
#
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
#
# Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
#
# This program is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 3.0 of the License, or (at your option) any later
# version.
#
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
#
#
# These are the default properties for BigBlueButton Web application
# Default loglevel.
appLogLevel=DEBUG
#----------------------------------------------------
# Directory where BigBlueButton stores uploaded slides
presentationDir=/var/bigbluebutton
#----------------------------------------------------
# Directory where ImageMagick's convert executable is located
imageMagickDir=/usr/bin
#----------------------------------------------------
# Executable for presentation checker
presCheckExec=/usr/share/prescheck/prescheck.sh
#----------------------------------------------------
# Skip Office doc conversion pre-check. Attempt to convert
# Office doc to PDF right away.
skipOfficePrecheck=true
#----------------------------------------------------
# Executable for presentation office conversion
presOfficeConversionExec=/usr/share/bbb-libreoffice-conversion/convert.sh
#----------------------------------------------------
# These will be copied in cases where the conversion process
# fails to generate a slide from the uploaded presentation
BLANK_PRESENTATION=/usr/share/bigbluebutton/blank/blank-presentation.pdf
BLANK_THUMBNAIL=/usr/share/bigbluebutton/blank/blank-thumb.png
BLANK_PNG=/usr/share/bigbluebutton/blank/blank-png.png
BLANK_SVG=/usr/share/bigbluebutton/blank/blank-svg.svg
# Number of seconds the conversion should take per page.
maxPageConversionTime=60
#----------------------------------------------------
# Maximum number of pages allowed for an uploaded presentation (default 200).
maxNumPages=200
#----------------------------------------------------
# Maximum file size for an uploaded presentation (default 30MB).
maxFileSizeUpload=30000000
#----------------------------------------------------
# Maximum allowed number of place object tags in generated svg, if exceeded the conversion will fallback to full BMP (default 800)
placementsThreshold=800
# Maximum allowed number of bitmap images in generated svg, if exceeded the conversion will fallback to full BMP (default 800)
imageTagThreshold=800
# Maximum allowed number of <use> tags in generated svg, if exceeded the conversion will fallback to full BMP (default 10k)
useTagThreshold=10000
#------------------------------------
# Number of threads in the pool to do the presentation conversion.
#------------------------------------
numConversionThreads=5
#------------------------------------
# Number of threads to process file uploads
#------------------------------------
numFileProcessorThreads=2
#------------------------------------
# Number of threads used to fetch plugin manifest URLs concurrently during /create flow
#------------------------------------
numPluginManifestsFetchingThreads=5
#------------------------------------
# Number of threads used to download and process pre-uploaded presentations
# (/create and /insertDocument) without delaying the API response
#------------------------------------
numPresentationDownloadThreads=5
#------------------------------------
# Each plugin manifest fetch shouldn't take longer than this time (seconds)
#------------------------------------
pluginManifestFetchTimeout=15
#------------------------------------
# Each plugin manifest fetch URL request time shouldn't exceed this (seconds)
#------------------------------------
pluginManifestsFetchUrlResponseTimeout=15
#------------------------------------
# The result of a plugin manifest fetch URL request shouldn't have more than this size (in KiB)
#------------------------------------
maxPluginManifestsFetchUrlPayloadSize=1024
#------------------------------------
# Each clientSettingsOverrideJsonUrl request time shouldn't exceed this (seconds)
#------------------------------------
clientSettingsOverrideJsonUrlResponseTimeout=15
#------------------------------------
# The response from a clientSettingsOverrideJsonUrl request shouldn't have more than this size (in KiB)
#------------------------------------
maxClientSettingsOverrideJsonUrlPayloadSize=1024
#------------------------------------
# The response from a shared notes initial-content fetch URL (JSON or markdown) shouldn't have more than this size (in KiB)
#------------------------------------
maxSharedNotesInitialContentUrlPayloadSize=1024
#------------------------------------
# Timeout(secs) to wait for pdf to svg conversion (timeout for each tool called during the process)
#------------------------------------
svgConversionTimeout=60
#------------------------------------
# pdfFonts is used to detect whether PDF contains text with font Type 3
# it is also used to check if the pdf has some problem to be opened (timeout) and abort the conversion if so
# Configuration for pdfFonts Timeout(secs) and Max number of attempts
#------------------------------------
pdfFontsTimeout=3
maxNumberOfAttemptsForPdfFonts=3
#------------------------------------
# Presentation resolution, in PPI (will be set to generated svg)
#------------------------------------
svgPresentationResolutionPpi=300
#------------------------------------
# Force conversion of slides to PNG before converting to SVG
## Experimental - this option might be removed in next releases
## This will solve problems like reported in issue #8835
## Disabled by default as it can affect the quality in zoom
#------------------------------------
forceRasterizeSlides=false
#------------------------------------
# Presentation will be resized to this width (in pixels) when rasterizing (converting to PNG)
## Applied in these situations:
## a) the source can't be converted directly to SVG ;
## b) option "forceRasterizeSlides" is defined as true ;
## To disable this constraint (and keep source resolution) define this property as 0.
#------------------------------------
pngWidthRasterizedSlides=2048
#------------------------------------
# Timeout(secs) to wait for conversion script execution
#------------------------------------
officeToPdfConversionTimeout=60
#------------------------------------
# Max concurrent of conversion script execution
#------------------------------------
officeToPdfMaxConcurrentConversions=4
#------------------------------------
# Presentation upload and conversion timeouts in milliseconds
#------------------------------------
extractTimeoutInMs=10000
pdfPageDownscaleExecTimeoutInMs=10000
officeDocumentValidationExecTimeoutInMs=25000
presDownloadReadTimeoutInMs=60000
#------------------------------------
# Presentation upload and conversion timeouts in seconds
#------------------------------------
pngCreationExecTimeout=10
pngCreationConversionTimeout=7
imageResizeWait=7
officeDocumentValidationTimeout=20
presOfficeConversionTimeout=60
pdfPageCountWait=5
detectImageDimensionsTimeout=20
thumbnailCreationExecTimeout=10
textFileCreationExecTimeout=60
#----------------------------------------------------
# Additional conversion of the presentation slides to PNG
# to be used in the IOS mobile client
generatePngs=false
pngSlideWidth=1200
# Default number of digits for voice conference users joining through the PSTN.
defaultNumDigitsForTelVoice=5
#----------------------------------------------------
# Maximum image resolution, if image exceeds this limit it will be resized
maxImageWidth=2048
maxImageHeight=1536
#----------------------------------------------------
# Configuration for large PDF, 14 MB by default, if bigger it will be analysed during the conversion process
bigPdfSize=14000000
# The maximum allowed page size for PDF files exceeding the 'pdfCheckSize' value, 2 MB by default
maxBigPdfPageSize=2000000
# The maximum allowed generated SVG size. 20MB by default.
maxBigSvgSize=20000000
# This functionality stores outputs such as SVGs, PNGs, and text generated from PDFs or document files uploaded as presentations.
# The processed outputs are cached in an S3-based storage system, keyed by a hash of the presentation file.
# When the same presentation is uploaded again, the system retrieves the cached outputs, avoiding redundant processing and improving performance.
presentationConversionCacheEnabled=false
#presentationConversionCacheS3AccessKeyId=
#presentationConversionCacheS3AccessKeySecret=
#presentationConversionCacheS3BucketName=
#presentationConversionCacheS3Region=
#presentationConversionCacheS3EndpointURL=
#presentationConversionCacheS3PathStyle=false
#----------------------------------------------------
# Default dial access number
defaultDialAccessNumber=613-555-1234
# Default Guest Policy
# Valid values are ALWAYS_ACCEPT, ALWAYS_DENY, ASK_MODERATOR
#
defaultGuestPolicy=ALWAYS_ACCEPT
# Enables or disables authenticated guest
authenticatedGuest=true
# Allows moderators to promote guests to moderators when authenticatedGuest is enabled
defaultAllowPromoteGuestToModerator=false
#---------------------------------------------------
# Default Meeting Layout
# Accepted values are the standard layouts: UNIFIED_LAYOUT, CUSTOM_LAYOUT, SMART_LAYOUT, PRESENTATION_FOCUS, VIDEO_FOCUS
# but also several layouts which are not meant to be selectable via UI: CAMERAS_ONLY, PARTICIPANTS_CHAT_ONLY, PRESENTATION_ONLY
defaultMeetingLayout=CUSTOM_LAYOUT
#
#----------------------------------------------------
# Default welcome message to display when the participant joins the web
# conference. This is only used for the old scheduling which will be
# removed in the future. Use the API to create a conference.
#
# If the message contains characters not in ISO-8859-1 character sets
# they must be properly escaped to unicode characters. An easy way to
# do this is running the native2ascii command setting UTF8 encoding and
# passing this file's path as input and output parameters, e.g.:
#
# native2ascii -encoding UTF8 bigbluebutton.properties bigbluebutton.properties
#
defaultWelcomeMessage=Welcome to <b>%%CONFNAME%%</b>!<br><br>For help on using BigBlueButton see these (short) <a href="https://bigbluebutton.org/teachers/tutorials/"><u>tutorial videos</u></a>.<br><br>To join the audio bridge click the speaker button. Use a headset to avoid causing background noise for others.
defaultWelcomeMessageFooter=This server is running <a href="https://bigbluebutton.org/" target="_blank"><u>BigBlueButton</u></a>.
# Default maximum number of users a meeting can have.
# Current default is 0 (meeting doesn't have a user limit).
defaultMaxUsers=0
# Maximum number of sessions that each user (extId) can open simultaneously in the same meeting
# when the limit is exceeded, the oldest session will be ended
# if 0, there's no limit
# if 1, limit to only one concurrent access per user
maxUserConcurrentAccesses=3
# Default duration of the meeting in minutes.
# Current default is 0 (meeting doesn't end).
defaultMeetingDuration=0
# Number of minutes to logout client if user
# isn't responsive
clientLogoutTimerInMinutes=0
# End meeting if no user joined within
# a period of time after meeting created.
meetingExpireIfNoUserJoinedInMinutes=5
# Number of minutes to end meeting when
# the last user left.
meetingExpireWhenLastUserLeftInMinutes=1
# User inactivity audit timer interval.
userInactivityInspectTimerInMinutes=0
# Number of minutes to consider a user inactive.
# iSend warning message to client to check if really inactive.
userInactivityThresholdInMinutes=30
# Number of minutes for user to respond to inactivity
# warning before being logged out.
userActivitySignResponseDelayInMinutes=5
# Disable recording by default.
# true - don't record even if record param in the api call is set to record
# false - when record param is passed from api, override this default
disableRecordingDefault=false
# Start recording when first user joins the meeting.
# For backward compatibility with 0.81 where whole meeting
# is recorded.
autoStartRecording=false
# Allow the user to start/stop recording.
allowStartStopRecording=true
# Whether media (audio, cameras and screen sharing) should be captured on their
# full duration if the meeting is recorded (recorded=true). Effectively ignores
# the meeting's current recording state (paused/running).
recordFullDurationMedia=false
# Number of minutes that Learning Dashboard will be available after the end of the meeting
# If 0, the Learning Dashboard will remain available permanently.
# Below is the default value, it can be customized using the create API.
learningDashboardCleanupDelayInMinutes=2
# Allow webcams streaming reception only to and from moderators
webcamsOnlyForModerator=false
# Per meeting camera share limit
# if 0, there's no limit
meetingCameraCap=0
# Per user camera share limit
# if 0, there's no limit
userCameraCap=3
# Maximum number of cameras pinned simultaneously
maxPinnedCameras=3
# Microphone is muted by default when users start sharing
muteOnStart=true
# cameraBridge: media bridge to use for camera streams ('bbb-webrtc-sfu' or 'livekit')
# Default: bbb-webrtc-sfu
cameraBridge=bbb-webrtc-sfu
# screenShareBridge: media bridge to use for screen share streams ('bbb-webrtc-sfu' or 'livekit')
# Default: bbb-webrtc-sfu
screenShareBridge=bbb-webrtc-sfu
# audioBridge: The name of the media bridge to use for audio streams ('bbb-webrtc-sfu', 'livekit', 'freeswitch')
# Default: bbb-webrtc-sfu
audioBridge=bbb-webrtc-sfu
# Unmute users
# Gives moderators permission to unmute other users
allowModsToUnmuteUsers=false
# Eject user webcams
# Gives moderators permission to close other users' webcams
allowModsToEjectCameras=false
# Saves meeting events even if the meeting is not recorded
defaultKeepEvents=false
# Timeout (millis) to remove a joined user after her/his left event without a rejoin
# e.g. regular user left event
# Default 60s
usersTimeout=60000
# Timeout (millis) to remove guest users that stopped fetching for her/his status
# e.g. guest that closed the waiting page before being approved
# Default 30s
waitingGuestUsersTimeout=30000
# Timeout (millis) to remove users that called the enter API but did not join
# e.g. user's client hanged between the enter call and join event
# Default 45s
enteredUsersTimeout=45000
#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user successfully
# enters a name and password, she is redirected here to load the client.
# Do not commit changes to this field.
bigbluebutton.web.serverURL=http://bigbluebutton.example.com
#----------------------------------------------------
# Assign URL where the logged-out participant will be redirected after sign-out.
# If "default", it returns to bigbluebutton.web.serverURL
bigbluebutton.web.logoutURL=default
# The url of the BigBlueButton HTML5 client. Users will be redirected here when
# successfully joining the meeting.
defaultHTML5ClientUrl=${bigbluebutton.web.serverURL}/html5client/
# Graphql websocket url (it's necessary to change for cluster setup)
# Using `serverURL` as default, so `https` will be automatically replaced by `wss`
graphqlWebsocketUrl=${bigbluebutton.web.serverURL}/graphql
# Graphql API url (it's necessary to change for cluster setup)
graphqlApiUrl=${bigbluebutton.web.serverURL}/api/rest
# This parameter defines the duration (in minutes) to wait before removing user sessions after a meeting has ended.
# During this delay, users can still access information indicating that the "Meeting has ended".
# Setting this value to 0 will result in the sessions being kept alive indefinitely (permanent availability).
sessionsCleanupDelayInMinutes=60
useDefaultLogo=false
useDefaultDarkLogo=false
defaultLogoURL=${bigbluebutton.web.serverURL}/images/logo.png
defaultDarkLogoURL=${bigbluebutton.web.serverURL}/images/darklogo.png
# WARNING: Enabling `allowRequestsWithoutSession` can reduce security.
# Use only if required, e.g., for third-party integrations like iframes, and ensure safeguards are in place.
# Allow requests without JSESSIONID to be handled (default = false)
allowRequestsWithoutSession=false
# Timeout (seconds) to invalidate inactive HTTP sessions.
# Default: 4 hours.
# For more info, refer to javax.servlet.http.HttpSession#setMaxInactiveInterval 's spec
defaultHttpSessionTimeout=14400
# The default avatar image to display.
useDefaultAvatar=false
defaultAvatarURL=${bigbluebutton.web.serverURL}/html5client/resources/images/avatar.png
defaultBotAvatarURL=${bigbluebutton.web.serverURL}/html5client/resources/images/bot-avatar.png
# The default webcam background image to display.
useDefaultWebcamBackground=false
defaultWebcamBackgroundURL=${bigbluebutton.web.serverURL}/html5client/resources/images/virtual-backgrounds/board.jpg
apiVersion=2.0
# Salt which is used by 3rd-party apps to authenticate api calls
securitySalt=330a8b08c3b4c61533e1d0c5ce1ac88f
# Secret used to generate per-page presentation access tokens (HMAC-SHA256).
# Defaults to securitySalt. Override for additional security separation.
pageTokenSecret=${securitySalt}
# List of supported hash algorithms for validating checksums (comma-separated)
# Available options: sha1, sha256, sha384, sha512
supportedChecksumAlgorithms=sha1,sha256,sha384,sha512
# Directory where we drop the <meeting-id-recorded>.done file
recordStatusDir=/var/bigbluebutton/recording/status/recorded
redisHost=127.0.0.1
redisPort=6379
redisPassword=
redisKeyExpiry=1209600
# The directory where the published/unpublised recordings are located. This is for
# the get recording* api calls
publishedDir=/var/bigbluebutton/published
unpublishedDir=/var/bigbluebutton/unpublished
captionsDir=/var/bigbluebutton/captions
# when set to true, a single call of getRecordings with no specified meetingID will return a (potentially massive) response listing all recordings on the system
allowFetchAllRecordings=true
# The directory where the pre-built configs are stored
configDir=/var/bigbluebutton/configs
# Enable this option to allow overriding client settings through /create call
allowOverrideClientSettingsOnCreateCall=false
# Single switch for strict client-settings override validation, read by BOTH bbb-web and
# bbb-apps-akka (akka reads this same file at boot). When true:
# - bbb-web rejects the /create call (returncode=FAILED) if a client settings override
# (clientSettingsOverride or clientSettingsOverrideJsonUrl) has unknown/malformed keys, and
# - bbb-apps-akka refuses to boot if /etc/bigbluebutton/bbb-html5.yml has unknown/malformed keys.
# Both are checked against the settings.yml catalog below. Intended for test/staging; keep false in production.
clientSettingsOverrideStrictValidation=false
# Path to the client settings catalog (settings.yml) used as the schema for the strict validation above.
clientSettingsFilePath=/usr/share/bigbluebutton/html5-client/private/config/settings.yml
# The directory to export Json with Meeting activities (used in Learning Dashboard)
learningDashboardFilesDir=/var/bigbluebutton/learning-dashboard
# If the API is enabled.
serviceEnabled = true
# Test voiceBridge number
testVoiceBridge=99999
testConferenceMock=conference-mock-default
#------------------------------------------------------
# These properties are used to test the conversion process.
# Conference name folder in ${presentationDir} (see above)
beans.presentationService.testConferenceMock=${testConferenceMock}
# Conference room folder in ${presentationDir}/${testConferenceMock}
beans.presentationService.testRoomMock=conference-mock-default
# Uploaded presentation name
beans.presentationService.testPresentationName=appkonference
# Uploaded presentation file
beans.presentationService.testUploadedPresentation=appkonference.txt
# Default Uploaded presentation file
# to disable default presentation set its value to null
beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/default.pdf
# Discard default presentation (default.pdf) when Pre-upload Slides are sent within the create call (default true)
beans.presentationService.preUploadedPresentationOverrideDefault=true
presentationBaseURL=${bigbluebutton.web.serverURL}/bigbluebutton/presentation
# Comma separated list of supported protocols for URL fetching (presentations, etc.)
# By default, only HTTPS is supported. Use 'all' to allow all protocols (NOT RECOMMENDED)
fetchUrlSupportedProtocols=https
# Comma separated list of additional hosts to block for URL fetching
# Local/private network addresses (loopback, site-local, link-local) are always blocked
# Use this to block specific public hosts if desired
fetchUrlBlockedExternalHosts=
# Comma separated list of hostnames allowed to resolve to local/private IP addresses
# Useful for internal servers that serve content from private networks
# These hosts bypass the loopback, site-local, and link-local address checks
fetchUrlAllowedLocalHosts=
# Indicates whether uploaded presentation files should be scanned for viruses. By default, files are not scanned.
scanUploadedPresentationFiles=false
#----------------------------------------------------
# The URL where the presentations will be loaded from.
#----------------------------------------------------
beans.presentationService.presentationBaseUrl=${presentationBaseURL}
#----------------------------------------------------
# Inject values into grails service beans
beans.presentationService.presentationDir=${presentationDir}
beans.presentationService.pageTokenSecret=${pageTokenSecret}
#----------------------------------------------------
# Specify which IPs can do cross domain requests
accessControlAllowOrigin=${bigbluebutton.web.serverURL}
#----------------------------------------------------
# The lapsus of seconds for polling the BBB Server in order to check if it's down.
# After 5 tries if there isn't response, it will be declared down
checkBBBServerEvery=10
# Default settings for breakout rooms
breakoutRoomsRecord=false
breakoutRoomsPrivateChatEnabled=true
breakoutRoomsMultiUserWhiteboardDefaultOn=true
# Default Lock Settings
lockSettingsDisableCam=false
lockSettingsDisableMic=false
lockSettingsDisablePrivateChat=false
lockSettingsDisablePublicChat=false
lockSettingsDisableNotes=false
lockSettingsHideUserList=false
lockSettingsLockOnJoin=true
lockSettingsLockOnJoinConfigurable=false
lockSettingsHideViewersCursor=false
lockSettingsHideViewersAnnotation=false
defaultTextTrackUrl=${bigbluebutton.web.serverURL}/bigbluebutton
# Param to end the meeting when there are no moderators after a certain period of time.
# Needed for classes where teacher gets disconnected and can't get back in. Prevents
# students from running amok.
endWhenNoModerator=false
# Number of minutes to wait for moderator rejoin before end meeting (if `endWhenNoModerator` enabled)
endWhenNoModeratorDelayInMinutes=1
# List of features to disable (comma-separated)
# https://docs.bigbluebutton.org/3.0/development/api/#create
# Available options:
# sharedNotes, polls, screenshare, externalVideos, layouts, captions, liveTranscription,
# chat, privateChat, deleteChatMessage, editChatMessage, replyChatMessage, chatMessageReactions
# breakoutRooms, importSharedNotesFromBreakoutRooms, importPresentationWithAnnotationsFromBreakoutRooms,
# presentation, downloadPresentationWithAnnotations, downloadPresentationOriginalFile, downloadPresentationConvertedToPdf,
# learningDashboard, learningDashboardDownloadSessionData, snapshotOfCurrentSlide,
# virtualBackgrounds, customVirtualBackgrounds, raiseHand, userReactions, chatEmojiPicker, quizzes
disabledFeatures=
# Type of shared notes:
# etherpad or blockNote
# Default: etherpad
sharedNotesEditor=etherpad
# Notify users that recording is on
notifyRecordingIsOn=false
# Allow endpoint with current BigBlueButton version
allowRevealOfBBBVersion=false
# legacy, please use maxUserConcurrentAccesses instead
allowDuplicateExtUserid=true
# list of plugins manifests (json array)
# e.g: [{url: "https://plugin_manifest.json"}]
pluginManifests=
# Flag to cache plugin Manifest to enhance speed
pluginManifestCacheEnabled=false
# Base directory to save cached plugin manifest files.
# The directory is wiped every time bbb-web starts; entries idle for over a week
# are also evicted automatically by the periodic refresh task.
pluginManifestCacheDirectory=/var/bigbluebutton/plugin-manifests-cache/
pluginManifestCacheRefreshIntervalMinutes=60
# Comma-separated list of `userdata-` parameters that should be blocked when generating a getJoinUrl
# This restriction applies only to viewers, moderators are allowed to pass any parameter
# To block all `userdata-` parameters, set this value to "all"
# List the parameters without including the 'userdata-' prefix
getJoinUrlUserdataBlocklist=bbb_record_permission,bbb_record_video,bbb_fullaudio_bridge,bbb_transparent_listen_only,bbb_multi_user_pen_only,bbb_presenter_tools,bbb_multi_user_tools
html5PluginSdkVersion=0.0.105