2017-10-27 21:01:25 +02:00
|
|
|
FROM ubuntu:16.04
|
|
|
|
MAINTAINER ffdixon@bigbluebutton.org
|
|
|
|
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
2019-12-09 04:34:03 +01:00
|
|
|
ENV container docker
|
|
|
|
|
2020-04-09 02:11:32 +02:00
|
|
|
# just to speed up development, TODO: remove
|
|
|
|
COPY sources.list /etc/apt/sources.list
|
2017-10-27 21:01:25 +02:00
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
RUN apt-get update && apt-get install -y software-properties-common language-pack-en
|
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
|
2020-04-09 15:43:58 +02:00
|
|
|
RUN apt-get install -y --no-install-recommends apt-utils
|
|
|
|
RUN apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" install grub-pc update-notifier-common
|
2019-12-09 04:34:03 +01:00
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get install -y systemd
|
2017-10-27 21:01:25 +02:00
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
|
2019-12-09 04:34:03 +01:00
|
|
|
# -- Install Dependencies
|
2020-04-09 15:43:58 +02:00
|
|
|
RUN apt-get install -y wget apt-transport-https curl mlocate strace iputils-ping telnet tcpdump vim htop \
|
2020-04-09 18:15:06 +02:00
|
|
|
tidy libreoffice sudo netcat-openbsd net-tools openjdk-8-jre perl build-essential \
|
2020-04-09 15:43:58 +02:00
|
|
|
ruby rake unzip xmlstarlet rsync tomcat7 yq equivs
|
2017-10-27 21:01:25 +02:00
|
|
|
|
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 -' \
|
|
|
|
&& sh -c 'echo "deb https://ubuntu.bigbluebutton.org/xenial-220 bigbluebutton-xenial main" > /etc/apt/sources.list.d/bigbluebutton.list'
|
|
|
|
|
|
|
|
# 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 \
|
|
|
|
&& equivs-control nginx.control \
|
|
|
|
&& sed -i 's/<package name; defaults to equivs-dummy>/nginx/g' nginx.control \
|
|
|
|
&& equivs-build nginx.control \
|
|
|
|
&& equivs-control bbb-etherpad.control \
|
|
|
|
&& sed -i 's/<package name; defaults to equivs-dummy>/bbb-etherpad/g' bbb-etherpad.control \
|
|
|
|
&& equivs-build bbb-etherpad.control \
|
2020-04-09 18:13:18 +02:00
|
|
|
&& equivs-control kurento-media-server.control \
|
|
|
|
&& sed -i 's/<package name; defaults to equivs-dummy>/kurento-media-server/g' kurento-media-server.control \
|
|
|
|
&& equivs-build kurento-media-server.control \
|
2020-04-09 18:15:06 +02:00
|
|
|
&& equivs-control bbb-webrtc-sfu.control \
|
|
|
|
&& sed -i 's/<package name; defaults to equivs-dummy>/bbb-webrtc-sfu/g' bbb-webrtc-sfu.control \
|
|
|
|
&& equivs-build bbb-webrtc-sfu.control \
|
2020-04-09 15:43:58 +02:00
|
|
|
&& dpkg -i /*.deb \
|
|
|
|
&& rm /*.deb
|
2020-04-09 02:11:32 +02:00
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
# -- create nginx service (in order to enable it - to avoid the "nginx.service is not active" error)
|
|
|
|
RUN rm -f /etc/systemd/system/nginx.service
|
2020-04-09 19:33:13 +02:00
|
|
|
COPY dummy.service /etc/systemd/system/nginx.service
|
|
|
|
COPY dummy.service /etc/systemd/system/redis.service
|
|
|
|
COPY dummy.service /etc/systemd/system/redis-server.service
|
|
|
|
COPY dummy.service /etc/systemd/system/kurento-media-server.service
|
|
|
|
COPY dummy.service /etc/systemd/system/bbb-webrtc-sfu.service
|
2020-04-09 02:11:32 +02:00
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
RUN touch /etc/init.d/nginx && chmod +x /etc/init.d/nginx
|
2020-04-09 22:33:27 +02:00
|
|
|
RUN apt-get update && apt-get install -y bbb-web bbb-record-core bbb-playback-presentation bbb-freeswitch-core \
|
2020-04-09 15:43:58 +02:00
|
|
|
bbb-fsesl-akka bbb-apps-akka bbb-transcode-akka bbb-apps bbb-apps-sip \
|
|
|
|
bbb-apps-video bbb-apps-screenshare bbb-apps-video-broadcast
|
2020-04-09 02:11:32 +02:00
|
|
|
|
2020-04-09 18:15:06 +02:00
|
|
|
RUN mkdir -p /etc/nginx/sites-enabled /var/kurento
|
|
|
|
|
2020-04-09 22:33:27 +02:00
|
|
|
RUN apt-get install -y bbb-config
|
2017-10-27 21:01:25 +02:00
|
|
|
|
2019-12-09 04:34:03 +01:00
|
|
|
# -- Disable unneeded services
|
|
|
|
RUN systemctl disable systemd-journal-flush
|
|
|
|
RUN systemctl disable systemd-update-utmp.service
|
2017-10-27 21:01:25 +02:00
|
|
|
|
2019-12-09 04:34:03 +01:00
|
|
|
# -- Finish startup
|
|
|
|
# Add a number there to force update of files on build
|
2019-12-09 04:46:05 +01:00
|
|
|
RUN echo "Finishing ... @13"
|
2020-04-08 06:36:27 +02:00
|
|
|
|
|
|
|
RUN useradd bbb --uid 1000 -s /bin/bash
|
|
|
|
RUN mkdir /home/bbb
|
|
|
|
RUN chown bbb /home/bbb
|
|
|
|
RUN sh -c 'echo "bbb ALL=(ALL:ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/bbb'
|
|
|
|
RUN sh -c 'echo "bbb:bbb" | chpasswd'
|
|
|
|
|
2020-04-09 22:33:27 +02:00
|
|
|
# disable IPv6 support
|
|
|
|
RUN rm -rf /opt/freeswitch/conf/sip_profiles/*-ipv6*
|
|
|
|
|
|
|
|
# disable all services
|
|
|
|
RUN find /etc/systemd/ | grep wants | xargs -r -n 1 basename | grep service | grep -v networking | grep -v tty | xargs -r -n 1 -I __ systemctl disable __
|
|
|
|
RUN systemctl disable tomcat7
|
|
|
|
RUN systemctl enable red5 freeswitch bbb-apps-akka bbb-transcode-akka bbb-fsesl-akka bbb-rap-caption-inbox bbb-web
|
|
|
|
|
|
|
|
COPY tomcat7 /etc/init.d/tomcat7
|
2020-04-09 02:11:32 +02:00
|
|
|
RUN chmod +x /etc/init.d/tomcat7
|
|
|
|
|
2020-04-09 15:43:58 +02:00
|
|
|
COPY setup.sh /opt/setup.sh
|
2017-10-27 21:01:25 +02:00
|
|
|
|
2019-12-09 04:34:03 +01:00
|
|
|
ENTRYPOINT ["/bin/systemd", "--system", "--unit=multi-user.target"]
|
2017-10-27 21:01:25 +02:00
|
|
|
CMD []
|
2019-12-09 04:34:03 +01:00
|
|
|
|