Merge pull request #79 from bigbluebutton/updates/v2.3-beta-2

Updates for v2.3-beta-2
This commit is contained in:
chandi 2021-04-04 22:34:00 +02:00 committed by GitHub
commit 50c48252d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 89 additions and 446 deletions

View File

@ -1,10 +1,13 @@
# BigBlueButton 2.3 Docker
Version: 2.3-beta-1 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigbluebutton/docker/issues)
Version: 2.3-beta-2 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigbluebutton/docker/issues)
## Note
Even though it seems to be stable so far, it is still a beta, which means that you can expect broken bits and pieces in some places.
### Known broken features
- Telephone dial-in [bigbluebutton#11860](https://github.com/bigbluebutton/bigbluebutton/issues/11860)
## Features
- Easy installation
- Greenlight included

View File

@ -43,7 +43,6 @@ services:
restart: unless-stopped
depends_on:
- redis
- libreoffice
healthcheck:
test: wget --no-verbose --tries=1 --spider http://10.7.7.2:8090/bigbluebutton/api || exit 1
start_period: 2m
@ -62,7 +61,6 @@ services:
- bigbluebutton:/var/bigbluebutton
- vol-freeswitch:/var/freeswitch/meetings
- vol-kurento:/var/kurento
- vol-libreoffice:/var/tmp/soffice
networks:
bbb-net:
ipv4_address: 10.7.7.2
@ -238,17 +236,16 @@ services:
bbb-net:
ipv4_address: 10.7.7.15
libreoffice:
build: mod/libreoffice
jodconverter:
image: eugenmayer/jodconverter:rest
restart: unless-stopped
volumes:
- vol-libreoffice:/var/tmp/soffice
tmpfs:
- /tmp
deploy:
resources:
limits:
memory: 512M
networks:
bbb-net:
ipv4_address: 10.7.7.7
ipv4_address: 10.7.7.20
periodic:
build: mod/periodic
@ -375,7 +372,6 @@ volumes:
vol-freeswitch:
vol-kurento:
html5-static:
vol-libreoffice:
{{ if isTrue .Env.ENABLE_HTTPS_PROXY }}
ssl_data:
{{end}}

View File

@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder
RUN apt-get update && apt-get install -y subversion
# download bbb-common-message
ENV TAG_COMMON_MESSAGE v2.3-beta-1
ENV TAG_COMMON_MESSAGE v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
&& rm -rf /bbb-common-message/.svn
@ -14,7 +14,7 @@ RUN cd /bbb-common-message \
# ===================================================
ENV TAG v2.3-beta-1
ENV TAG v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-apps /source \
&& rm -rf /source/.svn

View File

@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder
RUN apt-get update && apt-get install -y subversion
# download bbb-common-message
ENV TAG_COMMON_MESSAGE v2.3-beta-1
ENV TAG_COMMON_MESSAGE v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
&& rm -rf /bbb-common-message/.svn
@ -26,7 +26,7 @@ RUN cd /opt \
ENV PATH="/opt/gradle-6.7/bin:${PATH}"
# download bbb-common-web
ENV TAG_COMMON_WEB v2.3-beta-1
ENV TAG_COMMON_WEB v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_WEB/bbb-common-web /bbb-common-web \
&& rm -rf /bbb-common-message/.svn
@ -35,7 +35,7 @@ RUN cd /bbb-common-web \
&& ./deploy.sh
# download bbb-web
ENV TAG_WEB v2.3-beta-1
ENV TAG_WEB v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_WEB/bigbluebutton-web /bbb-web \
&& rm -rf /bbb-web/.svn
@ -53,8 +53,8 @@ RUN unzip -q /bbb-web/build/libs/bigbluebutton-0.10.0.war -d /dist
FROM openjdk:8-jre-slim-buster
RUN apt-get update && apt-get install -y \
wget unzip gosu socat locales \
imagemagick xpdf-utils
wget unzip gosu locales \
imagemagick xpdf-utils curl
# set locale
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
@ -94,8 +94,9 @@ 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
ENTRYPOINT ["/entrypoint.sh"]

View 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}}

