#
# 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 .
#
#
# These are the default properites for BigBlueButton Web application
# Default loglevel.
appLogLevel=DEBUG
#----------------------------------------------------
# Directory where BigBlueButton stores uploaded slides
presentationDir=/var/bigbluebutton
#----------------------------------------------------
# Directory where SWFTOOLS (pdf2swf, jpeg2swf, png2swf) are located
swfToolsDir=/usr/bin
#----------------------------------------------------
# Directory where ImageMagick's convert executable is located
imageMagickDir=/usr/bin
#----------------------------------------------------
# Fonts directory passed into PDF2SWF to support highlighting of texts
# in the SWF slides.
fontsDir=/usr/share/fonts
#----------------------------------------------------
# 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
#----------------------------------------------------
# Number of soffice processes that are running on this machine
sofficeManagers=4
#----------------------------------------------------
# Port number of the first soffice process
sofficeBasePort=8201
#----------------------------------------------------
# Working directory prefix for each soffice process.
# The value of this is appended with the number of the
# soffice process (starting at 1), padded to two digits
# (e.g. /var/tmp/soffice_01 for the first process).
sofficeWorkingDirBase=/var/tmp/soffice/instance_
#----------------------------------------------------
# These will be copied in cases where the conversion process
# fails to generate a slide from the uploaded presentation
BLANK_SLIDE=/usr/share/bigbluebutton/blank/blank-slide.swf
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 minutes the conversion should take. If it takes
# more than this time, cancel the conversion process.
maxConversionTime=5
#----------------------------------------------------
# Maximum number of pages allowed for an uploaded presentation (default 100).
maxNumPages=200
#----------------------------------------------------
# Maximum file size for an uploaded presentation (default 30MB).
maxFileSizeUpload=30000000
#----------------------------------------------------
# Maximum swf file size for load to the client (default 500000).
MAX_SWF_FILE_SIZE=500000
#----------------------------------------------------
# Maximum allowed number of place object tags in the converted SWF, if exceeded the conversion will fallback to full BMP (default 800)
placementsThreshold=800
# Maximum allowed number of bitmap images in the converted SWF, if exceeded the conversion will fallback to full BMP (default 800)
imageTagThreshold=800
# Maximum allowed number of define text tags in the converted SWF, if exceeded the conversion will fallback to full BMP (default 200)
defineTextThreshold=2000
#------------------------------------
# Number of threads in the pool to do the presentation conversion.
#------------------------------------
numConversionThreads=5
#------------------------------------
# Number of threads to process file uploads
#------------------------------------
numFileProcessorThreads=2
#----------------------------------------------------
# Conversion of the presentation slides to SWF to be
# used in the Flash client
swfSlidesRequired=false
#----------------------------------------------------
# Additional conversion of the presentation slides to SVG
# to be used in the HTML5 client
svgImagesRequired=true
#----------------------------------------------------
# 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
#----------------------------------------------------
# Configuration for large images, 2 MB by default, if bigger it will down-scaled
maxImageSize=2000000
#----------------------------------------------------
# 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
#----------------------------------------------------
# Default dial access number
defaultDialAccessNumber=613-555-1234
# Default Guest Policy
# Valid values are ALWAYS_ACCEPT, ALWAYS_DENY, ASK_MODERATOR
#
defaultGuestPolicy=ALWAYS_ACCEPT
#
#----------------------------------------------------
# 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={{ .Env.WELCOME_MESSAGE }}
defaultWelcomeMessageFooter={{ .Env.WELCOME_FOOTER }}
# Default maximum number of users a meeting can have.
# Current default is 0 (meeting doesn't have a user limit).
defaultMaxUsers=0
# Default duration of the meeting in minutes.
# Current default is 0 (meeting doesn't end).
defaultMeetingDuration=0
# Number of minutes elapse of no activity before
# ending the meeting. Default zero (0) to disable
# check.
maxInactivityTimeoutMinutes=0
# Number of minutes to logout client if user
# isn't responsive
clientLogoutTimerInMinutes=0
# Send warning to moderators to warn that
# meeting would be ended due to inactivity
warnMinutesBeforeMax=5
# 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
{{ if isTrue .Env.ENABLE_RECORDING }}
disableRecordingDefault=false
{{ else }}
disableRecordingDefault=true
{{ end }}
# 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
# Allow webcams streaming reception only to and from moderators
webcamsOnlyForModerator=false
# Mute the meeting on start
muteOnStart=false
# Unmute users
# Gives moderators permisson to unmute other users
allowModsToUnmuteUsers=false
# Saves meeting events even if the meeting is not recorded
keepEvents=true
# 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 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 sucessfully
# enters a name and password, she is redirected here to load the client.
# Do not commit changes to this field.
bigbluebutton.web.serverURL=https://{{ .Env.DOMAIN }}
#----------------------------------------------------
# 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 client. Users will be redirected here when
# successfully joining the meeting.
defaultClientUrl=${bigbluebutton.web.serverURL}/client/BigBlueButton.html
# Allow requests without JSESSIONID to be handled (default = false)
allowRequestsWithoutSession=false
# Force all attendees to join the meeting using the HTML5 client
attendeesJoinViaHTML5Client=true
# Force all moderators to join the meeting using the HTML5 client
moderatorsJoinViaHTML5Client=true
# The url of the BigBlueButton HTML5 client. Users will be redirected here when
# successfully joining the meeting.
html5ClientUrl=${bigbluebutton.web.serverURL}/html5client/join
# The url for where the guest will poll if approved to join or not.
defaultGuestWaitURL=${bigbluebutton.web.serverURL}/client/guest-wait.html
# The default avatar image to display if nothing is passed on the JOIN API (avatarURL)
# call. This avatar is displayed if the user isn't sharing the webcam and
# the option (displayAvatar) is enabled in config.xml
defaultAvatarURL=${bigbluebutton.web.serverURL}/client/avatar.png
# The URL of the default configuration
defaultConfigURL=${bigbluebutton.web.serverURL}/client/conf/config.xml
apiVersion=2.0
# Salt which is used by 3rd-party apps to authenticate api calls
securitySalt={{ .Env.SHARED_SECRET }}
# Directory where we drop the .done file
recordStatusDir=/var/bigbluebutton/recording/status/recorded
redisHost=redis
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
# The directory where the pre-built configs are stored
configDir=/var/bigbluebutton/configs
# 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
{{ if isTrue .Env.DEV_MODE }}
beans.presentationService.defaultUploadedPresentation=https://test.bigbluebutton.org/default.pdf
{{else}}
beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/default.pdf
{{end}}
presentationBaseURL=${bigbluebutton.web.serverURL}/bigbluebutton/presentation
#----------------------------------------------------
# The URL where the presentations will be loaded from.
#----------------------------------------------------
beans.presentationService.presentationBaseUrl=${presentationBaseURL}
#----------------------------------------------------
# Inject values into grails service beans
beans.presentationService.presentationDir=${presentationDir}
#----------------------------------------------------
# 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
# The Red5 server where FS will publish as RTMP stream
screenshareRtmpServer={{ .Env.DOMAIN }}
# The Red5 app that receives the published RTMP stream
screenshareRtmpBroadcastApp=video-broadcast
# The suffix of our verto screenshare conference.
# Convention is {voiceConf}-SCREENSHARE
screenshareConfSuffix=-SCREENSHARE
# Default settings for breakout rooms
breakoutRoomsEnabled=true
breakoutRoomsRecord=false
breakoutRoomsPrivateChatEnabled=true
# Default Lock Settings
lockSettingsDisableCam=false
lockSettingsDisableMic=false
lockSettingsDisablePrivateChat=false
lockSettingsDisablePublicChat=false
lockSettingsDisableNote=false
lockSettingsHideUserList=false
lockSettingsLockedLayout=false
lockSettingsLockOnJoin=true
lockSettingsLockOnJoinConfigurable=false
allowDuplicateExtUserid=true
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