diff options
Diffstat (limited to 'app/jitsi')
-rw-r--r-- | app/jitsi/build/jitsi-videobridge/Dockerfile | 11 | ||||
-rwxr-xr-x | app/jitsi/build/jitsi-videobridge/jvb_run | 66 | ||||
-rw-r--r-- | app/jitsi/integration/docker-compose.yml | 17 | ||||
-rw-r--r-- | app/jitsi/integration/jvb/videobridge.conf | 10 |
4 files changed, 39 insertions, 65 deletions
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 |