Configuring the recorder on Docker and Kubernetes instances

Each jibri instance requires access to a unique ALSA loopback device on the host. To accomplish this, run the following series of commands on any node that will host a jibri pod.

Note: This step is not required on AWS or GKE nodes, since the support is already enabled in the custom AMI and startup script in the node launch templates, respectively.

On a single-node Kubernetes or Docker-compose deployment, you can run multiple jibri instances, but you must have an equal number of ALSA loopback devices on the node.

For example, the following commands update the device settings to enable five recorders to execute on a node:

# configure 5 capture/playback interfaces
echo "options snd-aloop enable=1,1,1,1,1 index=0,1,2,3,4" > /etc/modprobe.d/alsa-loopback.conf
# setup autoload the module
echo "snd_aloop" > /etc/modules-load.d/snd_aloop.conf
# load the module
modprobe snd-aloop
# check that the module is loaded
lsmod | grep snd_aloop

Starting the Docker container with multiple recorders

By default, there is only 1 recorder instance available on a Docker deployment. To enable multiple recorders, you need to start the container with the following option:

In this example, the value 5 is used, and is related to the number of virtual sound drivers loaded in the previous step

> docker-compose up -d --scale jibri=5

When stopping and starting docker, the commands would be:

> docker-compose down
> CleanUpMultiJibri.sh
> docker-compose up -d --scale jibri=5
Note: Meeting recording consumes significant resources, particularly CPU resources. As a result, you should be cautious of over-committing resources to recording. Especially if you have a single-node Kubernetes deployment, high CPU consumption on the master node will lead to a cluster outage.