How to enable private (TLS) REST api for jitsi-videobridge on a Docker installation

Hi there,

I was able to configure private HTTP interface for the jitsi-videobridge interface to track statistics.

  1. Uncommenting JVB_ENABLE_APIS=rest,colibri in .env file

  2. Remove .jitsi-cfg-meet and make config files again and run docker-compose up, then docker-compose down

  3. Adding this to .jitsi-cfg-meet/jvb/sip.communicator.properties

org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri
org.jitsi.videobridge.STATISTICS_INTERVAL=5000
  1. Edit docker-compose.yml > services > jvb
ports:
  - '${JVB_PORT}:${JVB_PORT}/udp'
  - '${JVB_TCP_MAPPED_PORT}:${JVB_TCP_PORT}'
  - '8080:8080'
  1. Confirm that it works by running curl -v 127.0.0.1:8080/colibri/stats from docker’s host. It should return a JSON of stats like on github.com/ jitsi/ jitsi-videobridge/ blob/ master/ doc/ statistics.md

However, now my Jitsi Meet server is running on HTTPS on port 443 with a Let’s Encrypt certificate. That means I cannot access the colibri stats at http://meet.example.com:8080/colibri/stats from the browser because it’s only HTTP not HTTPS and I’m redirected to https://meet.example.org:8080/colibri/stats which clearly doesn’t work either.

In the documentation it says that I need to set

org.jitsi.videobridge.rest.private.jetty.tls.port=8443
org.jitsi.videobridge.rest.private.jetty.sslContextFactory.keyStorePath=
org.jitsi.videobridge.rest.private.jetty.sslContextFactory.keyStorePassword=

but I’m not sure where this keystore is created, let alone what its path is.

Am I missing something else?

Thank you so much for your help


My server is Ubuntu 18.04 and I’m using the docker installation of Jitsi Meet containers ( latest containers [stable-4548-1] )