mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-11-23 00:23:25 +01:00
Merge pull request #79 from bigbluebutton/updates/v2.3-beta-2
Updates for v2.3-beta-2
This commit is contained in:
commit
50c48252d4
@ -1,10 +1,13 @@
|
|||||||
# BigBlueButton 2.3 Docker
|
# 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
|
## 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.
|
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
|
## Features
|
||||||
- Easy installation
|
- Easy installation
|
||||||
- Greenlight included
|
- Greenlight included
|
||||||
|
@ -43,7 +43,6 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
- libreoffice
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: wget --no-verbose --tries=1 --spider http://10.7.7.2:8090/bigbluebutton/api || exit 1
|
test: wget --no-verbose --tries=1 --spider http://10.7.7.2:8090/bigbluebutton/api || exit 1
|
||||||
start_period: 2m
|
start_period: 2m
|
||||||
@ -62,7 +61,6 @@ services:
|
|||||||
- bigbluebutton:/var/bigbluebutton
|
- bigbluebutton:/var/bigbluebutton
|
||||||
- vol-freeswitch:/var/freeswitch/meetings
|
- vol-freeswitch:/var/freeswitch/meetings
|
||||||
- vol-kurento:/var/kurento
|
- vol-kurento:/var/kurento
|
||||||
- vol-libreoffice:/var/tmp/soffice
|
|
||||||
networks:
|
networks:
|
||||||
bbb-net:
|
bbb-net:
|
||||||
ipv4_address: 10.7.7.2
|
ipv4_address: 10.7.7.2
|
||||||
@ -238,17 +236,16 @@ services:
|
|||||||
bbb-net:
|
bbb-net:
|
||||||
ipv4_address: 10.7.7.15
|
ipv4_address: 10.7.7.15
|
||||||
|
|
||||||
|
jodconverter:
|
||||||
libreoffice:
|
image: eugenmayer/jodconverter:rest
|
||||||
build: mod/libreoffice
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
deploy:
|
||||||
- vol-libreoffice:/var/tmp/soffice
|
resources:
|
||||||
tmpfs:
|
limits:
|
||||||
- /tmp
|
memory: 512M
|
||||||
networks:
|
networks:
|
||||||
bbb-net:
|
bbb-net:
|
||||||
ipv4_address: 10.7.7.7
|
ipv4_address: 10.7.7.20
|
||||||
|
|
||||||
periodic:
|
periodic:
|
||||||
build: mod/periodic
|
build: mod/periodic
|
||||||
@ -375,7 +372,6 @@ volumes:
|
|||||||
vol-freeswitch:
|
vol-freeswitch:
|
||||||
vol-kurento:
|
vol-kurento:
|
||||||
html5-static:
|
html5-static:
|
||||||
vol-libreoffice:
|
|
||||||
{{ if isTrue .Env.ENABLE_HTTPS_PROXY }}
|
{{ if isTrue .Env.ENABLE_HTTPS_PROXY }}
|
||||||
ssl_data:
|
ssl_data:
|
||||||
{{end}}
|
{{end}}
|
||||||
|
@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder
|
|||||||
RUN apt-get update && apt-get install -y subversion
|
RUN apt-get update && apt-get install -y subversion
|
||||||
|
|
||||||
# download bbb-common-message
|
# 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
|
||||||
&& rm -rf /bbb-common-message/.svn
|
&& 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-apps /source \
|
||||||
&& rm -rf /source/.svn
|
&& rm -rf /source/.svn
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder
|
|||||||
RUN apt-get update && apt-get install -y subversion
|
RUN apt-get update && apt-get install -y subversion
|
||||||
|
|
||||||
# download bbb-common-message
|
# 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
|
||||||
&& rm -rf /bbb-common-message/.svn
|
&& rm -rf /bbb-common-message/.svn
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ RUN cd /opt \
|
|||||||
ENV PATH="/opt/gradle-6.7/bin:${PATH}"
|
ENV PATH="/opt/gradle-6.7/bin:${PATH}"
|
||||||
|
|
||||||
# download bbb-common-web
|
# 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_WEB/bbb-common-web /bbb-common-web \
|
||||||
&& rm -rf /bbb-common-message/.svn
|
&& rm -rf /bbb-common-message/.svn
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ RUN cd /bbb-common-web \
|
|||||||
&& ./deploy.sh
|
&& ./deploy.sh
|
||||||
|
|
||||||
# download bbb-web
|
# 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_WEB/bigbluebutton-web /bbb-web \
|
||||||
&& rm -rf /bbb-web/.svn
|
&& 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
|
FROM openjdk:8-jre-slim-buster
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
wget unzip gosu socat locales \
|
wget unzip gosu locales \
|
||||||
imagemagick xpdf-utils
|
imagemagick xpdf-utils curl
|
||||||
|
|
||||||
# set locale
|
# set locale
|
||||||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
|
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
|
# 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
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.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,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
|
|
@ -1,13 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
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
|
# create recording directory structure if it doesn't exist yet
|
||||||
mkdir -p /var/bigbluebutton/recording/raw
|
mkdir -p /var/bigbluebutton/recording/raw
|
||||||
mkdir -p /var/bigbluebutton/recording/process
|
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/
|
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
|
||||||
|
|
||||||
|
11
mod/bbb-web/office-convert.sh
Executable file
11
mod/bbb-web/office-convert.sh
Executable 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
|
@ -36,7 +36,7 @@
|
|||||||
<!--<param name="enable-100rel" value="true"/>-->
|
<!--<param name="enable-100rel" value="true"/>-->
|
||||||
<!--<param name="disable-srv503" value="true"/>-->
|
<!--<param name="disable-srv503" value="true"/>-->
|
||||||
<!-- This could be set to "passive" -->
|
<!-- 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"/>
|
<param name="manage-presence" value="false"/>
|
||||||
|
|
||||||
<!-- Added for Microsoft Edge support
|
<!-- Added for Microsoft Edge support
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<!--<param name="enable-100rel" value="true"/>-->
|
<!--<param name="enable-100rel" value="true"/>-->
|
||||||
<!--<param name="disable-srv503" value="true"/>-->
|
<!--<param name="disable-srv503" value="true"/>-->
|
||||||
<!-- This could be set to "passive" -->
|
<!-- 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"/>
|
<param name="manage-presence" value="false"/>
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder
|
|||||||
RUN apt-get update && apt-get install -y subversion
|
RUN apt-get update && apt-get install -y subversion
|
||||||
|
|
||||||
# download bbb-common-message
|
# 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \
|
||||||
&& rm -rf /bbb-common-message/.svn
|
&& 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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_FSESL/bbb-fsesl-client /bbb-fsesl-client \
|
||||||
&& rm -rf /bbb-fsesl-client/.svn
|
&& rm -rf /bbb-fsesl-client/.svn
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ RUN cd /bbb-fsesl-client \
|
|||||||
&& ./deploy.sh
|
&& ./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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-fsesl /source \
|
||||||
&& rm -rf /source/.svn
|
&& rm -rf /source/.svn
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ USER meteor
|
|||||||
ENV METEOR_VERSION 1.10.2
|
ENV METEOR_VERSION 1.10.2
|
||||||
RUN curl -sL https://install.meteor.com?release=$METEOR_VERSION | sed s/--progress-bar/-sL/g | /bin/sh
|
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 ~ \
|
RUN cd ~ \
|
||||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
|
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
|
||||||
&& mv ~/bigbluebutton-html5 ~/source \
|
&& mv ~/bigbluebutton-html5 ~/source \
|
||||||
|
@ -8,11 +8,19 @@ public:
|
|||||||
forceListenOnly: false
|
forceListenOnly: false
|
||||||
skipCheck: {{ .Env.DISABLE_ECHO_TEST }}
|
skipCheck: {{ .Env.DISABLE_ECHO_TEST }}
|
||||||
skipCheckOnJoin: false
|
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 }}
|
clientTitle: {{ .Env.CLIENT_TITLE }}
|
||||||
appName: BigBlueButton HTML5 Client
|
appName: BigBlueButton HTML5 Client
|
||||||
bbbServerVersion: 2.3-dev-docker
|
bbbServerVersion: 2.3-dev-docker
|
||||||
copyright: '©2021 BigBlueButton Inc.'
|
copyright: '©2021 BigBlueButton Inc.'
|
||||||
html5ClientBuild: "1511-docker"
|
html5ClientBuild: "1551-docker"
|
||||||
helpLink: https://bigbluebutton.org/html5/
|
helpLink: https://bigbluebutton.org/html5/
|
||||||
lockOnJoin: true
|
lockOnJoin: true
|
||||||
cdn: ''
|
cdn: ''
|
||||||
@ -43,7 +51,7 @@ public:
|
|||||||
enableDebugWindow: true
|
enableDebugWindow: true
|
||||||
# Warning: increasing the limit of breakout rooms per meeting
|
# Warning: increasing the limit of breakout rooms per meeting
|
||||||
# can generate excessive overhead to the server. We recommend
|
# can generate excessive overhead to the server. We recommend
|
||||||
# this value to be kept under 12.
|
# this value to be kept under 16.
|
||||||
breakouts:
|
breakouts:
|
||||||
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
||||||
sendInvitationToIncludedModerators: false
|
sendInvitationToIncludedModerators: false
|
||||||
@ -163,10 +171,10 @@ public:
|
|||||||
mediaTimeouts:
|
mediaTimeouts:
|
||||||
maxConnectionAttempts: 2
|
maxConnectionAttempts: 2
|
||||||
# Base screen media timeout (send|recv)
|
# Base screen media timeout (send|recv)
|
||||||
baseTimeout: 15000
|
baseTimeout: 30000
|
||||||
# Max timeout: used as the max camera subscribe reconnection timeout. Each
|
# Max timeout: used as the max camera subscribe reconnection timeout. Each
|
||||||
# subscribe reattempt increases the reconnection timer up to this
|
# subscribe reattempt increases the reconnection timer up to this
|
||||||
maxTimeout: 35000
|
maxTimeout: 60000
|
||||||
timeoutIncreaseFactor: 1.5
|
timeoutIncreaseFactor: 1.5
|
||||||
constraints:
|
constraints:
|
||||||
video:
|
video:
|
||||||
@ -355,6 +363,8 @@ public:
|
|||||||
time: 5000
|
time: 5000
|
||||||
chat:
|
chat:
|
||||||
enabled: {{ .Env.CHAT_ENABLED }}
|
enabled: {{ .Env.CHAT_ENABLED }}
|
||||||
|
itemsPerPage: 100
|
||||||
|
timeBetweenFetchs: 1000
|
||||||
bufferChatInsertsMs: 0
|
bufferChatInsertsMs: 0
|
||||||
startClosed: {{ .Env.CHAT_START_CLOSED }}
|
startClosed: {{ .Env.CHAT_START_CLOSED }}
|
||||||
min_message_length: 1
|
min_message_length: 1
|
||||||
@ -418,7 +428,11 @@ public:
|
|||||||
enabled: true
|
enabled: true
|
||||||
interval: 2000
|
interval: 2000
|
||||||
length: 5
|
length: 5
|
||||||
|
timeout: 30000
|
||||||
log: false
|
log: false
|
||||||
|
notification:
|
||||||
|
warning: false
|
||||||
|
error: true
|
||||||
jitter:
|
jitter:
|
||||||
- 10
|
- 10
|
||||||
- 20
|
- 20
|
||||||
@ -427,6 +441,10 @@ public:
|
|||||||
- 0.05
|
- 0.05
|
||||||
- 0.1
|
- 0.1
|
||||||
- 0.2
|
- 0.2
|
||||||
|
rtt:
|
||||||
|
- 500
|
||||||
|
- 1000
|
||||||
|
- 2000
|
||||||
level:
|
level:
|
||||||
- warning
|
- warning
|
||||||
- danger
|
- danger
|
||||||
|
@ -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
|
|
@ -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 $!
|
|
@ -12,7 +12,7 @@ if [ ! -f /tmp/bbb-kms-last-restart.txt ]; then
|
|||||||
exit
|
exit
|
||||||
fi
|
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"
|
echo "currently active users: $users"
|
||||||
|
|
||||||
if [ "$users" -eq 0 ]; then
|
if [ "$users" -eq 0 ]; then
|
||||||
|
@ -45,7 +45,7 @@ RUN mkdir -p \
|
|||||||
/usr/local/bigbluebutton/core \
|
/usr/local/bigbluebutton/core \
|
||||||
/etc/bigbluebutton
|
/etc/bigbluebutton
|
||||||
|
|
||||||
ENV TAG v2.3-beta-1
|
ENV TAG v2.3-beta-2
|
||||||
|
|
||||||
# add bbb-record-core (lib, scripts and Gemfile)
|
# add bbb-record-core (lib, scripts and Gemfile)
|
||||||
RUN cd /usr/local/bigbluebutton/core \
|
RUN cd /usr/local/bigbluebutton/core \
|
||||||
|
@ -22,6 +22,12 @@ redis_port: 6379
|
|||||||
# redis_workers_host: 127.0.0.1
|
# redis_workers_host: 127.0.0.1
|
||||||
# redis_workers_port: 6379
|
# 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
|
# Sequence of recording steps. Keys are the current step, values
|
||||||
# are the next step(s). Examples:
|
# are the next step(s). Examples:
|
||||||
# current_step: next_step
|
# current_step: next_step
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 02adc818dcb18e2dd73ba043b92391820cd121ff
|
Subproject commit c26960e58779aa8508a8ae411e331c3744e5ca99
|
Loading…
Reference in New Issue
Block a user