Jitsi Scalable

Hiya, I am attempting to get jitsi to be a load-balanced scaled setup.

I have attempted to configure the servers to interact together. However, I am having trouble finding the actual files to edit to allow them to interact.
Since the documentation is out of date, I am finding it hard haha.

I have managed to install the following packages on the meet server:

  • nginx
  • prosody
  • jicofo
  • jitsi-meet-web
  • jitsi-meet-prosody
  • jitsi-meet-web-config

And on the videobridge servers (of there are two) I have installed:

  • jitsi-videobridge2

I have located the config.js and interface_config.js file on the meet server. However, I cannot tell if that is the correct file, nor what I am supposed to edit to achieve the scalable setup.

The webserver for the meet server actually loads correctly, though no videobridges are connected. This is what I’d like help to achieve if possible, please.

You may use this guide if you don’t want to setup manually.

1 Like

Hiya,

Thanks for your reply!

I will install Debian 11 Bullseye onto my nodes and attempt to follow that guide.

I’ll let you know of any updates.

@emrah

Thank you so much for that guide you made! It was really easy to set all of that up and I have had no issues at all! I’ve stared your github repo. Thank you for taking the time to make that!

Just one question though, is there a way to see which node the videobridge for a meeting goes on?

And I just want to confirm that the videobridge won’t be created on the main JMS node?

Thanks again!

1 Like

You may use colibri api on JVB node

lxc-attach -qn eb-jvb -- curl -s http://127.0.0.1:8080/colibri/conferences

If you asked this regarding auto-scaling, you might want to check out /usr/local/sbin/aws-jvb-auto-scale script located on JMS host.

Got it,

Thank you very much!

If you don’t want to run JVB on JMS, disable its service. On JMS host

attach the container

lxc-attach eb-jitsi

stop and disable the JVB service

systemctl stop jitsi-videobridge2.service
systemctl disable jitsi-videobridge2.service

detach from the container

ctrl + d

Awesome.

I’ll do that. Thanks again!

Hiya @emrah,

All is working awesome!

Do you have a way to add jwt to the setup?

Thanks again :slight_smile:

You may install jitsi-meet-tokens package manually after the setup.

attach the container

lxc-attach -n eb-jitsi

install the jitsi-meet-tokens package

apt-get install jitsi-meet-tokens
systemctl restart prosody.service

If you want to install it automatically during the setup, you need to clone the repo and to apply some minor changes.

Hiya,

Awesome, I’ll do that.
Doing it manually after the setup is completely fine with me.

Just to be sure, this goes on the JMS host?

yes

Thanks!

Strangely, I am not getting a authorisation request when making a meeting so this should mean that JWT isn’t operating correctly.

Are you able to give me a little help with finding out why? I even rebooted the host which didn’t resolve the issue.

Thanks!

Does the participant join the meeting directly without a token?

Have you applied any changes other than installing jitsi-meet-tokens?

  1. yes, no login is required.

  2. no, I’ve just installed it and restarted.

Seems like there are some changes/bugs in the new jitsi-meet-tokens package. It should apply necessary changes to prosody config but it doesn’t…

For now you can change the config file manually.

attach to the container

lxc-attach eb-jitsi

edit config

Open /etc/prosody/conf.d/YOUR-DOMAIN.cfg.lua with an editor and apply the following

  • disable anonymous and enable token authentication
VirtualHost "YOUR-DOMAIN"
    -- authentication = "anonymous"
    authentication = "token"
    app_id = "myappid"
    app_secret = "myappsecret"
  • Enable token_verification by uncommenting related lines (there are 2 lines)
    "token_verification";

restart prosody

systemctl restart prosody.service

Thank you very much! That all works.

@damencho

The current stable jitsi-meet-tokens doesn’t update prosody config file. The following if block doesn’t run anymore because of the added VirtualHost "jigasi.meet.jitsi" block which already contains authentication = "token":

2 Likes

Thanks for noticing and reporting. Do you want to create a PR with a fix?