jvb: add ability to disable XMPP

In case the REST API is the only API that is going to be used.
This commit is contained in:
Saúl Ibarra Corretgé
2024-05-15 22:04:11 +02:00
parent 77ce86a995
commit 79a4635ed2
3 changed files with 22 additions and 16 deletions

View File

@@ -424,6 +424,7 @@ services:
- JVB_AUTH_PASSWORD - JVB_AUTH_PASSWORD
- JVB_BREWERY_MUC - JVB_BREWERY_MUC
- JVB_DISABLE_STUN - JVB_DISABLE_STUN
- JVB_DISABLE_XMPP
- JVB_INSTANCE_ID - JVB_INSTANCE_ID
- JVB_PORT - JVB_PORT
- JVB_MUC_NICKNAME - JVB_MUC_NICKNAME

View File

@@ -1,4 +1,5 @@
{{ $COLIBRI_REST_ENABLED := .Env.COLIBRI_REST_ENABLED | default "false" | toBool -}} {{ $COLIBRI_REST_ENABLED := .Env.COLIBRI_REST_ENABLED | default "false" | toBool -}}
{{ $DISABLE_XMPP := .Env.JVB_DISABLE_XMPP | default "0" | toBool -}}
{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool -}} {{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool -}}
{{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}} {{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}}
{{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}} {{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}}
@@ -37,6 +38,7 @@ videobridge {
advertise-private-candidates = {{ $JVB_ADVERTISE_PRIVATE_CANDIDATES }} advertise-private-candidates = {{ $JVB_ADVERTISE_PRIVATE_CANDIDATES }}
} }
apis { apis {
{{ if not $DISABLE_XMPP -}}
xmpp-client { xmpp-client {
configs { configs {
{{ if $ENABLE_JVB_XMPP_SERVER }} {{ if $ENABLE_JVB_XMPP_SERVER }}
@@ -67,9 +69,10 @@ videobridge {
DISABLE_CERTIFICATE_VERIFICATION = true DISABLE_CERTIFICATE_VERIFICATION = true
} }
{{ end -}} {{ end -}}
{{ end }} {{ end -}}
} }
} }
{{ end -}}
rest { rest {
enabled = {{ $COLIBRI_REST_ENABLED }} enabled = {{ $COLIBRI_REST_ENABLED }}
} }

View File

@@ -1,5 +1,6 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
if [[ -z $JVB_DISABLE_XMPP ]]; then
if [[ -z $JVB_AUTH_PASSWORD ]]; then if [[ -z $JVB_AUTH_PASSWORD ]]; then
echo 'FATAL ERROR: JVB auth password must be set' echo 'FATAL ERROR: JVB auth password must be set'
exit 1 exit 1
@@ -13,6 +14,12 @@ fi
[ -z "${XMPP_SERVER}" ] && export XMPP_SERVER=xmpp.meet.jitsi [ -z "${XMPP_SERVER}" ] && export XMPP_SERVER=xmpp.meet.jitsi
# On environments like Swarm the IP address used by the default gateway need not be
# the one used for inter-container traffic. Use that one for our fallback ID.
XMPP_SERVER_IP=$(dig +short +search ${XMPP_SERVER})
export JVB_WS_SERVER_ID_FALLBACK=$(ip route get ${XMPP_SERVER_IP} | grep -oP '(?<=src ).*' | awk '{ print $1 '})
fi
# Migration from DOCKER_HOST_ADDRESS to JVB_ADVERTISE_IPS # Migration from DOCKER_HOST_ADDRESS to JVB_ADVERTISE_IPS
if [[ -z "${JVB_ADVERTISE_IPS}" ]]; then if [[ -z "${JVB_ADVERTISE_IPS}" ]]; then
if [[ ! -z "${DOCKER_HOST_ADDRESS}" ]]; then if [[ ! -z "${DOCKER_HOST_ADDRESS}" ]]; then
@@ -21,11 +28,6 @@ if [[ -z "${JVB_ADVERTISE_IPS}" ]]; then
fi fi
fi fi
# On environments like Swarm the IP address used by the default gateway need not be
# the one used for inter-container traffic. Use that one for our fallback ID.
XMPP_SERVER_IP=$(dig +short +search ${XMPP_SERVER})
export JVB_WS_SERVER_ID_FALLBACK=$(ip route get ${XMPP_SERVER_IP} | grep -oP '(?<=src ).*' | awk '{ print $1 '})
# Local IP for the ice4j mapping harvester. # Local IP for the ice4j mapping harvester.
export LOCAL_ADDRESS=$(ip route get 1 | grep -oP '(?<=src ).*' | awk '{ print $1 '}) export LOCAL_ADDRESS=$(ip route get 1 | grep -oP '(?<=src ).*' | awk '{ print $1 '})