View File

@ -1,369 +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
#----------------------------------------------------
# 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
# 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

View File

@ -1,13 +1,6 @@
#!/bin/bash
set -e
# forward libreoffice ports to this container
for i in `seq 1 4` ; do
let PORT=8200+${i}
echo "forward port $PORT to the libreoffice container"
socat TCP-LISTEN:$PORT,fork TCP:10.7.7.7:$PORT &
done
# create recording directory structure if it doesn't exist yet
mkdir -p /var/bigbluebutton/recording/raw
mkdir -p /var/bigbluebutton/recording/process
@ -28,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

11
mod/bbb-web/office-convert.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
# This script receives two params
# Param 1: Input office file path (e.g. "/tmp/test.odt")
# Param 2: Output pdf file path (e.g. "/tmp/test.pdf")
curl -v -X POST "http://jodconverter:8080/lool/convert-to/pdf" \
-H "accept: application/octet-stream" \
-H "Content-Type: multipart/form-data" \
-F "data=@$1" > $2
exit 0

View File

@ -36,7 +36,7 @@
<!--<param name="enable-100rel" value="true"/>-->
<!--<param name="disable-srv503" value="true"/>-->
<!-- This could be set to "passive" -->
<param name="local-network-acl" value="localnet.auto"/>
<param name="local-network-acl" value="none"/>
<param name="manage-presence" value="false"/>
<!-- Added for Microsoft Edge support

View File

@ -36,7 +36,7 @@
<!--<param name="enable-100rel" value="true"/>-->
<!--<param name="disable-srv503" value="true"/>-->
<!-- This could be set to "passive" -->
<param name="local-network-acl" value="localnet.auto"/>
<param name="local-network-acl" value="none"/>
<param name="manage-presence" value="false"/>

View File

@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder
RUN apt-get update && apt-get install -y subversion
# download bbb-common-message
ENV TAG_COMMON_MESSAGE v2.3-beta-1
ENV TAG_COMMON_MESSAGE v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
&& rm -rf /bbb-common-message/.svn
@ -13,7 +13,7 @@ RUN cd /bbb-common-message \
# ===================================================
ENV TAG_FSESL v2.3-beta-1
ENV TAG_FSESL v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_FSESL/bbb-fsesl-client /bbb-fsesl-client \
&& rm -rf /bbb-fsesl-client/.svn
@ -21,7 +21,7 @@ RUN cd /bbb-fsesl-client \
&& ./deploy.sh
ENV TAG v2.3-beta-1
ENV TAG v2.3-beta-2
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-fsesl /source \
&& rm -rf /source/.svn

View File

@ -14,7 +14,7 @@ USER meteor
ENV METEOR_VERSION 1.10.2
RUN curl -sL https://install.meteor.com?release=$METEOR_VERSION | sed s/--progress-bar/-sL/g | /bin/sh
ENV TAG v2.3-beta-1
ENV TAG v2.3-beta-2
RUN cd ~ \
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
&& mv ~/bigbluebutton-html5 ~/source \

View File

