mirror of
https://github.com/bigbluebutton/docker.git
synced 2025-06-20 11:48:22 +02:00
bbb-web: use overlay config
This commit is contained in:
parent
35b96869bb
commit
9993561b80
@ -94,7 +94,7 @@ COPY mocked-ps /usr/bin/ps
|
||||
|
||||
# add entrypoint and templates
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
COPY bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl
|
||||
COPY bbb-web.properties /etc/bigbluebutton/bbb-web.properties.tmpl
|
||||
COPY turn-stun-servers.xml /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml.tmpl
|
||||
COPY logback.xml /usr/share/bbb-web/WEB-INF/classes/logback.xml
|
||||
COPY office-convert.sh /usr/share/bbb-libreoffice-conversion/convert.sh
|
||||
|
20
mod/bbb-web/bbb-web.properties
Normal file
20
mod/bbb-web/bbb-web.properties
Normal file
@ -0,0 +1,20 @@
|
||||
defaultWelcomeMessage={{ .Env.WELCOME_MESSAGE }}
|
||||
defaultWelcomeMessageFooter={{ .Env.WELCOME_FOOTER }}
|
||||
|
||||
{{ if isTrue .Env.ENABLE_RECORDING }}
|
||||
disableRecordingDefault=false
|
||||
{{ else }}
|
||||
disableRecordingDefault=true
|
||||
{{ end }}
|
||||
|
||||
bigbluebutton.web.serverURL=https://{{ .Env.DOMAIN }}
|
||||
|
||||
securitySalt={{ .Env.SHARED_SECRET }}
|
||||
|
||||
redisHost=redis
|
||||
|
||||
{{ if isTrue .Env.DEV_MODE }}
|
||||
beans.presentationService.defaultUploadedPresentation=https://test.bigbluebutton.org/default.pdf
|
||||
{{else}}
|
||||
beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/default.pdf
|
||||
{{end}}
|
@ -1,368 +0,0 @@
|
||||
#
|
||||
# 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 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
|
||||
|
||||
#----------------------------------------------------
|
||||
# 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_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
|
||||
|
||||
#------------------------------------
|
||||
# Timeout(secs) to wait for conversion script execution
|
||||
#------------------------------------
|
||||
officeToPdfConversionTimeout=60
|
||||
|
||||
#------------------------------------
|
||||
# Max concurrent of conversion script execution
|
||||
#------------------------------------
|
||||
officeToPdfMaxConcurrentConversions=4
|
||||
|
||||
#----------------------------------------------------
|
||||
# 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
|
||||
|
||||
# Enables or disables authenticated guest
|
||||
authenticatedGuest=true
|
||||
|
||||
#
|
||||
#----------------------------------------------------
|
||||
# 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 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
|
||||
{{ 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
|
||||
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 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 HTML5 client. Users will be redirected here when
|
||||
# successfully joining the meeting.
|
||||
defaultHTML5ClientUrl=${bigbluebutton.web.serverURL}/html5client/join
|
||||
|
||||
# Allow requests without JSESSIONID to be handled (default = false)
|
||||
allowRequestsWithoutSession=false
|
||||
|
||||
# The url for where the guest will poll if approved to join or not.
|
||||
defaultGuestWaitURL=${bigbluebutton.web.serverURL}/html5client/guestWait
|
||||
|
||||
# The default avatar image to display.
|
||||
useDefaultAvatar=false
|
||||
defaultAvatarURL=${bigbluebutton.web.serverURL}/html5client/resources/images/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 <meeting-id-recorded>.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
|
@ -21,7 +21,7 @@ echo "$NUMBER_OF_BACKEND_NODEJS_PROCESSES" > /tmp/NUMBER_OF_BACKEND_NODEJS_PROCE
|
||||
|
||||
cd /usr/share/bbb-web/
|
||||
dockerize \
|
||||
-template /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl:/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties \
|
||||
-template /etc/bigbluebutton/bbb-web.properties.tmpl:/etc/bigbluebutton/bbb-web.properties \
|
||||
-template /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml.tmpl:/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml \
|
||||
gosu bigbluebutton java -Dgrails.env=prod -Dserver.address=0.0.0.0 -Dserver.port=8090 -Xms384m -Xmx384m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/bigbluebutton/diagnostics -cp WEB-INF/lib/*:/:WEB-INF/classes/:. org.springframework.boot.loader.WarLauncher
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user