From fe257ee010074a0cb7024e8b0068de495038ba3d Mon Sep 17 00:00:00 2001 From: marcus Date: Fri, 25 Nov 2022 11:50:38 +0100 Subject: [PATCH] =?UTF-8?q?=E2=80=9Edocker/Dockerfile=E2=80=9C=20hinzuf?= =?UTF-8?q?=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Dockerfile | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docker/Dockerfile diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..f80a2c5 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,63 @@ +FROM jrei/systemd-ubuntu:20.04 + +RUN apt update && \ + apt upgrade -y && \ + apt-get -y install curl wget sudo cron net-tools iproute2 vim && \ + cd /root && \ + curl -sL -o /etc/apt/trusted.gpg.d/morph027-janus.asc https://packaging.gitlab.io/janus/gpg.key && \ + . /etc/lsb-release; echo "deb [arch=amd64] https://packaging.gitlab.io/janus/$DISTRIB_CODENAME $DISTRIB_CODENAME main" | tee /etc/apt/sources.list.d/morph027-janus.list && \ + apt update && \ + echo "cron exists" #ln -s /lib/systemd/system/cron.service /etc/systemd/system/multi-user.target.wants/cron.service + + +RUN echo "READY" && \ + mkdir -p /var/spool/cron/crontabs/ && \ + (crontab -l 2>/dev/null; echo '@reboot /usr/local/bin/initserver.sh >> /tmp/init.log 2>&1') | crontab - + + + +RUN cd /root && \ + apt install janus -y && \ + curl -sL -o /etc/apt/trusted.gpg.d/morph027-nats-server.asc https://packaging.gitlab.io/nats-server/gpg.key && \ + echo "deb [arch=amd64] https://packaging.gitlab.io/nats-server nats main" | tee /etc/apt/sources.list.d/morph027-nats-server.list && \ + apt update && \ + apt install nats-server -y && \ + install -d -o nats -g nats /etc/nats && \ + sudo -u nats echo "listen: 127.0.0.1:4222" > /etc/nats/nats.conf && \ + echo "Janus exists" #ln -s /lib/systemd/system/janus.service /etc/systemd/system/multi-user.target.wants/janus.service && \ + ln -s /lib/systemd/system/nats-server.service /etc/systemd/system/multi-user.target.wants/nats-server.service + +RUN cd /root && \ + apt install git automake golang build-essential python3 -y && \ + cd /opt && \ + git clone https://github.com/strukturag/nextcloud-spreed-signaling.git && \ + cd nextcloud-spreed-signaling/ && \ + make build && \ + cp bin/signaling /usr/bin/ && \ + useradd --system --shell /usr/sbin/nologin --comment "Standalone signaling server for Nextcloud Talk" signaling && \ + mkdir /etc/signaling/ && \ + touch /etc/signaling/server.conf && \ + wget https://downloads.malaty.net/hpb_nc/signaling/server.conf -O /etc/signaling/server.conf && \ + chmod 600 /etc/signaling/server.conf && \ + chown signaling: /etc/signaling/server.conf && \ + cp /opt/nextcloud-spreed-signaling/dist/init/systemd/signaling.service /lib/systemd/system/signaling.service && \ + wget https://downloads.malaty.net/hpb_nc/janus/janus.jcfg -O /etc/janus/janus.jcfg && \ + ln -s /lib/systemd/system/signaling.service /etc/systemd/system/multi-user.target.wants/signaling.service + + + + +RUN cd /root && \ + apt install coturn -y && \ + sed -i '/TURNSERVER_ENABLED/c\TURNSERVER_ENABLED=1' /etc/default/coturn && \ + wget https://downloads.malaty.net/hpb_nc/coturn/turnserver.conf -O /etc/turnserver.conf && \ + echo "Coturn exists" #ln -s /lib/systemd/system/coturn.service /etc/systemd/system/multi-user.target.wants/coturn.service + +RUN cd /root && \ + wget https://downloads.malaty.net/hpb_nc/osinit/initserver.sh -O /usr/local/bin/initserver.sh && \ + wget https://downloads.malaty.net/hpb_nc/osinit/onboot.sh -O /usr/local/bin/onboot.sh && \ + chmod +x /usr/local/bin/initserver.sh /usr/local/bin/onboot.sh + + + +ENTRYPOINT ["/usr/local/bin/onboot.sh"]