BigBlueButton - web conferencing system for on-line learning
-
Hi,
from time to time there is an app request for jitsi & BigBlueButton here in the forum. I would like to throw my 2 cents into this discussion.
First: We need a turn server on port 443 and 80 to help people join conferences. There are so many stupid networks / firewalls that a turn server is mandatory. Good news: We have a turn server as an app on Cloudron. Maybe later, it's possible to configure this app.
Second: What is the background to this request? A video conference with friends? Say up to 10 people on the server? A combination of moodle and BigBlueButton for your local school? All my experience with video conferencing for larger groups brings me to the conclusion: forget these apps on Cloudron. They are hungry. In terms of RAM, CPU and bandwidth. The underlying software stack is real-time critical. Better use bare metal instead of cheap VMs. For schools, you need a cluster of BBB nodes and an upstream load balancer. Because of latency, you need a hosting provider close to most of the people using the video conference. For really huge conferences you need a dedicated 10 Gbit network. You need a lot of customisation under the hood. In short, to have a reliable infrastructure for videoconferencing, you need a lot of time to dig deep into the subject.
(My) conclusion: We have Kopano Meet as an app. Let's make this app better for our use case (having a self hosted videoconference for our family and friends meetings). We have Greenlight as a frontend for dedicated BigBlueButton infrastructure. We can use Moodle, Nextcloud and WordPress as alternative frontends for BBB servers. We have Grafana and Prometheus for the metrics of BBB servers. We can use Statping.
Good news is:
The installation process for a dedicated BBB server is painless.
https://github.com/bigbluebutton/bbb-installWait for the configurable turn app on Cloudron or install a coturn yourself.
- Click yourself a dedicated bare metal. Let's say https://www.hetzner.com/de/dedicated-rootserver/ax41-nvme
- Install ubuntu 16 on it.
- SSH into it
- wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -v xenial-22 -s bbb.example.com -e info@example.com -c <hostname>:<secret>
- Install Greenlight on Cloudron
- Take the output of bbb-conf --secret and put it into .env of Greenlight.
- Restart the Greenlight app.
- Happy videoconferencing with many users.
For a better understanding of "What's going on?" install https://github.com/greenstatic/bigbluebutton-exporter to your BBB instance and add Grafana and Prometheus to your Cloudron.
The basic installation of a dedicated Jitsi instance is also trouble-free.
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstartSince my larger conferences rely on BigBlueButton, I didn't feel the need to dig deep into jitsi's scaling. That's why I've installed jitsi meet on cheap VMs for up to 30 users.
But if you want to go deeper into this topic, here is a link to a talk by a maintainer of jitsi meet -> https://fosdem.org/2021/schedule/event/jitsi_scaling/ -
@luckow These are good points. I don't think its a bad idea to have the option (like with Jitsi) still but BBB specifically should stay out. Especially when considering how resource hungry it is and that it requires older versions of Ubuntu. That being said Cloudron should probably never be used for truly large scale conferences simply because those tasks are better suited for distributed setups behind a loadbalancer as you said.
I did also want to mention that there are cloudron instances that have more resources available. I'm running an i3-9100 and 128GB of RAM. My CPU and 300Mbps network bandwidth are the bottlenecks now and would still not be suited to this sort of high load scenario (large conferences)
-
@atrilahiji I'm increasingly inclined to agree - and the Greenlight interface being available and usable by Cloudron LDAP seems like the best of all worlds for that split. That's a really elegant solution that meets needs in my opinion for anyone who needs heavier-duty conferencing.
-
@luckow Thanks! I put your instructions here - https://docs.cloudron.io/apps/greenlight/#installing-bigbluebutton
-
@atrilahiji said in BigBlueButton - web conferencing system for on-line learning:
BBB specifically should stay out. Especially when considering how resource hungry it is and that it requires older versions of Ubuntu.
BBB 2.3 that'll work on Ubuntu 18.04 is getting there (currently alpha-8) and with Cloudron 7.0 we should be getting multi-host support, which would make it easier to give BBB it's own server.
I'd still love it on here!
-
@jdaviescoates yeah same. For me itβs mostly because Iβm cheap. If I can avoid paying for a VPS I want to try. Everything I run now (except for my BBB backend) is on my home server
-
@atrilahiji heh, fair enough. Like lots of people I don't have good enough internet at home to be able to do that
-
Version 2.3 just released
https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.3.0But the documentation is not yet up to date, especially about the installation which is now possible on Ubuntu 18.04 and about the improvements and new features.
-
Use the "official" ansible role for the deployment -> https://github.com/ebbba-org/ansible-role-bigbluebutton/tree/develop/2.3
-
-
BBB as a service is now available for testing... DM me if you'd like to hook your Greenlights up to it.
-
@doodlemania2 where are the server instances located? I only have instances in germany. So no experience with other countries
If you need a nice default presentation which explains the BBB-UI go to Presentation_Slides -> BBB-default-slides_en.pdf https://cloud.ebbba.org/s/Q2i9FqZaPdjQKmM -
@luckow I have one in Southern California and another in Dallas, TX. Everything except presentations work (screen sharing, polls, chat, voice/video, presence, CC, etc all good). Will figure out presentations in a day or so.
DM me if you wanna give it a spin.
-
Everything except presentations work
Did you use ansible? I just fixed a permission issue with bbb-web and bbb-html5 which blocked presentation parsing.
-
@brutalbirdie nah, good ol docker compose