aboutsummaryrefslogtreecommitdiff
path: root/app/jitsi/build/jitsi-videobridge
diff options
context:
space:
mode:
Diffstat (limited to 'app/jitsi/build/jitsi-videobridge')
-rw-r--r--app/jitsi/build/jitsi-videobridge/Dockerfile30
-rwxr-xr-xapp/jitsi/build/jitsi-videobridge/jvb_run54
2 files changed, 84 insertions, 0 deletions
diff --git a/app/jitsi/build/jitsi-videobridge/Dockerfile b/app/jitsi/build/jitsi-videobridge/Dockerfile
new file mode 100644
index 0000000..c17fb4f
--- /dev/null
+++ b/app/jitsi/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-jre-headless
+
+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/jitsi/build/jitsi-videobridge/jvb_run b/app/jitsi/build/jitsi-videobridge/jvb_run
new file mode 100755
index 0000000..b86c911
--- /dev/null
+++ b/app/jitsi/build/jitsi-videobridge/jvb_run
@@ -0,0 +1,54 @@
+#!/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
+# Enable broadcasting stats/presence in a MUC
+org.jitsi.videobridge.ENABLE_STATISTICS=true
+org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
+
+# Connect to the first XMPP server
+org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=jitsi.deuxfleurs.fr
+org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.jitsi.deuxfleurs.fr
+org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
+org.jitsi.videobridge.xmpp.user.shard.PASSWORD=${JITSI_SECRET_VIDEOBRIDGE}
+org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.jitsi.deuxfleurs.fr
+org.jitsi.videobridge.xmpp.user.shard.MUC=JvbBrewery@internal.auth.jitsi.deuxfleurs.fr
+org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=singleton
+org.jitsi.videobridge.xmpp.user.shard.DISABLE_CERTIFICATE_VERIFICATION=true
+
+# Do we need it? @FIXME
+org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
+
+# NAT things, two times just in case...
+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} \
+ --apis=xmpp,rest