@ -8,11 +8,19 @@ public:
forceListenOnly: false
skipCheck: {{ .Env.DISABLE_ECHO_TEST }}
skipCheckOnJoin: false
#
# Allow users to change microphone/speaker dinamically
# The device is changed immediately, without the need to rejoin
# audio. Default value is true
# Firefox users: if no output devices is shown, you may set the flag
# "media.setsinkid.enabled" to make it work properly
# enableDynamicAudioDeviceSelection: true
#
clientTitle: {{ .Env.CLIENT_TITLE }}
appName: BigBlueButton HTML5 Client
bbbServerVersion: 2.3-dev-docker
copyright: '©2021 BigBlueButton Inc.'
html5ClientBuild: "1511-docker"
html5ClientBuild: "1551-docker"
helpLink: https://bigbluebutton.org/html5/
lockOnJoin: true
cdn: ''
@ -43,7 +51,7 @@ public:
enableDebugWindow: true
# 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.
# this value to be kept under 16.
breakouts:
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
sendInvitationToIncludedModerators: false
@ -163,10 +171,10 @@ public:
mediaTimeouts:
maxConnectionAttempts: 2
# Base screen media timeout (send|recv)
baseTimeout: 15000
baseTimeout: 30000
# Max timeout: used as the max camera subscribe reconnection timeout. Each
# subscribe reattempt increases the reconnection timer up to this
maxTimeout: 35000
maxTimeout: 60000
timeoutIncreaseFactor: 1.5
constraints:
video:
@ -355,6 +363,8 @@ public:
time: 5000
chat:
enabled: {{ .Env.CHAT_ENABLED }}
itemsPerPage: 100
timeBetweenFetchs: 1000
bufferChatInsertsMs: 0
startClosed: {{ .Env.CHAT_START_CLOSED }}
min_message_length: 1
@ -418,7 +428,11 @@ public:
enabled: true
interval: 2000
length: 5
timeout: 30000
log: false
notification:
warning: false
error: true
jitter:
- 10
- 20
@ -427,6 +441,10 @@ public:
- 0.05
- 0.1
- 0.2
rtt:
- 500
- 1000
- 2000
level:
- warning
- danger

View File

@ -1,15 +0,0 @@
FROM woahbase/alpine-libreoffice
USER root
RUN apk add --no-cache \
su-exec \
font-noto \
font-noto-cjk
# should use the same user ID as in `core` to avoid file permission issues
RUN addgroup -g 998 bigbluebutton && adduser -D -u 998 -G bigbluebutton bigbluebutton
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT /entrypoint.sh

View File

@ -1,21 +0,0 @@
#!/bin/sh
set -e
for i in `seq 1 4` ; do
SOFFICE_WORK_DIR="/var/tmp/soffice/instance_"`printf "%02d\n" ${i}`
mkdir -p $SOFFICE_WORK_DIR
chown bigbluebutton:bigbluebutton $SOFFICE_WORK_DIR
# Initialize environment
su-exec bigbluebutton /usr/lib/libreoffice/program/soffice.bin -env:UserInstallation="file:///tmp/office_${i}/" || true
done
for i in `seq 1 4` ; do
let PORT=8200+${i}
echo "start libreoffice on port ${PORT}"
su-exec bigbluebutton /usr/lib/libreoffice/program/soffice.bin --accept="socket,host=0.0.0.0,port=$PORT,tcpNoDelay=1;urp;StarOffice.ServiceManager" --headless --invisible --nocrashreport --nodefault --nofirststartwizard --nolockcheck --nologo --norestore -env:UserInstallation="file:///tmp/office_${i}/" &
done
wait $!

View File

@ -12,7 +12,7 @@ if [ ! -f /tmp/bbb-kms-last-restart.txt ]; then
exit
fi
users=$(mongo --quiet mongodb://10.7.7.6:27017/meteor --eval "db.users.count({connectionStatus: 'online'})")
users=$(mongo --quiet mongodb://10.7.7.6:27017/meteor --eval "db.users.count()")
echo "currently active users: $users"
if [ "$users" -eq 0 ]; then

View File

@ -45,7 +45,7 @@ RUN mkdir -p \
/usr/local/bigbluebutton/core \
/etc/bigbluebutton
ENV TAG v2.3-beta-1
ENV TAG v2.3-beta-2
# add bbb-record-core (lib, scripts and Gemfile)
RUN cd /usr/local/bigbluebutton/core \

View File

@ -22,6 +22,12 @@ redis_port: 6379
# redis_workers_host: 127.0.0.1
# redis_workers_port: 6379
# Set to true to insert recording process status into
# redis list with key "store_recording_status: true".
# This is useful if you want to track progress status
# and have another script process it.
store_recording_status: false
# Sequence of recording steps. Keys are the current step, values
# are the next step(s). Examples:
# current_step: next_step

@ -1 +1 @@
Subproject commit 02adc818dcb18e2dd73ba043b92391820cd121ff
Subproject commit c26960e58779aa8508a8ae411e331c3744e5ca99