aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@dufour.io>2021-01-29 18:59:19 +0100
committerQuentin Dufour <quentin@dufour.io>2021-01-29 18:59:19 +0100
commit59ca97e2a97c77719aa139748caff4a40e6d2704 (patch)
treec2bb15de98157daeeee72cd78cbe370e21287e36 /app
parent83d8668a59b54bc973c993b5ca4873f8231347b1 (diff)
downloadinfrastructure-59ca97e2a97c77719aa139748caff4a40e6d2704.tar.gz
infrastructure-59ca97e2a97c77719aa139748caff4a40e6d2704.zip
Migrate JVB to the new packaging
Diffstat (limited to 'app')
-rw-r--r--app/docker-compose.yml4
-rw-r--r--app/jitsi/build/jitsi-videobridge/Dockerfile11
-rwxr-xr-xapp/jitsi/build/jitsi-videobridge/jvb_run66
-rw-r--r--app/jitsi/integration/docker-compose.yml17
-rw-r--r--app/jitsi/integration/jvb/videobridge.conf10
5 files changed, 41 insertions, 67 deletions
diff --git a/app/docker-compose.yml b/app/docker-compose.yml
index 9f50c26..24ba0ba 100644
--- a/app/docker-compose.yml
+++ b/app/docker-compose.yml
@@ -65,8 +65,8 @@ services:
context: ./jitsi/build/jitsi-videobridge
args:
# https://github.com/jitsi/jitsi-videobridge
- PREFIXV: jitsi-meet_
- VERSION: 5463
+ PREFIXV: stable/jitsi-meet_
+ VERSION: 5390
image: superboum/amd64_jitsi_videobridge:v17
jitsi-xmpp:
diff --git a/app/jitsi/build/jitsi-videobridge/Dockerfile b/app/jitsi/build/jitsi-videobridge/Dockerfile
index c17fb4f..4067992 100644
--- a/app/jitsi/build/jitsi-videobridge/Dockerfile
+++ b/app/jitsi/build/jitsi-videobridge/Dockerfile
@@ -4,8 +4,9 @@ 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
+ apt-get install -y wget unzip maven openjdk-11-jdk-headless
+
+RUN wget https://github.com/jitsi/jitsi-videobridge/archive/${PREFIXV}${VERSION}.zip -O jvb.zip
RUN unzip jvb.zip && \
mv jitsi-videobridge*${VERSION} jvb && \
@@ -20,11 +21,7 @@ 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 --from=builder /jvb/build /usr/share/jvb
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
index b86c911..4c90bea 100755
--- a/app/jitsi/build/jitsi-videobridge/jvb_run
+++ b/app/jitsi/build/jitsi-videobridge/jvb_run
@@ -1,54 +1,14 @@
#!/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
+update-ca-certificates -f
+
+exec java \
+ -Xmx3072m \
+ -XX:+UseConcMarkSweepGC \
+ -XX:+HeapDumpOnOutOfMemoryError \
+ -XX:HeapDumpPath=/tmp \
+ -Djdk.tls.ephemeralDHKeySize=2048 \
+ -Djava.util.logging.config.file=/usr/share/jvb/lib/logging.properties \
+ -Dconfig.file=/etc/jitsi/videobridge.conf \
+ -cp '/usr/share/jvb/jitsi-videobridge.jar:/usr/share/jvb/lib/*' \
+ org.jitsi.videobridge.MainKt \
+ --apis=rest,xmpp
diff --git a/app/jitsi/integration/docker-compose.yml b/app/jitsi/integration/docker-compose.yml
index c0b2d82..3107347 100644
--- a/app/jitsi/integration/docker-compose.yml
+++ b/app/jitsi/integration/docker-compose.yml
@@ -18,12 +18,19 @@ services:
- "./prosody/certs/jitsi.crt:/usr/local/share/ca-certificates/jitsi.crt:ro"
- "./prosody/certs/auth.jitsi.crt:/usr/local/share/ca-certificates/auth.jitsi.crt:ro"
- "./jicofo/jicofo.conf:/etc/jitsi/jicofo.conf:ro"
+
+ jitsi-videobridge:
+ image: superboum/amd64_jitsi_videobridge:v17
+ volumes:
+ - "./prosody/certs/jitsi.crt:/usr/local/share/ca-certificates/jitsi.crt:ro"
+ - "./prosody/certs/auth.jitsi.crt:/usr/local/share/ca-certificates/auth.jitsi.crt:ro"
+ - "./jvb/videobridge.conf:/etc/jitsi/videobridge.conf:ro"
+ ports:
+ - "8080:8080/tcp"
+ - "10000:10000/udp"
+
# jitsi-meet:
# image: superboum/amd64_jitsi_meet:v1
# ports:
# - "443:443"
-# jitsi-videobridge:
-# image: superboum/amd64_jitsi_videobridge:v14
-# ports:
-# - "8080:8080/tcp"
-# - "10000:10000/udp"
+
diff --git a/app/jitsi/integration/jvb/videobridge.conf b/app/jitsi/integration/jvb/videobridge.conf
index e9bded0..edf73bb 100644
--- a/app/jitsi/integration/jvb/videobridge.conf
+++ b/app/jitsi/integration/jvb/videobridge.conf
@@ -61,6 +61,16 @@ videobridge {
presence-interval = ${videobridge.stats.interval}
configs {
+ unique-xmpp-server {
+ hostname="jitsi-xmpp"
+ domain = "auth.jitsi"
+ username = "jvb"
+ password = "jvbpass"
+ muc_jids = "jvbbrewery@internal.auth.jitsi"
+ # The muc_nickname must be unique across all jitsi-videobridge instances
+ muc_nickname = "unique-jvb-server"
+ disable_certificate_verification = false
+ }
# example-connection-id {
# For the properties which should be
# filled out here, see MucClientConfiguration