mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-11-22 08:03:19 +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
|
## What does not work
|
||||||
- probably a lot - it's in an alpha state!
|
- probably a lot - it's in an alpha state!
|
||||||
- Load balancing of html5 meteor processes
|
|
||||||
- bbb-lti
|
- bbb-lti
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
@ -5,6 +5,38 @@
|
|||||||
|
|
||||||
version: '3.6'
|
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:
|
services:
|
||||||
bbb-web:
|
bbb-web:
|
||||||
build: mod/bbb-web
|
build: mod/bbb-web
|
||||||
@ -25,6 +57,7 @@ services:
|
|||||||
STUN_SERVER: stun:${STUN_IP}:${STUN_PORT}
|
STUN_SERVER: stun:${STUN_IP}:${STUN_PORT}
|
||||||
TURN_SERVER: ${TURN_SERVER:-}
|
TURN_SERVER: ${TURN_SERVER:-}
|
||||||
TURN_SECRET: ${TURN_SECRET:-}
|
TURN_SECRET: ${TURN_SECRET:-}
|
||||||
|
NUMBER_OF_BACKEND_NODEJS_PROCESSES: {{ .Env.NUMBER_OF_BACKEND_NODEJS_PROCESSES }}
|
||||||
volumes:
|
volumes:
|
||||||
- bigbluebutton:/var/bigbluebutton
|
- bigbluebutton:/var/bigbluebutton
|
||||||
- vol-freeswitch:/var/freeswitch/meetings
|
- vol-freeswitch:/var/freeswitch/meetings
|
||||||
@ -34,6 +67,32 @@ services:
|
|||||||
bbb-net:
|
bbb-net:
|
||||||
ipv4_address: 10.7.7.2
|
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:
|
freeswitch:
|
||||||
build: mod/freeswitch
|
build: mod/freeswitch
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -64,7 +123,7 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- etherpad
|
- etherpad
|
||||||
- webrtc-sfu
|
- webrtc-sfu
|
||||||
- html5
|
- html5-backend-1
|
||||||
volumes:
|
volumes:
|
||||||
- bigbluebutton:/var/bigbluebutton
|
- bigbluebutton:/var/bigbluebutton
|
||||||
- html5-static:/html5-static:ro
|
- html5-static:/html5-static:ro
|
||||||
@ -155,33 +214,6 @@ services:
|
|||||||
bbb-net:
|
bbb-net:
|
||||||
ipv4_address: 10.7.7.10
|
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:
|
fsesl-akka:
|
||||||
build: mod/fsesl-akka
|
build: mod/fsesl-akka
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -340,7 +372,7 @@ services:
|
|||||||
{{ if isTrue .Env.ENABLE_PROMETHEUS_EXPORTER }}
|
{{ if isTrue .Env.ENABLE_PROMETHEUS_EXPORTER }}
|
||||||
# prometheus
|
# prometheus
|
||||||
prometheus-exporter:
|
prometheus-exporter:
|
||||||
image: greenstatic/bigbluebutton-exporter:v0.6.0
|
image: greenstatic/bigbluebutton-exporter:v0.7.0-preview2
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
API_BASE_URL: http://10.7.7.1:8080/bigbluebutton/api/
|
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
|
RUN apt-get update && apt-get install -y subversion
|
||||||
|
|
||||||
# download bbb-common-message
|
# 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 \
|
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-alpha-6
|
ENV TAG v2.3-alpha-7
|
||||||
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
|
||||||
|
|
||||||
|
@ -85,6 +85,8 @@ voiceConf {
|
|||||||
checkRecordingInterval = 23
|
checkRecordingInterval = 23
|
||||||
# Internval seconds to sync voice users status.
|
# Internval seconds to sync voice users status.
|
||||||
syncUserStatusInterval = 41
|
syncUserStatusInterval = 41
|
||||||
|
# Voice users with no matching user record
|
||||||
|
ejectRogueVoiceUsers = true
|
||||||
}
|
}
|
||||||
|
|
||||||
recording {
|
recording {
|
||||||
|
@ -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-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 \
|
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-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 \
|
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-alpha-6
|
ENV TAG_WEB v2.3-alpha-7
|
||||||
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
|
||||||
|
|
||||||
|
@ -252,13 +252,13 @@ bigbluebutton.web.logoutURL=default
|
|||||||
|
|
||||||
# The url of the BigBlueButton HTML5 client. Users will be redirected here when
|
# The url of the BigBlueButton HTML5 client. Users will be redirected here when
|
||||||
# successfully joining the meeting.
|
# 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)
|
# Allow requests without JSESSIONID to be handled (default = false)
|
||||||
allowRequestsWithoutSession=false
|
allowRequestsWithoutSession=false
|
||||||
|
|
||||||
# The url for where the guest will poll if approved to join or not.
|
# 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.
|
# The default avatar image to display.
|
||||||
useDefaultAvatar=false
|
useDefaultAvatar=false
|
||||||
|
@ -24,6 +24,8 @@ mkdir -p /var/bigbluebutton/deleted
|
|||||||
mkdir -p /var/bigbluebutton/unpublished
|
mkdir -p /var/bigbluebutton/unpublished
|
||||||
chown -R bigbluebutton:bigbluebutton /var/bigbluebutton
|
chown -R bigbluebutton:bigbluebutton /var/bigbluebutton
|
||||||
|
|
||||||
|
echo "$NUMBER_OF_BACKEND_NODEJS_PROCESSES" > /tmp/NUMBER_OF_BACKEND_NODEJS_PROCESSES
|
||||||
|
|
||||||
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 /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
|
#!/bin/bash
|
||||||
echo "(mocked-ps for HTML5LoadBalancingService.java)"
|
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
|
RUN apt-get update && apt-get install -y subversion
|
||||||
|
|
||||||
# download bbb-common-message
|
# 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 \
|
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-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 \
|
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-alpha-6
|
ENV TAG v2.3-alpha-7
|
||||||
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,13 +14,13 @@ 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-alpha-6
|
ENV TAG v2.3-alpha-7
|
||||||
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 \
|
||||||
&& cd ~/source \
|
&& cd ~/source \
|
||||||
&& ~/.meteor/meteor npm install --production \
|
&& ~/.meteor/meteor npm install --production \
|
||||||
&& ~/.meteor/meteor build --directory ~/app \
|
&& METEOR_DISABLE_OPTIMISTIC_CACHING=1 ~/.meteor/meteor build --directory ~/app \
|
||||||
&& rm -rf ~/source
|
&& rm -rf ~/source
|
||||||
|
|
||||||
RUN cd ~/app/bundle/programs/server \
|
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"]
|
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
|
||||||
ENV TAG v2.3-alpha-6
|
ENV TAG v2.3-alpha-7
|
||||||
|
@ -4,6 +4,7 @@ set -e
|
|||||||
cd /app
|
cd /app
|
||||||
export MONGO_OPLOG_URL=mongodb://10.7.7.6/local
|
export MONGO_OPLOG_URL=mongodb://10.7.7.6/local
|
||||||
export MONGO_URL=mongodb://10.7.7.6/meteor
|
export MONGO_URL=mongodb://10.7.7.6/meteor
|
||||||
|
export ROOT_URL=http://127.0.0.1/html5client
|
||||||
export NODE_ENV=production
|
export NODE_ENV=production
|
||||||
export SERVER_WEBSOCKET_COMPRESSION=0
|
export SERVER_WEBSOCKET_COMPRESSION=0
|
||||||
export BIND_IP=0.0.0.0
|
export BIND_IP=0.0.0.0
|
||||||
@ -17,24 +18,26 @@ 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
|
if [ "$BBB_HTML5_ROLE" == "backend" ]; then
|
||||||
# https://github.com/bigbluebutton/bigbluebutton/issues/10739
|
PARAM=NODEJS_BACKEND_INSTANCE_ID=$INSTANCE_ID
|
||||||
if [ -d "/html5-static" ]; then
|
|
||||||
rm -rf /html5-static/*
|
|
||||||
cp -r /app/programs/web.browser/* /html5-static
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# TODO: start multiple instances (introduced with v2.3-alpha-3)
|
# if container is the first frontend, do some additional tasks
|
||||||
# https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.3-alpha-3
|
if [ "$BBB_HTML5_ROLE" == "frontend" ] && [ "$INSTANCE_ID" == "1" ]; then
|
||||||
|
# delete potential old settings.yml
|
||||||
|
|
||||||
export INSTANCE_ID=1
|
# copy static files into volume for direct access by nginx
|
||||||
export ROOT_URL=http://127.0.0.1/html5client/$INSTANCE_ID
|
# https://github.com/bigbluebutton/bigbluebutton/issues/10739
|
||||||
export PORT=4000
|
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
|
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 \
|
||||||
nice -n-2 \
|
su-exec meteor \
|
||||||
su-exec meteor \
|
node --max-old-space-size=2048 --max_semi_space_size=128 main.js $PARAM
|
||||||
node --max-old-space-size=2048 --max_semi_space_size=128 main.js
|
|
||||||
|
@ -12,7 +12,7 @@ public:
|
|||||||
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: "1353-docker"
|
html5ClientBuild: "1394-docker"
|
||||||
helpLink: https://bigbluebutton.org/html5/
|
helpLink: https://bigbluebutton.org/html5/
|
||||||
lockOnJoin: true
|
lockOnJoin: true
|
||||||
cdn: ''
|
cdn: ''
|
||||||
@ -43,7 +43,9 @@ public:
|
|||||||
# 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 12.
|
||||||
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
breakouts:
|
||||||
|
breakoutRoomLimit: {{ .Env.BREAKOUTROOM_LIMIT }}
|
||||||
|
sendInvitationToIncludedModerators: false
|
||||||
# https://github.com/bigbluebutton/bigbluebutton/pull/10826
|
# https://github.com/bigbluebutton/bigbluebutton/pull/10826
|
||||||
customHeartbeat: true
|
customHeartbeat: true
|
||||||
defaultSettings:
|
defaultSettings:
|
||||||
@ -263,7 +265,7 @@ public:
|
|||||||
profile: low-u30
|
profile: low-u30
|
||||||
pagination:
|
pagination:
|
||||||
# whether to globally enable or disable 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.
|
# how long (in ms) the negotiation will be debounced after a page change.
|
||||||
pageChangeDebounceTime: 2500
|
pageChangeDebounceTime: 2500
|
||||||
# video page sizes for DESKTOP endpoints. It stands for the number of SUBSCRIBER streams.
|
# 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).
|
# A page size of 0 (zero) means that the page size is unlimited (disabled).
|
||||||
desktopPageSizes:
|
desktopPageSizes:
|
||||||
moderator: 0
|
moderator: 0
|
||||||
viewer: 5
|
viewer: 0
|
||||||
# video page sizes for MOBILE endpoints
|
# video page sizes for MOBILE endpoints
|
||||||
mobilePageSizes:
|
mobilePageSizes:
|
||||||
moderator: 2
|
moderator: 6
|
||||||
viewer: 2
|
viewer: 4
|
||||||
syncUsersWithConnectionManager:
|
syncUsersWithConnectionManager:
|
||||||
enabled: false
|
enabled: false
|
||||||
syncInterval: 60000
|
syncInterval: 60000
|
||||||
@ -314,6 +316,7 @@ public:
|
|||||||
storage_key: UNREAD_CHATS
|
storage_key: UNREAD_CHATS
|
||||||
system_messages_keys:
|
system_messages_keys:
|
||||||
chat_clear: PUBLIC_CHAT_CLEAR
|
chat_clear: PUBLIC_CHAT_CLEAR
|
||||||
|
chat_poll_result: PUBLIC_CHAT_POLL_RESULT
|
||||||
typingIndicator:
|
typingIndicator:
|
||||||
enabled: true
|
enabled: true
|
||||||
note:
|
note:
|
||||||
@ -328,6 +331,7 @@ public:
|
|||||||
layout:
|
layout:
|
||||||
autoSwapLayout: false
|
autoSwapLayout: false
|
||||||
hidePresentation: false
|
hidePresentation: false
|
||||||
|
showParticipantsOnLogin: true
|
||||||
webcamsDefaultPlacement: 'top'
|
webcamsDefaultPlacement: 'top'
|
||||||
media:
|
media:
|
||||||
stunTurnServersFetchAddress: '/bigbluebutton/api/stuns'
|
stunTurnServersFetchAddress: '/bigbluebutton/api/stuns'
|
||||||
@ -553,7 +557,7 @@ private:
|
|||||||
toThirdParty: to-third-party-redis-channel
|
toThirdParty: to-third-party-redis-channel
|
||||||
subscribeTo:
|
subscribeTo:
|
||||||
- to-html5-redis-channel
|
- to-html5-redis-channel
|
||||||
- from-akka-apps-*
|
- from-akka-apps-[^f]*
|
||||||
- from-third-party-redis-channel
|
- from-third-party-redis-channel
|
||||||
- from-etherpad-redis-channel
|
- from-etherpad-redis-channel
|
||||||
async:
|
async:
|
||||||
@ -599,3 +603,4 @@ private:
|
|||||||
version: 10
|
version: 10
|
||||||
- browser: YandexBrowser
|
- browser: YandexBrowser
|
||||||
version: 19
|
version: 19
|
||||||
|
|
@ -1,26 +1,26 @@
|
|||||||
location @html5client {
|
location @html5client {
|
||||||
proxy_pass http://html5:4000;
|
proxy_pass http://poolhtml5servers; # use for production
|
||||||
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/1/compatibility {
|
rewrite ^/html5client/(fonts|compatibility|resources|svgs)/(.*) /html5client/$1/$2;
|
||||||
alias /html5-static/app/compatibility;
|
|
||||||
|
location /html5client/compatibility {
|
||||||
|
alias /html5-static/app/compatibility;
|
||||||
}
|
}
|
||||||
location /html5client/1/fonts {
|
|
||||||
alias /html5-static/app/fonts;
|
location /html5client/resources {
|
||||||
}
|
|
||||||
location /html5client/1/resources {
|
|
||||||
alias /html5-static/app/resources;
|
alias /html5-static/app/resources;
|
||||||
}
|
}
|
||||||
location /html5client/1/svgs {
|
|
||||||
|
location /html5client/svgs {
|
||||||
alias /html5-static/app/svgs;
|
alias /html5-static/app/svgs;
|
||||||
}
|
}
|
||||||
|
|
||||||
location /html5client/1 {
|
location /html5client/fonts {
|
||||||
alias /html5-static;
|
alias /html5-static/app/fonts;
|
||||||
try_files $uri @html5client;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
location /html5client/ {
|
location /html5client/ {
|
||||||
@ -28,6 +28,3 @@ location /html5client/ {
|
|||||||
try_files $uri @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;
|
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 {
|
server {
|
||||||
listen 8080 default_server;
|
listen 8080 default_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
|
# install apt dependencies
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -39,7 +39,7 @@ RUN mkdir -p \
|
|||||||
/usr/local/bigbluebutton/core \
|
/usr/local/bigbluebutton/core \
|
||||||
/etc/bigbluebutton
|
/etc/bigbluebutton
|
||||||
|
|
||||||
ENV TAG v2.3-alpha-6
|
ENV TAG v2.3-alpha-7
|
||||||
|
|
||||||
# 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 \
|
||||||
|
@ -13,7 +13,7 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI
|
|||||||
USER webhooks
|
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 \
|
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bbb-webhooks /app \
|
||||||
&& rm -rf /app/.svn \
|
&& rm -rf /app/.svn \
|
||||||
&& cd /app && npm install --production
|
&& 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.
|
# this value to be kept under 12.
|
||||||
BREAKOUTROOM_LIMIT=8
|
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
|
# GREENLIGHT CONFIGURATION
|
||||||
# ====================================
|
# ====================================
|
||||||
|
@ -45,5 +45,7 @@ docker run \
|
|||||||
-e ENABLE_COTURN=${ENABLE_COTURN:-false} \
|
-e ENABLE_COTURN=${ENABLE_COTURN:-false} \
|
||||||
-e ENABLE_GREENLIGHT=${ENABLE_GREENLIGHT:-false} \
|
-e ENABLE_GREENLIGHT=${ENABLE_GREENLIGHT:-false} \
|
||||||
-e ENABLE_PROMETHEUS_EXPORTER=${ENABLE_PROMETHEUS_EXPORTER:-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 \
|
jwilder/dockerize -template /docker-compose.tmpl.yml \
|
||||||
> docker-compose.yml
|
> docker-compose.yml
|
Loading…
Reference in New Issue
Block a user