mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-12-23 23:28:57 +01:00
applied v2.3-alpha 7 changes incl. html5 load balancing
This commit is contained in:
parent
f5d77c5bcb
commit
3858e42f23
@ -19,7 +19,6 @@ you can find a **stable bbb-docker release for 2.2** here: https://github.com/al
|
||||
|
||||
## What does not work
|
||||
- probably a lot - it's in an alpha state!
|
||||
- Load balancing of html5 meteor processes
|
||||
- bbb-lti
|
||||
|
||||
## Install
|
||||
|
@ -5,6 +5,38 @@
|
||||
|
||||
version: '3.6'
|
||||
|
||||
# html5 templates
|
||||
x-html5-backend: &html5backend
|
||||
build: mod/html5
|
||||
image: bbb-html5
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- redis
|
||||
- mongodb
|
||||
- etherpad
|
||||
environment: &html5backend-env
|
||||
DOMAIN: ${DOMAIN}
|
||||
CLIENT_TITLE: ${CLIENT_TITLE}
|
||||
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
|
||||
LISTEN_ONLY_MODE: ${LISTEN_ONLY_MODE:-true}
|
||||
DISABLE_ECHO_TEST: ${DISABLE_ECHO_TEST:-false}
|
||||
AUTO_SHARE_WEBCAM: ${AUTO_SHARE_WEBCAM:-false}
|
||||
DISABLE_VIDEO_PREVIEW: ${DISABLE_VIDEO_PREVIEW:-false}
|
||||
CHAT_ENABLED: ${CHAT_ENABLED:-true}
|
||||
CHAT_START_CLOSED: ${CHAT_START_CLOSED:-false}
|
||||
BREAKOUTROOM_LIMIT: ${BREAKOUTROOM_LIMIT:-8}
|
||||
DEV_MODE: ${DEV_MODE:-}
|
||||
BBB_HTML5_ROLE: backend
|
||||
|
||||
x-html5-frontend: &html5frontend
|
||||
<<: *html5backend
|
||||
volumes:
|
||||
- html5-static:/html5-static:rw
|
||||
environment: &html5frontend-env
|
||||
<<: *html5backend-env
|
||||
BBB_HTML5_ROLE: frontend
|
||||
# =========================
|
||||
|
||||
services:
|
||||
bbb-web:
|
||||
build: mod/bbb-web
|
||||
@ -25,6 +57,7 @@ services:
|
||||
STUN_SERVER: stun:${STUN_IP}:${STUN_PORT}
|
||||
TURN_SERVER: ${TURN_SERVER:-}
|
||||
TURN_SECRET: ${TURN_SECRET:-}
|
||||
NUMBER_OF_BACKEND_NODEJS_PROCESSES: {{ .Env.NUMBER_OF_BACKEND_NODEJS_PROCESSES }}
|
||||
volumes:
|
||||
- bigbluebutton:/var/bigbluebutton
|
||||
- vol-freeswitch:/var/freeswitch/meetings
|
||||
@ -34,6 +67,32 @@ services:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.2
|
||||
|
||||
|
||||
{{ range $i := loop 0 (atoi .Env.NUMBER_OF_BACKEND_NODEJS_PROCESSES) }}
|
||||
html5-backend-{{ add $i 1 }}:
|
||||
<<: *html5backend
|
||||
environment:
|
||||
<<: *html5backend-env
|
||||
INSTANCE_ID: {{ add $i 1 }}
|
||||
PORT: {{ add 4000 $i }}
|
||||
networks:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.{{ add 100 $i }}
|
||||
{{end}}
|
||||
|
||||
{{ range $i := loop 0 (atoi .Env.NUMBER_OF_FRONTEND_NODEJS_PROCESSES) }}
|
||||
html5-frontend-{{ add $i 1 }}:
|
||||
<<: *html5frontend
|
||||
environment:
|
||||
<<: *html5frontend-env
|
||||
INSTANCE_ID: {{ add $i 1 }}
|
||||
PORT: {{ add 4100 $i }}
|
||||
networks:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.{{ add 200 $i }}
|
||||
{{end}}
|
||||
|
||||
|
||||
freeswitch:
|
||||
build: mod/freeswitch
|
||||
restart: unless-stopped
|
||||
@ -64,7 +123,7 @@ services:
|
||||
depends_on:
|
||||
- etherpad
|
||||
- webrtc-sfu
|
||||
- html5
|
||||
- html5-backend-1
|
||||
volumes:
|
||||
- bigbluebutton:/var/bigbluebutton
|
||||
- html5-static:/html5-static:ro
|
||||
@ -155,33 +214,6 @@ services:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.10
|
||||
|
||||
html5:
|
||||
build: mod/html5
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- redis
|
||||
- mongodb
|
||||
- etherpad
|
||||
cap_add:
|
||||
- SYS_NICE
|
||||
volumes:
|
||||
- html5-static:/html5-static:rw
|
||||
environment:
|
||||
DOMAIN: ${DOMAIN}
|
||||
CLIENT_TITLE: ${CLIENT_TITLE}
|
||||
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
|
||||
LISTEN_ONLY_MODE: ${LISTEN_ONLY_MODE:-true}
|
||||
DISABLE_ECHO_TEST: ${DISABLE_ECHO_TEST:-false}
|
||||
AUTO_SHARE_WEBCAM: ${AUTO_SHARE_WEBCAM:-false}
|
||||
DISABLE_VIDEO_PREVIEW: ${DISABLE_VIDEO_PREVIEW:-false}
|
||||
CHAT_ENABLED: ${CHAT_ENABLED:-true}
|
||||
CHAT_START_CLOSED: ${CHAT_START_CLOSED:-false}
|
||||
BREAKOUTROOM_LIMIT: ${BREAKOUTROOM_LIMIT:-8}
|
||||
DEV_MODE: ${DEV_MODE:-}
|
||||
networks:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.11
|
||||
|
||||
fsesl-akka:
|
||||
build: mod/fsesl-akka
|
||||
depends_on:
|
||||
@ -340,7 +372,7 @@ services:
|
||||
{{ if isTrue .Env.ENABLE_PROMETHEUS_EXPORTER }}
|
||||
# prometheus
|
||||
prometheus-exporter:
|
||||
image: greenstatic/bigbluebutton-exporter:v0.6.0
|
||||
image: greenstatic/bigbluebutton-exporter:v0.7.0-preview2
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
API_BASE_URL: http://10.7.7.1:8080/bigbluebutton/api/
|
||||
|
@ -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-alpha-6
|
||||
ENV TAG_COMMON_MESSAGE v2.3-alpha-7
|
||||
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-alpha-6
|
||||
ENV TAG v2.3-alpha-7
|
||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-apps /source \
|
||||
&& rm -rf /source/.svn
|
||||
|
||||
|
@ -85,6 +85,8 @@ voiceConf {
|
||||
checkRecordingInterval = 23
|
||||
# Internval seconds to sync voice users status.
|
||||
syncUserStatusInterval = 41
|
||||
# Voice users with no matching user record
|
||||
ejectRogueVoiceUsers = true
|
||||
}
|
||||
|
||||
recording {
|
||||
|
@ -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-alpha-6
|
||||
ENV TAG_COMMON_MESSAGE v2.3-alpha-7
|
||||
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-alpha-6
|
||||
ENV TAG_COMMON_WEB v2.3-alpha-7
|
||||
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-alpha-6
|
||||
ENV TAG_WEB v2.3-alpha-7
|
||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_WEB/bigbluebutton-web /bbb-web \
|
||||
&& rm -rf /bbb-web/.svn
|
||||
|
||||
|
@ -252,13 +252,13 @@ 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/%%INSTANCEID%%/join
|
||||
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/%%INSTANCEID%%/guestWait
|
||||
defaultGuestWaitURL=${bigbluebutton.web.serverURL}/html5client/guestWait
|
||||
|
||||
# The default avatar image to display.
|
||||
useDefaultAvatar=false
|
||||
|
@ -24,6 +24,8 @@ mkdir -p /var/bigbluebutton/deleted
|
||||
mkdir -p /var/bigbluebutton/unpublished
|
||||
chown -R bigbluebutton:bigbluebutton /var/bigbluebutton
|
||||
|
||||
echo "$NUMBER_OF_BACKEND_NODEJS_PROCESSES" > /tmp/NUMBER_OF_BACKEND_NODEJS_PROCESSES
|
||||
|
||||
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 \
|
||||
|
@ -1,3 +1,8 @@
|
||||
#!/bin/bash
|
||||
echo "(mocked-ps for HTML5LoadBalancingService.java)"
|
||||
echo " 0.1 /usr/share/node-v12.16.1-linux-x64/bin/node main.js INFO_INSTANCE_ID=1"
|
||||
|
||||
# fake random process load to distribute meetings equally
|
||||
for i in `seq $(cat /tmp/NUMBER_OF_BACKEND_NODEJS_PROCESSES)`; do
|
||||
randomLoad=$(echo $(( $RANDOM % 100 )))
|
||||
echo " $randomLoad.1 /usr/share/node-v12.16.1-linux-x64/bin/node main.js NODEJS_BACKEND_INSTANCE_ID=$i"
|
||||
done
|
||||
|
@ -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-alpha-6
|
||||
ENV TAG_COMMON_MESSAGE v2.3-alpha-7
|
||||
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-alpha-6
|
||||
ENV TAG_FSESL v2.3-alpha-7
|
||||
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-alpha-6
|
||||
ENV TAG v2.3-alpha-7
|
||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-fsesl /source \
|
||||
&& rm -rf /source/.svn
|
||||
|
||||
|
@ -14,13 +14,13 @@ 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-alpha-6
|
||||
ENV TAG v2.3-alpha-7
|
||||
RUN cd ~ \
|
||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
|
||||
&& mv ~/bigbluebutton-html5 ~/source \
|
||||
&& cd ~/source \
|
||||
&& ~/.meteor/meteor npm install --production \
|
||||
&& ~/.meteor/meteor build --directory ~/app \
|
||||
&& METEOR_DISABLE_OPTIMISTIC_CACHING=1 ~/.meteor/meteor build --directory ~/app \
|
||||
&& rm -rf ~/source
|
||||
|
||||
RUN cd ~/app/bundle/programs/server \
|
||||
@ -41,4 +41,4 @@ COPY settings.yml /app/programs/server/assets/app/config/settings.yml.tmpl
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
# lets set the tag again, so that it is include in the image for later version retrieval
|
||||
ENV TAG v2.3-alpha-6
|
||||
ENV TAG v2.3-alpha-7
|
||||
|
@ -4,6 +4,7 @@ set -e
|
||||
cd /app
|
||||
export MONGO_OPLOG_URL=mongodb://10.7.7.6/local
|
||||
export MONGO_URL=mongodb://10.7.7.6/meteor
|
||||
export ROOT_URL=http://127.0.0.1/html5client
|
||||
export NODE_ENV=production
|
||||
export SERVER_WEBSOCKET_COMPRESSION=0
|
||||
export BIND_IP=0.0.0.0
|
||||
@ -17,24 +18,26 @@ 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
|
||||
if [ "$BBB_HTML5_ROLE" == "backend" ]; then
|
||||
PARAM=NODEJS_BACKEND_INSTANCE_ID=$INSTANCE_ID
|
||||
fi
|
||||
|
||||
|
||||
# TODO: start multiple instances (introduced with v2.3-alpha-3)
|
||||
# https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.3-alpha-3
|
||||
# if container is the first frontend, do some additional tasks
|
||||
if [ "$BBB_HTML5_ROLE" == "frontend" ] && [ "$INSTANCE_ID" == "1" ]; then
|
||||
# delete potential old settings.yml
|
||||
|
||||
export INSTANCE_ID=1
|
||||
export ROOT_URL=http://127.0.0.1/html5client/$INSTANCE_ID
|
||||
export PORT=4000
|
||||
# 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
|
||||
|
||||
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 \
|
||||
nice -n-2 \
|
||||
su-exec meteor \
|
||||
node --max-old-space-size=2048 --max_semi_space_size=128 main.js
|
||||
su-exec meteor \
|
||||
node --max-old-space-size=2048 --max_semi_space_size=128 main.js $PARAM
|
||||
|
@ -12,7 +12,7 @@ public:
|
||||
appName: BigBlueButton HTML5 Client
|
||||
bbbServerVersion: 2.3-dev-docker
|
||||
copyright: '©2021 BigBlueButton Inc.'
|
||||
html5ClientBuild: "1353-docker"
|
||||
html5ClientBuild: "1394-docker"
|
||||
helpLink: https://bigbluebutton.org/html5/
|
||||
lockOnJoin: true
|
||||
cdn: ''
|
||||
@ -43,7 +43,9 @@ public:
|
||||
# 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.
|
||||
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
||||
breakouts:
|
||||
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
||||
sendInvitationToIncludedModerators: false
|
||||
# https://github.com/bigbluebutton/bigbluebutton/pull/10826
|
||||
customHeartbeat: true
|
||||
defaultSettings:
|
||||
@ -263,7 +265,7 @@ public:
|
||||
profile: low-u30
|
||||
pagination:
|
||||
# whether to globally enable or disable pagination.
|
||||
enabled: false
|
||||
enabled: true
|
||||
# how long (in ms) the negotiation will be debounced after a page change.
|
||||
pageChangeDebounceTime: 2500
|
||||
# video page sizes for DESKTOP endpoints. It stands for the number of SUBSCRIBER streams.
|
||||
@ -271,11 +273,11 @@ public:
|
||||
# A page size of 0 (zero) means that the page size is unlimited (disabled).
|
||||
desktopPageSizes:
|
||||
moderator: 0
|
||||
viewer: 5
|
||||
viewer: 0
|
||||
# video page sizes for MOBILE endpoints
|
||||
mobilePageSizes:
|
||||
moderator: 2
|
||||
viewer: 2
|
||||
moderator: 6
|
||||
viewer: 4
|
||||
syncUsersWithConnectionManager:
|
||||
enabled: false
|
||||
syncInterval: 60000
|
||||
@ -314,6 +316,7 @@ public:
|
||||
storage_key: UNREAD_CHATS
|
||||
system_messages_keys:
|
||||
chat_clear: PUBLIC_CHAT_CLEAR
|
||||
chat_poll_result: PUBLIC_CHAT_POLL_RESULT
|
||||
typingIndicator:
|
||||
enabled: true
|
||||
note:
|
||||
@ -328,6 +331,7 @@ public:
|
||||
layout:
|
||||
autoSwapLayout: false
|
||||
hidePresentation: false
|
||||
showParticipantsOnLogin: true
|
||||
webcamsDefaultPlacement: 'top'
|
||||
media:
|
||||
stunTurnServersFetchAddress: '/bigbluebutton/api/stuns'
|
||||
@ -553,7 +557,7 @@ private:
|
||||
toThirdParty: to-third-party-redis-channel
|
||||
subscribeTo:
|
||||
- to-html5-redis-channel
|
||||
- from-akka-apps-*
|
||||
- from-akka-apps-[^f]*
|
||||
- from-third-party-redis-channel
|
||||
- from-etherpad-redis-channel
|
||||
async:
|
||||
@ -599,3 +603,4 @@ private:
|
||||
version: 10
|
||||
- browser: YandexBrowser
|
||||
version: 19
|
||||
|
@ -1,26 +1,26 @@
|
||||
location @html5client {
|
||||
proxy_pass http://html5:4000;
|
||||
proxy_pass http://poolhtml5servers; # use for production
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
}
|
||||
|
||||
location /html5client/1/compatibility {
|
||||
alias /html5-static/app/compatibility;
|
||||
rewrite ^/html5client/(fonts|compatibility|resources|svgs)/(.*) /html5client/$1/$2;
|
||||
|
||||
location /html5client/compatibility {
|
||||
alias /html5-static/app/compatibility;
|
||||
}
|
||||
location /html5client/1/fonts {
|
||||
alias /html5-static/app/fonts;
|
||||
}
|
||||
location /html5client/1/resources {
|
||||
|
||||
location /html5client/resources {
|
||||
alias /html5-static/app/resources;
|
||||
}
|
||||
location /html5client/1/svgs {
|
||||
|
||||
location /html5client/svgs {
|
||||
alias /html5-static/app/svgs;
|
||||
}
|
||||
|
||||
location /html5client/1 {
|
||||
alias /html5-static;
|
||||
try_files $uri @html5client;
|
||||
location /html5client/fonts {
|
||||
alias /html5-static/app/fonts;
|
||||
}
|
||||
|
||||
location /html5client/ {
|
||||
@ -28,6 +28,3 @@ location /html5client/ {
|
||||
try_files $uri @html5client;
|
||||
}
|
||||
|
||||
location /_timesync {
|
||||
proxy_pass http://html5:4000;
|
||||
}
|
||||
|
@ -3,6 +3,19 @@ map $remote_addr $freeswitch_addr {
|
||||
default 10.7.7.1;
|
||||
}
|
||||
|
||||
upstream poolhtml5servers {
|
||||
zone poolhtml5servers 32k;
|
||||
least_conn;
|
||||
server 10.7.7.200:4100 fail_timeout=3s fail_timeout=10s max_fails=4 backup;
|
||||
server 10.7.7.201:4101 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
server 10.7.7.202:4102 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
server 10.7.7.203:4103 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
server 10.7.7.204:4104 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
server 10.7.7.205:4105 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
server 10.7.7.206:4106 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
server 10.7.7.207:4107 fail_timeout=2s fail_timeout=60s max_fails=2;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
listen [::]:8080 default_server;
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
FROM ruby:2.4-slim-buster
|
||||
FROM ruby:2.5-slim-buster
|
||||
|
||||
# install apt dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
@ -39,7 +39,7 @@ RUN mkdir -p \
|
||||
/usr/local/bigbluebutton/core \
|
||||
/etc/bigbluebutton
|
||||
|
||||
ENV TAG v2.3-alpha-6
|
||||
ENV TAG v2.3-alpha-7
|
||||
|
||||
# add bbb-record-core (lib, scripts and Gemfile)
|
||||
RUN cd /usr/local/bigbluebutton/core \
|
||||
|
@ -13,7 +13,7 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI
|
||||
USER webhooks
|
||||
|
||||
|
||||
ENV TAG v2.3-alpha-6
|
||||
ENV TAG v2.3-alpha-7
|
||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bbb-webhooks /app \
|
||||
&& rm -rf /app/.svn \
|
||||
&& cd /app && npm install --production
|
||||
|
13
sample.env
13
sample.env
@ -137,6 +137,19 @@ DISABLE_SOUND_ALONE=false
|
||||
# this value to be kept under 12.
|
||||
BREAKOUTROOM_LIMIT=8
|
||||
|
||||
# ====================================
|
||||
# Tuning
|
||||
# ====================================
|
||||
# Default = 1; Min = 1; Max = 4
|
||||
# On powerful systems with high number of meetings you can set values up to 4 to accelerate handling of events
|
||||
NUMBER_OF_BACKEND_NODEJS_PROCESSES=1
|
||||
|
||||
# Default = 1; Min = 1; Max = 8
|
||||
# Set a number between 1 and 4 times the value of NUMBER_OF_BACKEND_NODEJS_PROCESSES where higher number helps with meetings
|
||||
# stretching the recommended number of users in BigBlueButton
|
||||
NUMBER_OF_FRONTEND_NODEJS_PROCESSES=1
|
||||
|
||||
|
||||
# ====================================
|
||||
# GREENLIGHT CONFIGURATION
|
||||
# ====================================
|
||||
|
@ -45,5 +45,7 @@ docker run \
|
||||
-e ENABLE_COTURN=${ENABLE_COTURN:-false} \
|
||||
-e ENABLE_GREENLIGHT=${ENABLE_GREENLIGHT:-false} \
|
||||
-e ENABLE_PROMETHEUS_EXPORTER=${ENABLE_PROMETHEUS_EXPORTER:-false} \
|
||||
-e NUMBER_OF_BACKEND_NODEJS_PROCESSES=${NUMBER_OF_BACKEND_NODEJS_PROCESSES:-1} \
|
||||
-e NUMBER_OF_FRONTEND_NODEJS_PROCESSES=${NUMBER_OF_FRONTEND_NODEJS_PROCESSES:-1} \
|
||||
jwilder/dockerize -template /docker-compose.tmpl.yml \
|
||||
> docker-compose.yml
|
Loading…
Reference in New Issue
Block a user