mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-12-25 16:18:57 +01:00
commit
041823e57f
12
.gitignore
vendored
12
.gitignore
vendored
@ -1,2 +1,14 @@
|
||||
# IDEA generated
|
||||
.idea
|
||||
|
||||
# OS generated
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
|
||||
# Tmp files
|
||||
*.swp
|
||||
*.log
|
||||
|
||||
# App generated
|
||||
.env
|
||||
postgres-data
|
||||
|
@ -2,6 +2,11 @@
|
||||
|
||||
## 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
|
||||
- Applied v2.2.30 changes @alangecker
|
||||
- Applied v2.2.29 changes @alangecker
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 0ea5bd5d14f3d96c6f5ce4b5c238fbdef82e6d87
|
||||
Subproject commit 9aa9f02f07b70f01eed149296b42db4859f2fa04
|
@ -56,6 +56,7 @@ services:
|
||||
- html5
|
||||
volumes:
|
||||
- bigbluebutton:/var/bigbluebutton
|
||||
- html5-static:/html5-static:ro
|
||||
- ${DEFAULT_PRESENTATION:-/dev/null}:/etc/nginx/html/default.pdf
|
||||
network_mode: host
|
||||
extra_hosts:
|
||||
@ -139,6 +140,8 @@ services:
|
||||
- redis
|
||||
- mongodb
|
||||
- etherpad
|
||||
volumes:
|
||||
- html5-static:/html5-static:rw
|
||||
environment:
|
||||
DOMAIN: ${DOMAIN}
|
||||
CLIENT_TITLE: ${CLIENT_TITLE}
|
||||
@ -171,6 +174,7 @@ volumes:
|
||||
bigbluebutton:
|
||||
vol-freeswitch:
|
||||
vol-kurento:
|
||||
html5-static:
|
||||
|
||||
networks:
|
||||
bbb-net:
|
||||
|
@ -38,7 +38,7 @@ RUN equivs-control redis-server.control \
|
||||
|
||||
# this variable is not used, but it triggers
|
||||
# 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 \
|
||||
bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \
|
||||
|
@ -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 groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor
|
||||
@ -14,7 +14,7 @@ USER meteor
|
||||
ENV METEOR_VERSION 1.8.1
|
||||
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 ~ \
|
||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
|
||||
&& mv ~/bigbluebutton-html5 ~/source \
|
||||
@ -42,12 +42,14 @@ RUN cd ~/app/bundle/programs/server \
|
||||
|
||||
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 --chown=meteor:meteor /home/meteor/app/bundle /app
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
COPY settings.yml /app/programs/server/assets/app/config/settings.yml.tmpl
|
||||
USER meteor
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
# lets set the tag again, so that it is include in the image for later version retrieval
|
||||
|
@ -1,10 +1,12 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
cd /app
|
||||
export ROOT_URL=http://127.0.0.1/html5client
|
||||
export MONGO_URL=mongodb://10.7.7.6/meteor
|
||||
export NODE_ENV=production
|
||||
export ENVIRONMENT_TYPE=production
|
||||
export SERVER_WEBSOCKET_COMPRESSION=0
|
||||
export PORT=3000
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
@ -13,7 +15,14 @@ if [ "$DEV_MODE" == true ]; then
|
||||
export NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||
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
|
||||
dockerize \
|
||||
-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
|
||||
|
@ -11,7 +11,7 @@ public:
|
||||
appName: BigBlueButton HTML5 Client
|
||||
bbbServerVersion: 2.2
|
||||
copyright: "©2020 BigBlueButton Inc."
|
||||
html5ClientBuild: 1095
|
||||
html5ClientBuild: 1114
|
||||
helpLink: https://bigbluebutton.org/html5/
|
||||
lockOnJoin: true
|
||||
cdn: ""
|
||||
@ -36,7 +36,8 @@ public:
|
||||
# can generate excessive overhead to the server. We recommend
|
||||
# this value to be kept under 12.
|
||||
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
||||
customHeartbeat: false
|
||||
# https://github.com/bigbluebutton/bigbluebutton/pull/10826
|
||||
customHeartbeat: true
|
||||
defaultSettings:
|
||||
application:
|
||||
animations: true
|
||||
@ -194,7 +195,7 @@ public:
|
||||
# profile: a camera profile id from the cameraProfiles configuration array
|
||||
# that will be applied to all cameras when threshold is hit
|
||||
cameraQualityThresholds:
|
||||
enabled: false
|
||||
enabled: true
|
||||
thresholds:
|
||||
- threshold: 8
|
||||
profile: low-u8
|
||||
@ -244,6 +245,7 @@ public:
|
||||
time: 5000
|
||||
chat:
|
||||
enabled: {{ .Env.CHAT_ENABLED }}
|
||||
bufferChatInsertsMs: 0
|
||||
startClosed: {{ .Env.CHAT_START_CLOSED }}
|
||||
min_message_length: 1
|
||||
max_message_length: 5000
|
||||
@ -291,7 +293,17 @@ public:
|
||||
#so far. Increasing this value might help avoiding 1004 error when
|
||||
#user activates microphone.
|
||||
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:
|
||||
defaultPresentationFile: default.pdf
|
||||
panZoomThrottle: 32
|
||||
@ -441,6 +453,11 @@ private:
|
||||
timeout: 5000
|
||||
password: null
|
||||
debug: false
|
||||
metrics:
|
||||
queueMetrics: false
|
||||
metricsDumpIntervalMs: 60000
|
||||
metricsFolderPath: METRICS_FOLDER
|
||||
removeMeetingOnEnd: true
|
||||
channels:
|
||||
toAkkaApps: to-akka-apps-redis-channel
|
||||
toThirdParty: to-third-party-redis-channel
|
||||
@ -464,6 +481,8 @@ private:
|
||||
enabled: false
|
||||
heapdump:
|
||||
enabled: false
|
||||
heapdumpFolderPath: HEAPDUMP_FOLDER
|
||||
heapdumpIntervalMs: 3600000
|
||||
minBrowserVersions:
|
||||
- browser: chrome
|
||||
version: 72
|
||||
|
@ -1,10 +1,28 @@
|
||||
location /html5client {
|
||||
location @html5client {
|
||||
proxy_pass http://html5:3000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_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 {
|
||||
proxy_pass http://html5:3000;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
location /ws {
|
||||
proxy_pass https://$freeswitch_addr:7443;
|
||||
proxy_pass http://$freeswitch_addr:5066;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
|
@ -40,7 +40,7 @@ RUN mkdir -p \
|
||||
/var/log/bigbluebutton \
|
||||
/var/log/bigbluebutton/presentation
|
||||
|
||||
ENV TAG v2.2.30
|
||||
ENV TAG v2.2.31
|
||||
|
||||
# add bbb-record-core (lib, scripts and Gemfile)
|
||||
RUN cd /usr/local/bigbluebutton/core \
|
||||
@ -73,12 +73,20 @@ RUN cd /usr/bin \
|
||||
&& touch /var/log/bigbluebutton/bbb-web.log
|
||||
|
||||
# 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
|
||||
# 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
|
||||
ADD log-collector.py /log-collector.py
|
||||
ADD entrypoint.sh /entrypoint.sh
|
||||
|
||||
# change user before entrypoint
|
||||
# to set user rights for all generated videos
|
||||
USER bigbluebutton
|
||||
|
||||
ENTRYPOINT dockerize \
|
||||
-template /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml.tmpl:/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml \
|
||||
/entrypoint.sh
|
@ -1,4 +1,4 @@
|
||||
bbb_version: '2.2.23'
|
||||
bbb_version: '2.2.30'
|
||||
raw_audio_src: /var/freeswitch/meetings
|
||||
raw_video_src: /usr/share/red5/webapps/video/streams
|
||||
kurento_video_src: /var/kurento/recordings
|
||||
|
Loading…
Reference in New Issue
Block a user