Merge pull request #84 from alangecker/develop

Release v2.2.31-1
This commit is contained in:
chandi 2020-12-23 12:14:40 +01:00 committed by GitHub
commit 041823e57f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 93 additions and 16 deletions

12
.gitignore vendored
View File

@ -1,2 +1,14 @@
# IDEA generated
.idea
# OS generated
.DS_Store
.AppleDouble
# Tmp files
*.swp
*.log
# App generated
.env .env
postgres-data postgres-data

View File

@ -2,6 +2,11 @@
## Unreleased ## Unreleased
## Release v2.2.31-1 (2020-12-23) #84
- Applied v2.2.31 changes @alangecker
- Fix when presentation after recording unable to delete and change access rights #82 #63 @cardinalit
- Enable cameraQualityThresholds by default
## Release v2.2.30-1 (2020-12-01) #79 ## Release v2.2.30-1 (2020-12-01) #79
- Applied v2.2.30 changes @alangecker - Applied v2.2.30 changes @alangecker
- Applied v2.2.29 changes @alangecker - Applied v2.2.29 changes @alangecker

@ -1 +1 @@
Subproject commit 0ea5bd5d14f3d96c6f5ce4b5c238fbdef82e6d87 Subproject commit 9aa9f02f07b70f01eed149296b42db4859f2fa04

View File

@ -56,6 +56,7 @@ services:
- html5 - html5
volumes: volumes:
- bigbluebutton:/var/bigbluebutton - bigbluebutton:/var/bigbluebutton
- html5-static:/html5-static:ro
- ${DEFAULT_PRESENTATION:-/dev/null}:/etc/nginx/html/default.pdf - ${DEFAULT_PRESENTATION:-/dev/null}:/etc/nginx/html/default.pdf
network_mode: host network_mode: host
extra_hosts: extra_hosts:
@ -139,6 +140,8 @@ services:
- redis - redis
- mongodb - mongodb
- etherpad - etherpad
volumes:
- html5-static:/html5-static:rw
environment: environment:
DOMAIN: ${DOMAIN} DOMAIN: ${DOMAIN}
CLIENT_TITLE: ${CLIENT_TITLE} CLIENT_TITLE: ${CLIENT_TITLE}
@ -171,6 +174,7 @@ volumes:
bigbluebutton: bigbluebutton:
vol-freeswitch: vol-freeswitch:
vol-kurento: vol-kurento:
html5-static:
networks: networks:
bbb-net: bbb-net:

View File

@ -38,7 +38,7 @@ RUN equivs-control redis-server.control \
# this variable is not used, but it triggers # this variable is not used, but it triggers
# rebuilding from here on if changed # rebuilding from here on if changed
ENV VERSION v2.2.29 ENV VERSION v2.2.31
RUN apt-get update && apt-get install -y bbb-web \ RUN apt-get update && apt-get install -y bbb-web \
bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \ bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \

View File

@ -1,4 +1,4 @@
FROM node:8-buster-slim AS builder FROM node:8.17.0-buster-slim AS builder
RUN apt-get update && apt-get install -y wget curl subversion python2 python3 build-essential RUN apt-get update && apt-get install -y wget curl subversion python2 python3 build-essential
RUN groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor RUN groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor
@ -14,7 +14,7 @@ USER meteor
ENV METEOR_VERSION 1.8.1 ENV METEOR_VERSION 1.8.1
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.2.30 ENV TAG v2.2.31
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 \
@ -42,12 +42,14 @@ RUN cd ~/app/bundle/programs/server \
FROM node:8-alpine FROM node:8-alpine
RUN addgroup -g 2000 meteor && adduser -D -u 2001 -G meteor meteor RUN addgroup -g 2000 meteor && \
adduser -D -u 2001 -G meteor meteor && \
apk add su-exec
COPY --from=builder /usr/local/bin/dockerize /usr/local/bin/dockerize COPY --from=builder /usr/local/bin/dockerize /usr/local/bin/dockerize
COPY --from=builder --chown=meteor:meteor /home/meteor/app/bundle /app COPY --from=builder --chown=meteor:meteor /home/meteor/app/bundle /app
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh /entrypoint.sh
COPY settings.yml /app/programs/server/assets/app/config/settings.yml.tmpl COPY settings.yml /app/programs/server/assets/app/config/settings.yml.tmpl
USER meteor
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]
# lets set the tag again, so that it is include in the image for later version retrieval # lets set the tag again, so that it is include in the image for later version retrieval

