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
|
# add entrypoint and templates
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
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 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 logback.xml /usr/share/bbb-web/WEB-INF/classes/logback.xml
|
||||||
COPY office-convert.sh /usr/share/bbb-libreoffice-conversion/convert.sh
|
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/
|
cd /usr/share/bbb-web/
|
||||||
dockerize \
|
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 \
|
-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
|
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