Jitsi Meet Server

Overview

The jitsimeet server is the normally the easiest component to install. We essentially follow the quick install instructions.

Most of the configuration changes we make are in the /etc/jitsi/meet/domain-config.js file and we make this via lineinfile changes. Our main goal with the changes from the defaults are to reduce bandwidth and CPU pressure on the clients that connect.

We also copy in the domain-interface-config.js file, but so far we are not making any modifications. This file must be re-copied after each jitsimeet release (FIXME: we should automate somehow).

Rebuilding with support for setParticipantVolume

We run an instance of jitsi meet that supports interpretation. Fortunately, the core change needed for this feature has been merged! So, nothing to do.

https

Figuring out https is non-trivial. For most of our web services, we direct all traffic via our web proxy servers, and then we handle https services via our dedicated Lets Encrypt key servers.

However, with jitsimeet, directing all web traffic via web proxy is complicated since web services aren’t the only services involved (there’s also the video bridge and the xmpp server that use the same domain name). So, we don’t use the web proxy method.

The jitsimeet debian package comes with a special script to generate the Let’s Encrypt certificate which we could use, however, it sets things up in a Linux distrubtion agnostic fashion, rather then following debian standards (e.g. it tries to download certbot rather then using the Debian version).

So, we use our own method that more closely hues to the Debian model and the methods used else where in our ansible setup.

This process is made trickier by the fact that not only nginx, but also the co-turn server need to share access to the generated certificate.

Jibri and jigasi

Use of jibri (recording) and jitsimeet-jigasi (dial in) is optional.

Jibri is intended to be installed on a different machine because it’s a CPU hog and we don’t want recording of a meeting to interfere with the meeting itself. If you want a jitsimeet install to integrate with a jibri install, set jitsimeet_jibri to ’true` in the jitsimeet server’s yml file.

Jigasi, on the other hand, is intended to be installed on the jitsimeet server itself. To enable it, simply include jigasi_enabled=true in your yml file.

Requring login

For the main May First instance, we do not require a login to create a meeting. However, that’s an option (and the PTP instance uses that option). You can set the jitsimeet_authenticated variable to true to enable authentication.

Once enabled, you can run the following command to create or change usernames and passwords:

prosodyctl register <username> <meet.domain.org> <VerySecretPassword>