View File

@ -1,10 +1,12 @@
#!/bin/sh #!/bin/sh
set -e
cd /app cd /app
export ROOT_URL=http://127.0.0.1/html5client export ROOT_URL=http://127.0.0.1/html5client
export MONGO_URL=mongodb://10.7.7.6/meteor export MONGO_URL=mongodb://10.7.7.6/meteor
export NODE_ENV=production export NODE_ENV=production
export ENVIRONMENT_TYPE=production export ENVIRONMENT_TYPE=production
export SERVER_WEBSOCKET_COMPRESSION=0
export PORT=3000 export PORT=3000
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
@ -13,7 +15,14 @@ if [ "$DEV_MODE" == true ]; then
export NODE_TLS_REJECT_UNAUTHORIZED=0 export NODE_TLS_REJECT_UNAUTHORIZED=0
fi fi
# copy static files into volume for direct access by nginx
# https://github.com/bigbluebutton/bigbluebutton/issues/10739
if [ -d "/html5-static" ]; then
rm -rf /html5-static/*
cp -r /app/programs/web.browser/* /html5-static
fi
rm -f /app/programs/server/assets/app/config/settings.yml rm -f /app/programs/server/assets/app/config/settings.yml
dockerize \ dockerize \
-template /app/programs/server/assets/app/config/settings.yml.tmpl:/app/programs/server/assets/app/config/settings.yml \ -template /app/programs/server/assets/app/config/settings.yml.tmpl:/app/programs/server/assets/app/config/settings.yml \
node main.js su-exec meteor node main.js

View File

@ -11,7 +11,7 @@ public:
appName: BigBlueButton HTML5 Client appName: BigBlueButton HTML5 Client
bbbServerVersion: 2.2 bbbServerVersion: 2.2
copyright: "©2020 BigBlueButton Inc." copyright: "©2020 BigBlueButton Inc."
html5ClientBuild: 1095 html5ClientBuild: 1114
helpLink: https://bigbluebutton.org/html5/ helpLink: https://bigbluebutton.org/html5/
lockOnJoin: true lockOnJoin: true
cdn: "" cdn: ""
@ -36,7 +36,8 @@ public:
# 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 12.
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }} breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
customHeartbeat: false # https://github.com/bigbluebutton/bigbluebutton/pull/10826
customHeartbeat: true
defaultSettings: defaultSettings:
application: application:
animations: true animations: true
@ -194,7 +195,7 @@ public:
# profile: a camera profile id from the cameraProfiles configuration array # profile: a camera profile id from the cameraProfiles configuration array
# that will be applied to all cameras when threshold is hit # that will be applied to all cameras when threshold is hit
cameraQualityThresholds: cameraQualityThresholds:
enabled: false enabled: true
thresholds: thresholds:
- threshold: 8 - threshold: 8
profile: low-u8 profile: low-u8
@ -244,6 +245,7 @@ public:
time: 5000 time: 5000
chat: chat:
enabled: {{ .Env.CHAT_ENABLED }} enabled: {{ .Env.CHAT_ENABLED }}
bufferChatInsertsMs: 0
startClosed: {{ .Env.CHAT_START_CLOSED }} startClosed: {{ .Env.CHAT_START_CLOSED }}
min_message_length: 1 min_message_length: 1
max_message_length: 5000 max_message_length: 5000
@ -291,7 +293,17 @@ public:
#so far. Increasing this value might help avoiding 1004 error when #so far. Increasing this value might help avoiding 1004 error when
#user activates microphone. #user activates microphone.
iceGatheringTimeout: 5000 iceGatheringTimeout: 5000
sipjsHackViaWs: false sipjsHackViaWs: true
#Websocket keepAlive interval (seconds). You may set this to prevent
#websocket disconnection in some environments. When set, BBB will send
#'\r\n\r\n' string through SIP.js's websocket. If not set, default value
#is 0.
websocketKeepAliveInterval: 30
#Debounce time (seconds) for sending SIP.js's websocket keep alive message.
#If not set, default value is 10.
websocketKeepAliveDebounce: 10
#Trace sip/audio messages in browser. If not set, default value is false.
traceSip: false
presentation: presentation:
defaultPresentationFile: default.pdf defaultPresentationFile: default.pdf
panZoomThrottle: 32 panZoomThrottle: 32
@ -441,6 +453,11 @@ private:
timeout: 5000 timeout: 5000
password: null password: null
debug: false debug: false
metrics:
queueMetrics: false
metricsDumpIntervalMs: 60000
metricsFolderPath: METRICS_FOLDER
removeMeetingOnEnd: true
channels: channels:
toAkkaApps: to-akka-apps-redis-channel toAkkaApps: to-akka-apps-redis-channel
toThirdParty: to-third-party-redis-channel toThirdParty: to-third-party-redis-channel
@ -464,6 +481,8 @@ private:
enabled: false enabled: false
heapdump: heapdump:
enabled: false enabled: false
heapdumpFolderPath: HEAPDUMP_FOLDER
heapdumpIntervalMs: 3600000
minBrowserVersions: minBrowserVersions:
- browser: chrome - browser: chrome
version: 72 version: 72

View File

@ -1,10 +1,28 @@
location /html5client { location @html5client {
proxy_pass http://html5:3000; proxy_pass http://html5:3000;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade"; proxy_set_header Connection "Upgrade";
} }
location /html5client/compatibility {
alias /html5-static/app/compatibility;
}
location /html5client/fonts {
alias /html5-static/app/fonts;
}
location /html5client/resources {
alias /html5-static/app/resources;
}
location /html5client/svgs {
alias /html5-static/app/svgs;
}
location /html5client {
alias /html5-static;
try_files $uri @html5client;
}
location /_timesync { location /_timesync {
proxy_pass http://html5:3000; proxy_pass http://html5:3000;
} }

View File

@ -1,5 +1,5 @@
location /ws { location /ws {
proxy_pass https://$freeswitch_addr:7443; proxy_pass http://$freeswitch_addr:5066;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade"; proxy_set_header Connection "Upgrade";

View File

@ -40,7 +40,7 @@ RUN mkdir -p \
/var/log/bigbluebutton \ /var/log/bigbluebutton \
/var/log/bigbluebutton/presentation /var/log/bigbluebutton/presentation
ENV TAG v2.2.30 ENV TAG v2.2.31
# 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 \
@ -73,12 +73,20 @@ RUN cd /usr/bin \
&& touch /var/log/bigbluebutton/bbb-web.log && touch /var/log/bigbluebutton/bbb-web.log
# create user # create user
# the ID should matcht the one creating the files in `core` # the ID should match the one creating the files in `core`
RUN groupadd -g 998 bigbluebutton && useradd -m -u 998 -g bigbluebutton bigbluebutton RUN groupadd -g 998 bigbluebutton && useradd -m -u 998 -g bigbluebutton bigbluebutton
# change owner
# https://github.com/alangecker/bigbluebutton-docker/issues/63
RUN chown -R 998:998 /usr/local/bigbluebutton /var/log/bigbluebutton
COPY bigbluebutton.yml /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml.tmpl COPY bigbluebutton.yml /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml.tmpl
ADD log-collector.py /log-collector.py ADD log-collector.py /log-collector.py
ADD entrypoint.sh /entrypoint.sh ADD entrypoint.sh /entrypoint.sh
# change user before entrypoint
# to set user rights for all generated videos
USER bigbluebutton
ENTRYPOINT dockerize \ ENTRYPOINT dockerize \
-template /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml.tmpl:/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml \ -template /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml.tmpl:/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml \
/entrypoint.sh /entrypoint.sh

View File

@ -1,4 +1,4 @@
bbb_version: '2.2.23' bbb_version: '2.2.30'
raw_audio_src: /var/freeswitch/meetings raw_audio_src: /var/freeswitch/meetings
raw_video_src: /usr/share/red5/webapps/video/streams raw_video_src: /usr/share/red5/webapps/video/streams
kurento_video_src: /var/kurento/recordings kurento_video_src: /var/kurento/recordings