aboutsummaryrefslogtreecommitdiff
path: root/app/build/jitsi-videobridge
diff options
context:
space:
mode:
Diffstat (limited to 'app/build/jitsi-videobridge')
-rw-r--r--app/build/jitsi-videobridge/Dockerfile30
-rwxr-xr-xapp/build/jitsi-videobridge/jvb_run38
2 files changed, 68 insertions, 0 deletions
diff --git a/app/build/jitsi-videobridge/Dockerfile b/app/build/jitsi-videobridge/Dockerfile
new file mode 100644
index 0000000..dfbadb7
--- /dev/null
+++ b/app/build/jitsi-videobridge/Dockerfile
@@ -0,0 +1,30 @@
+FROM debian:buster AS builder
+
+ARG PREFIXV
+ARG VERSION
+
+RUN apt-get update && \
+ apt-get install -y wget unzip maven openjdk-11-jdk && \
+ wget https://github.com/jitsi/jitsi-videobridge/archive/${PREFIXV}${VERSION}.zip -O jvb.zip
+
+RUN unzip jvb.zip && \
+ mv jitsi-videobridge*${VERSION} jvb && \
+ cd jvb && \
+ mvn package -DskipTests && \
+ ls jvb/target && \
+ unzip jvb/target/jitsi-videobridge*.zip && \
+ mv jitsi-videobridge-*-SNAPSHOT build
+
+FROM debian:buster
+
+RUN apt-get update && \
+ apt-get install -y openjdk-11-jdk
+
+COPY --from=builder /jvb/build /srv/jvb
+ENV HOME=/root
+WORKDIR /root
+COPY jvb_run /usr/local/bin/jvb_run
+
+ENV JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/root -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=.sip-communicator -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi"
+
+CMD ["/usr/local/bin/jvb_run"]
diff --git a/app/build/jitsi-videobridge/jvb_run b/app/build/jitsi-videobridge/jvb_run
new file mode 100755
index 0000000..3352e8a
--- /dev/null
+++ b/app/build/jitsi-videobridge/jvb_run
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+cat >> /etc/hosts <<EOF
+${JITSI_PROSODY_HOST} jitsi.deuxfleurs.fr conference.jitsi.deuxfleurs.fr jitsi-videobridge.jitsi.deuxfleurs.fr focus.jitsi.deuxfleurs.fr auth.jitsi.deuxfleurs.fr
+127.0.0.1 `hostname`
+EOF
+
+mkdir -p /root/.sip-communicator
+
+cat > /root/.sip-communicator/sip-communicator.properties <<EOF
+org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
+# The videobridge uses 443 by default with 4443 as a fallback, but since we're already
+# running nginx on 443 in this example doc, we specify 4443 manually to avoid a race condition
+org.ice4j.ice.harvest.TCP_HARVESTER_PORT=${JITSI_VIDEO_TCP}
+org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=${JITSI_NAT_LOCAL_IP}
+org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=${JITSI_NAT_PUBLIC_IP}
+org.jitsi.videobridge.TCP_HARVESTER_PORT=${JITSI_VIDEO_TCP}
+org.jitsi.videobridge.NAT_HARVESTER_LOCAL_ADDRESS=${JITSI_NAT_LOCAL_IP}
+org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=${JITSI_NAT_PUBLIC_IP}
+org.jitsi.videobridge.DISABLE_TCP_HARVESTER=false
+EOF
+
+[ -v JITSI_DEBUG ] && cat >> /root/.sip-communicator/sip-communicator.properties <<EOF
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_ENABLED=true
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_ARBITRARY_ENABLED=true
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_SIP_ENABLED=true
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_JABBER_ENABLED=true
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_RTP_ENABLED=true
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_ICE4j_ENABLED=true
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_FILE_COUNT=1
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_FILE_SIZE=-1
+EOF
+
+/srv/jvb/jvb.sh \
+ --host=${JITSI_PROSODY_HOST} \
+ --domain=jitsi.deuxfleurs.fr \
+ --port=5347 \
+ --secret=${JITSI_SECRET_VIDEOBRIDGE}