Problems in scaling Jibri

Hi jitsi community!

I’ve been running my own deploy of jitsi for quite a while. Everything looks good, much because of you guys. Been lurking around the forum and learning a lot from you. Now my time has come to seek help.

I have an autoscaling setup deployed on Google Cloud. The load is distributed using octo. The setup is running well.

Now I want to start recording the conferences. I’ve successfully installed one instance of the new jibri, but I’m having trouble scaling it up. I know we need one instance of jibri for each conference we want to record. My main question is: do I need to install one jibri instance per VM or can I install more?

Can I install it along the videobrige on the jvb VMs?

Thank you in advance.

Welcome to the forum.

Technically, you can install Jibri on the same server with other components, but it’s generally not advisable. For a server hosting Jibri alone, you need at least 4CPU and 8GB RAM in order to ensure trouble-free recording. If you plan on hosting Jibri on the same server as JVB, you’ll need to up the specs on the server (8CPU, 16GB RAM would be ideal). The danger with hosting Jibri with other components is that if it runs into issues, it affects the entire meeting experience. If you run it separately, issues on Jibri will not seriously impact the other components.

Thank you for the quick reply, Freddie.

So let’s go with Jibri alone. I’m not sure but I think I’ve read somewhere on the forum, that you can have one Jibri instance per core. Is that true? I may have misread i, so I’m sorry for any wrong information.

My next question would be: what is the best way to scale it regarding my setup? To know when to create a new jibri instance, I’ll need to know the number of the current ongoing conferences, right? Do I get this information via colibri or is there another/better way?

Absolutely not.

Your colibri stats will tell you the number of running conferences and yes, in theory, you can use that as the basis for scaling out; but that’s assuming that each one of those conferences is being recorded (i.e. using an instance of Jibri). This is not always so. You can instead check the status of the Jibris you have running by querying Jibri REST api:

curl -v http://jibri-ip:2222/jibri/api/v1.0/health

This will tell you the status of the Jibri instance (idle, busy, healthy). If it’s healthy and idle, then you know you have a Jibri instance waiting to be used. If it’s busy, you see if there are healthy, idle instances waiting; if not, you know you need to spin up new Jibri instances, based on your need.

Great, Freddie.

One last question: theses specs (4CPU and 8GB RAM) are good for conferences up to 50 participants (most audio/video muted)?

The specs that Freddie mentioned are for a Jibri server.
For Jibri it doesn’t matter how many participants are in a room.
Since it will only grab the audio/video source from the jitsi server.

Perfect! Will try this and will get back at you.

Thank you @Freddie and @Ark74.