2017-10-27 21:01:25 +02:00
FROM ubuntu:16.04
MAINTAINER ffdixon@bigbluebutton.org
2020-04-10 11:29:44 +02:00
# TODO:
# - separate bbb-apps into an own container
# - separate bbb-web
# - remove systemd
2017-10-27 21:01:25 +02:00
ENV DEBIAN_FRONTEND noninteractive
2019-12-09 04:34:03 +01:00
ENV container docker
2020-04-10 11:29:44 +02:00
ENV DOCKERIZE_VERSION v0.6.1
2019-12-09 04:34:03 +01:00
2020-05-14 18:59:22 +02:00
RUN apt-get update && apt-get install -y software-properties-common language-pack-en wget apt-utils
2019-01-27 21:45:12 +01:00
RUN update-locale LANG = en_US.UTF-8
2019-12-09 04:34:03 +01:00
RUN LC_CTYPE = C.UTF-8 add-apt-repository ppa:rmescandon/yq
2017-10-27 21:01:25 +02:00
2020-04-10 11:29:44 +02:00
# install dockerize
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION /dockerize-linux-amd64-$DOCKERIZE_VERSION .tar.gz \
&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION .tar.gz \
&& rm dockerize-linux-amd64-$DOCKERIZE_VERSION .tar.gz
2020-04-09 15:43:58 +02:00
2020-04-10 11:29:44 +02:00
# install dev helpers
2020-04-11 11:34:17 +02:00
# RUN apt-get install -y tcpdump telnet htop vim
2017-10-27 21:01:25 +02:00
2020-04-10 11:29:44 +02:00
# -- Install Dependencies
2020-05-14 18:59:22 +02:00
RUN apt-get install -y supervisor apt-transport-https equivs libreoffice haveged ttf-liberation net-tools
2020-04-09 02:11:32 +02:00
2020-04-09 15:43:58 +02:00
# bbb repo & packages
2020-04-09 02:11:32 +02:00
RUN LC_CTYPE = C.UTF-8 add-apt-repository ppa:bigbluebutton/support
2020-04-09 15:43:58 +02:00
RUN sh -c 'wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add -' \
2020-05-14 15:21:21 +02:00
&& sh -c 'echo "deb https://packages-eu.bigbluebutton.org/xenial-22 bigbluebutton-xenial main" > /etc/apt/sources.list.d/bigbluebutton.list'
2020-04-09 15:43:58 +02:00
# create dummy packages to satisfy dependencies
RUN equivs-control redis-server.control \
&& sed -i 's/<package name; defaults to equivs-dummy>/redis-server/g' redis-server.control \
&& equivs-build redis-server.control \
&& dpkg -i /*.deb \
&& rm /*.deb
2020-04-09 02:11:32 +02:00
2020-05-14 15:21:21 +02:00
RUN apt-get update && apt-get install -y bbb-web \
2020-04-11 11:34:17 +02:00
bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps \
2020-06-12 01:44:04 +02:00
bbb-apps-video bbb-apps-screenshare bbb-apps-video-broadcast \
bbb-record-core bbb-playback-presentation
2020-04-09 02:11:32 +02:00
2020-06-12 01:44:04 +02:00
# -- avoid blocking java
2020-04-11 11:34:17 +02:00
# 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
2020-04-23 20:32:58 +02:00
# -- copy configuration files
2020-05-16 00:11:46 +02:00
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
2020-04-23 20:32:58 +02:00
COPY bigbluebutton.yml /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
COPY web/bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl
2020-05-15 23:21:03 +02:00
COPY web/turn-stun-servers.xml /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml.tmpl
2020-04-23 20:32:58 +02:00
COPY bbb-apps-akka/application.conf /usr/share/bbb-apps-akka/conf/application.conf.tmpl
COPY bbb-fsesl-akka/application.conf /etc/bbb-fsesl-akka/application.conf
2020-05-15 21:13:59 +02:00
COPY bbb-transcode-akka/application.conf /etc/bbb-transcode-akka/application.conf
2020-04-29 16:35:03 +02:00
COPY web-run.sh /usr/share/bbb-web/run-prod.sh
2020-06-12 01:44:04 +02:00
COPY bbb-playback-presentation/presentation.yml /usr/local/bigbluebutton/core/scripts/
2020-06-12 02:15:55 +02:00
COPY bbb-playback-presentation/recorder-monitor.py /usr/local/bin
2020-06-12 02:44:26 +02:00
RUN chmod +x /usr/local/bin/recorder-monitor.py && \
mkdir -p /usr/src/bbb-playback-presentation && \
cp -r /var/bigbluebutton/playback/* /usr/src/bbb-src-playback
2020-04-23 20:32:58 +02:00
2020-06-12 03:16:30 +02:00
RUN wget -O /usr/local/bin/bbb-record https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/develop/bigbluebutton-config/bin/bbb-record \
&& chmod +x /usr/local/bin/bbb-record
2020-05-14 18:59:22 +02:00
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY entrypoint.sh /entrypoint.sh
COPY prefix-log /usr/local/bin/prefix-log
RUN mkdir -p /var/log/supervisor
2020-04-10 11:29:44 +02:00
ENTRYPOINT [ "/entrypoint.sh" ]
2017-10-27 21:01:25 +02:00
CMD [ ]