mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-11-22 16:13:20 +01:00
support for v2.3-alpha
This commit is contained in:
parent
6b583ac565
commit
2c6116d56c
@ -1,17 +1,12 @@
|
||||
FROM ubuntu:16.04
|
||||
FROM ubuntu:18.04
|
||||
MAINTAINER ffdixon@bigbluebutton.org
|
||||
|
||||
# TODO:
|
||||
# - separate bbb-apps into an own container
|
||||
# - separate bbb-web
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV container docker
|
||||
ENV DOCKERIZE_VERSION v0.6.1
|
||||
|
||||
RUN apt-get update && apt-get install -y software-properties-common language-pack-en wget apt-utils
|
||||
RUN update-locale LANG=en_US.UTF-8
|
||||
RUN LC_CTYPE=C.UTF-8 add-apt-repository ppa:rmescandon/yq
|
||||
|
||||
# install dockerize
|
||||
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
||||
@ -22,12 +17,13 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI
|
||||
# RUN apt-get install -y tcpdump telnet htop vim
|
||||
|
||||
# -- Install Dependencies
|
||||
RUN apt-get install -y supervisor apt-transport-https equivs libreoffice haveged ttf-liberation net-tools
|
||||
RUN (echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections) \
|
||||
&& apt-get install -y supervisor apt-transport-https equivs libreoffice haveged ttf-mscorefonts-installer fonts-crosextra-carlito fonts-crosextra-caladea fonts-noto net-tools
|
||||
|
||||
# bbb repo & packages
|
||||
RUN LC_CTYPE=C.UTF-8 add-apt-repository ppa:bigbluebutton/support
|
||||
RUN sh -c 'wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add -' \
|
||||
&& sh -c 'echo "deb https://ubuntu.bigbluebutton.org/xenial-22 bigbluebutton-xenial main" > /etc/apt/sources.list.d/bigbluebutton.list'
|
||||
RUN sh -c 'wget https://packages-eu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add -' \
|
||||
&& sh -c 'echo "deb https://ubuntu.bigbluebutton.org/bionic-230-dev bigbluebutton-bionic main" > /etc/apt/sources.list.d/bigbluebutton.list'
|
||||
|
||||
# create dummy packages to satisfy dependencies
|
||||
RUN equivs-control redis-server.control \
|
||||
@ -38,15 +34,9 @@ RUN equivs-control redis-server.control \
|
||||
|
||||
# this variable is not used, but it triggers
|
||||
# rebuilding from here on if changed
|
||||
ENV VERSION v2.2.31
|
||||
ENV VERSION v2.3-alpha-1
|
||||
|
||||
RUN apt-get update && apt-get install -y bbb-web \
|
||||
bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \
|
||||
bbb-apps-video bbb-apps-screenshare bbb-apps-video-broadcast
|
||||
|
||||
# -- avoid blocking java
|
||||
# https://github.com/bigbluebutton/bigbluebutton/issues/8959
|
||||
RUN sed -i 's|securerandom.source=file:/dev/random|securerandom.source=file:/dev/urandom|g' /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
|
||||
RUN apt-get update && apt-get install -y bbb-web bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka
|
||||
|
||||
# add blank presentation files and allow conversation to pdf/svg
|
||||
RUN mkdir -p /usr/share/bigbluebutton/blank \
|
||||
@ -58,15 +48,6 @@ RUN mkdir -p /usr/share/bigbluebutton/blank \
|
||||
|
||||
|
||||
# -- copy configuration files
|
||||
COPY red5-webapps/bigbluebutton/application.conf /usr/share/red5/webapps/bigbluebutton/WEB-INF/classes/application.conf
|
||||
COPY red5-webapps/bigbluebutton/bigbluebutton.properties /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
|
||||
COPY red5-webapps/bigbluebutton/redis.properties /usr/share/red5/webapps/bigbluebutton/WEB-INF/redis.properties
|
||||
COPY red5-webapps/sip/bigbluebutton-sip.properties /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties
|
||||
COPY red5-webapps/screenshare/screenshare.properties /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties
|
||||
COPY red5-webapps/screenshare/screenshare-app.conf /usr/share/red5/webapps/screenshare/WEB-INF/classes/screenshare-app.conf
|
||||
COPY red5-webapps/screenshare/application.conf /usr/share/red5/webapps/screenshare/WEB-INF/classes/application.conf
|
||||
COPY red5-webapps/video/bigbluebutton-video.properties /usr/share/red5/webapps/video/WEB-INF/bigbluebutton-video.properties
|
||||
COPY red5-webapps/video-broadcast/video-broadcast.properties /usr/share/red5/webapps/video-broadcast/WEB-INF/video-broadcast.properties
|
||||
|
||||
COPY web/bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl
|
||||
COPY web/turn-stun-servers.xml /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml.tmpl
|
||||
|
@ -4,4 +4,3 @@ based on the bigbluebutton/docker with bbb-install.sh setup, but got so far redu
|
||||
- bbb-fsesl-akka
|
||||
- bbb-apps-akka
|
||||
- bbb-transcode-akka
|
||||
- bbb-apps-(video|screenshare|video-broadcast)
|
||||
|
@ -1,43 +0,0 @@
|
||||
akka {
|
||||
actor {
|
||||
debug {
|
||||
# enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
|
||||
autoreceive = on
|
||||
# enable DEBUG logging of actor lifecycle changes
|
||||
lifecycle = on
|
||||
}
|
||||
}
|
||||
loggers = ["akka.event.slf4j.Slf4jLogger"]
|
||||
loglevel = "DEBUG"
|
||||
|
||||
redis-publish-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
|
||||
redis-subscriber-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
}
|
||||
|
||||
redis {
|
||||
host="redis"
|
||||
port=6379
|
||||
password=""
|
||||
# recording keys should expire in 14 days
|
||||
keyExpiry=1209600
|
||||
}
|
||||
|
||||
eventBus {
|
||||
meetingManagerChannel = "FROM APPLICATION.CONF MeetingManagerChannel"
|
||||
outMessageChannel = "OutgoingMessageChannel"
|
||||
incomingJsonMsgChannel = "IncomingJsonMsgChannel"
|
||||
outBbbMsgMsgChannel = "OutBbbMsgChannel"
|
||||
}
|
@ -1,32 +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/>.
|
||||
#
|
||||
|
||||
# Locate of BBB default meeting dir
|
||||
default.BigBlueButtonDirectory=/var/bigbluebutton
|
||||
|
||||
freeswitch.esl.host=10.7.7.1
|
||||
freeswitch.esl.port=8021
|
||||
freeswitch.esl.password=ClueCon
|
||||
|
||||
redisHost=redis
|
||||
redisPort=6379
|
||||
redisPassword=
|
||||
redisExpireKey=1209600
|
||||
|
||||
# Maximum message length allowed from the client.
|
||||
maxMessageLength=32000
|
@ -1,5 +0,0 @@
|
||||
# Redis settings
|
||||
|
||||
redis.host=redis
|
||||
redis.port=6379
|
||||
redis.pass=
|
@ -1,43 +0,0 @@
|
||||
akka {
|
||||
actor {
|
||||
debug {
|
||||
# enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
|
||||
autoreceive = on
|
||||
# enable DEBUG logging of actor lifecycle changes
|
||||
lifecycle = on
|
||||
}
|
||||
}
|
||||
loggers = ["akka.event.slf4j.Slf4jLogger"]
|
||||
loglevel = "DEBUG"
|
||||
|
||||
redis-publish-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
|
||||
redis-subscriber-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
}
|
||||
|
||||
redis {
|
||||
host="redis"
|
||||
port=6379
|
||||
password=""
|
||||
# recording keys should expire in 14 days
|
||||
keyExpiry=1209600
|
||||
}
|
||||
|
||||
eventBus {
|
||||
meetingManagerChannel = "FROM APPLICATION.CONF MeetingManagerChannel"
|
||||
outMessageChannel = "OutgoingMessageChannel"
|
||||
incomingJsonMsgChannel = "IncomingJsonMsgChannel"
|
||||
outBbbMsgMsgChannel = "OutBbbMsgChannel"
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
akka {
|
||||
actor {
|
||||
debug {
|
||||
# enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
|
||||
autoreceive = on
|
||||
# enable DEBUG logging of actor lifecycle changes
|
||||
lifecycle = on
|
||||
}
|
||||
}
|
||||
loggers = ["akka.event.slf4j.Slf4jLoggerDDD"]
|
||||
loglevel = "DEBUG"
|
||||
|
||||
redis-publish-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
|
||||
redis-subscriber-worker-dispatcher {
|
||||
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
|
||||
# Throughput defines the maximum number of messages to be
|
||||
# processed per actor before the thread jumps to the next actor.
|
||||
# Set to 1 for as fair as possible.
|
||||
throughput = 512
|
||||
}
|
||||
}
|
||||
|
||||
redis {
|
||||
host="redis"
|
||||
port=6379
|
||||
password=""
|
||||
# recording keys should expire in 14 days
|
||||
keyExpiry=1209600
|
||||
}
|
||||
|
||||
eventBus {
|
||||
meetingManagerChannel = "FROM SCREEN-APPLICATION.CONF MeetingManagerChannel"
|
||||
outMessageChannel = "OutgoingMessageChannel"
|
||||
incomingJsonMsgChannel = "IncomingJsonMsgChannel"
|
||||
outBbbMsgMsgChannel = "OutBbbMsgChannel"
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
recordingDirectory=/usr/share/red5/webapps/screenshare/streams
|
||||
|
||||
redis.host=redis
|
||||
redis.port=6379
|
||||
redis.password=
|
||||
redis.keyExpiry=1209600
|
||||
|
||||
streamBaseUrl=rtmp://10.130.218.38/screenshare
|
||||
jnlpUrl=http://10.130.218.38/screenshare
|
||||
jnlpFile=http://10.130.218.38/screenshare/screenshare.jnlp
|
||||
useH264=false
|
||||
|
||||
# NOTES:
|
||||
# 1. GOP (group of pictures) is calculated as frameRate * keyFrameInterval
|
||||
# 2. intra-refresh=1 doesn't work in Chrome. Late comers can't view the stream as
|
||||
# the user missed the key frame
|
||||
# 3. keyFrameInterval is in seconds
|
||||
# 4. Make sure you encode & into & as it will break the JNLP XML
|
||||
#codecOptions=crf=36&preset=veryfast&tune=animation,zerolatency&frameRate=12.0&keyFrameInterval=6
|
||||
codecOptions=crf=38&preset=veryfast&tune=zerolatency&frameRate=5.0&keyFrameInterval=5
|
@ -1,25 +0,0 @@
|
||||
# The ip and port the BBB SIP app is going to use
|
||||
bbb.sip.app.ip=127.0.0.1
|
||||
bbb.sip.app.port=5070
|
||||
|
||||
# The username and password the BBB SIP app to use to
|
||||
# register with FreeSWITCH
|
||||
sip.server.username=bbbuser
|
||||
sip.server.password=secret
|
||||
|
||||
# The ip and port of the FreeSWITCH server
|
||||
freeswitch.ip=10.7.7.1
|
||||
freeswitch.port=5060
|
||||
|
||||
# The start/stop RTP port the application is going to use
|
||||
# for the media stream.
|
||||
startAudioPort=15000
|
||||
stopAudioPort=16383
|
||||
|
||||
redis.host=10.7.7.5
|
||||
redis.port=6379
|
||||
redis.password=
|
||||
|
||||
# If you want mjsip stack (red5/log/*access*.log) to minimize the amount of logs it
|
||||
# generates, set this to a lower value (e.g. 3).
|
||||
sipStackDebugLevel=3
|
@ -1,2 +0,0 @@
|
||||
redis.host=redis
|
||||
redis.port=6379
|
@ -1,5 +0,0 @@
|
||||
redis.host=redis
|
||||
redis.port=6379
|
||||
redis.password=
|
||||
# recording keys should expire in 14 days
|
||||
redis.keyExpiry=1209600
|
@ -1,12 +1,3 @@
|
||||
[program:red5]
|
||||
command=/usr/local/bin/prefix-log /usr/share/red5/red5.sh
|
||||
user=red5
|
||||
directory=/usr/share/red5
|
||||
stdout_logfile=/dev/fd/1
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/fd/2
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
[program:bbb-web]
|
||||
command=/usr/local/bin/prefix-log /usr/share/bbb-web/run-prod.sh
|
||||
user=bigbluebutton
|
||||
|
@ -1,6 +1,6 @@
|
||||
FROM node:8.17.0-buster-slim AS builder
|
||||
FROM node:12-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 python3 build-essential
|
||||
RUN groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor
|
||||
|
||||
|
||||
@ -11,36 +11,24 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI
|
||||
&& rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
||||
|
||||
USER meteor
|
||||
ENV METEOR_VERSION 1.8.1
|
||||
ENV METEOR_VERSION 1.9
|
||||
RUN curl -sL https://install.meteor.com?release=$METEOR_VERSION | sed s/--progress-bar/-sL/g | /bin/sh
|
||||
|
||||
ENV TAG v2.2.31
|
||||
ENV TAG v2.3-alpha-1
|
||||
RUN cd ~ \
|
||||
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
|
||||
&& mv ~/bigbluebutton-html5 ~/source \
|
||||
&& rm -rf ~/source/.svn
|
||||
|
||||
# source modifications for node v12 support:
|
||||
# - remove memwatch since it is not available for node v12 and disabled anyway
|
||||
# - set meteor release to 1.9
|
||||
# - install newer fibers version (4.0.3) which supports node v12
|
||||
|
||||
# RUN sed -i -r 's/import (memwatch|heapdump).*//g' ~/source/imports/startup/server/index.js \
|
||||
# && sed -i -r 's/.*(memwatch|heapdump).*//g' ~/source/package.json \
|
||||
# && echo "METEOR@$METEOR_VERSION" > ~/source/.meteor/release \
|
||||
# && cat ~/source/.meteor/release
|
||||
|
||||
RUN cd ~/source \
|
||||
&& cd ~/source \
|
||||
&& ~/.meteor/meteor npm install --production \
|
||||
&& ~/.meteor/meteor build --directory ~/app \
|
||||
&& rm -r ~/source
|
||||
&& rm -rf ~/source
|
||||
|
||||
RUN cd ~/app/bundle/programs/server \
|
||||
&& npm install --production
|
||||
|
||||
# ------------------------------
|
||||
|
||||
FROM node:8-alpine
|
||||
FROM node:12-alpine
|
||||
|
||||
RUN addgroup -g 2000 meteor && \
|
||||
adduser -D -u 2001 -G meteor meteor && \
|
||||
@ -53,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.2.30
|
||||
ENV TAG v2.3-alpha-1
|
||||
|
@ -45,6 +45,8 @@ public:
|
||||
chatPushAlerts: false
|
||||
userJoinAudioAlerts: false
|
||||
userJoinPushAlerts: false
|
||||
raiseHandAudioAlerts: false
|
||||
raiseHandPushAlerts: false
|
||||
fallbackLocale: en
|
||||
overrideLocale: null
|
||||
audio:
|
||||
@ -96,16 +98,6 @@ public:
|
||||
packetLostThreshold: 10
|
||||
kurento:
|
||||
wsUrl: wss://{{ .Env.DOMAIN }}/bbb-webrtc-sfu
|
||||
# Valid for video-provider. Time (ms) before its WS connection times out
|
||||
# and tries to reconnect.
|
||||
wsConnectionTimeout: 4000
|
||||
cameraTimeouts:
|
||||
# Base camera timeout: used as the camera *sharing* timeout and
|
||||
# as the minimum camera subscribe reconnection timeout
|
||||
baseTimeout: 15000
|
||||
# Max timeout: used as the max camera subscribe reconnection timeout. Each
|
||||
# subscribe reattempt increases the reconnection timer up to this
|
||||
maxTimeout: 60000
|
||||
chromeDefaultExtensionKey: akgoaoikmbmhcopjgakkcepdgdgkjfbc
|
||||
chromeDefaultExtensionLink: https://chrome.google.com/webstore/detail/bigbluebutton-screenshare/akgoaoikmbmhcopjgakkcepdgdgkjfbc
|
||||
chromeExtensionKey: KEY
|
||||
@ -276,6 +268,7 @@ public:
|
||||
layout:
|
||||
autoSwapLayout: false
|
||||
hidePresentation: false
|
||||
webcamsDefaultPlacement: "top"
|
||||
media:
|
||||
stunTurnServersFetchAddress: "/bigbluebutton/api/stuns"
|
||||
cacheStunTurnServers: true
|
||||
@ -304,7 +297,26 @@ public:
|
||||
websocketKeepAliveDebounce: 10
|
||||
#Trace sip/audio messages in browser. If not set, default value is false.
|
||||
traceSip: false
|
||||
stats:
|
||||
enabled: true
|
||||
interval: 2000
|
||||
length: 5
|
||||
log: false
|
||||
jitter:
|
||||
- 10
|
||||
- 20
|
||||
- 30
|
||||
loss:
|
||||
- 0.05
|
||||
- 0.1
|
||||
- 0.2
|
||||
level:
|
||||
- warning
|
||||
- danger
|
||||
- critical
|
||||
help: STATS_HELP_URL
|
||||
presentation:
|
||||
allowDownloadable: true
|
||||
defaultPresentationFile: default.pdf
|
||||
panZoomThrottle: 32
|
||||
restoreOnUpdate: false
|
||||
|
@ -13,7 +13,7 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI
|
||||
USER webhooks
|
||||
|
||||
|
||||
ENV TAG v2.2.20
|
||||
ENV TAG v2.3-alpha-1
|
||||
RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bbb-webhooks /app \
|
||||
&& rm -rf /app/.svn \
|
||||
&& cd /app && npm install --production
|
||||
|
Loading…
Reference in New Issue
Block a user