BigBlueButton - web conferencing system for on-line learning
-
-
Adding the words Big Blue Button to this thread so it can be found if people search for that (like I just did)
-
Apparently their support for Ubuntu 18.04 is coming along https://github.com/bigbluebutton/bbb-install/issues/37
-
Would love to see support for this in cloudron, I've had great experiences with BBB, vps seems to be fine, although the developers really do recommend iron.
-
@fair yeah I'd like BBB on Cloudron even more than Jitsi Meet. It's more of a complete Zoom replacement (and has quite a few nice features Zoom doesn't have too).
I think the main thing stopping the Cloudron team from working on packaging it is that at present it won't run on Ubuntu 18.04. Once that is sorted hopefully they'll prioritise it!
-
@jdaviescoates said in BigBlueButton - web conferencing system for on-line learning:
I think the main thing stopping the Cloudron team from working on packaging it is that at present it won't run on Ubuntu 18.04.
Although I also note that the recommended minimum requirements for BBB in production include running it on a bare metal server:
For a server intended for production, we additionally recommend:
500G of free disk space (or more) for recordings 250 Mbits/sec bandwidth (symmetrical) or more Dedicated (bare metal) hardware A hostname (such as bbb.example.com) for setup of a SSL certificate IPV4 and IPV6 address
Why do we recommend a bare metal server? BigBlueButton uses FreeSWITCH for processing of incoming audio packets and FreeSWITCH works best in a non-virtualized environment (see FreeSWITCH recommended configurations).
https://docs.bigbluebutton.org/2.2/install.html#minimum-server-requirements
So it might be that our best hope of scalable video conferencing on Cloudron is Nextcloud Talk High Performance Backend
-
@jdaviescoates After reading the arguments about why they recommend a bare-metal server ( on https://freeswitch.org/confluence/display/FREESWITCH/Performance+Testing+and+Configurations#PerformanceTestingandConfigurations-RecommendedConfigurations ), it seems to me that running it in cloudron (that means in a container) if cloudron itself is installed on a bare metal machine would be perfectly acceptable, as the kernel and its clock are shared between the host and containers.
-
@mehdi thanks. I've also seen this post https://forum.meet.coop/t/communitybridge/145/3?u=jdaviescoates which would seem to suggest it can work quite well on a VPS too
-
@jdaviescoates said in BigBlueButton - web conferencing system for on-line learning:
I think the main thing stopping the Cloudron team from working on packaging it is that at present it won't run on Ubuntu 18.04. Once that is sorted hopefully they'll prioritise it!
It's getting close! Builds of BigBlueButton 2.3-dev are ready for testing on Ubuntu 18.04 64-bit, see https://docs.bigbluebutton.org/dev/dev23.html
-
Hi all, is there any update on a BBB app? I've been using Kopano, but I'm not liking it too much.
-
Hi @ei8fdb,
@ei8fdb said in BigBlueButton - web conferencing system for on-line learning:
I've been using Kopano, but I'm not liking it too much.
You've mentioned in another topic that you are working in UX design. I would be very interested to learn why you are "not liking it too much". You can reach me through feedback at kopano dot com.
-
@ei8fdb said in BigBlueButton - web conferencing system for on-line learning:
Hi all, is there any update on a BBB app?
I'm assuming there wont be any progress until there is a stable 2.3 release which runs on ubuntu 18.04. Packaging a Cloudron app before then wouldn't really be possible because Cloudron needs ubuntu 18.04.
-
@fbartels I will indeed. Apologies - my comment was unintentionally cryptic. I will reply with a longer explanation during the week.
-
I am currently working on the greenlight Cloudron App for BigBlueButton.
So far the basic functionality is working fine but the ldap-auth is giving me trouble.Right now the /app/code/bin/start script writes these variables
sed -i -e "s/LDAP_SERVER=.*/LDAP_SERVER=$CLOUDRON_LDAP_SERVER/g" /app/data/.env \ && sed -i -e "s/LDAP_PORT=.*/LDAP_PORT=$CLOUDRON_LDAP_PORT/g" /app/data/.env \ && sed -i -e "s/LDAP_BASE=.*/LDAP_BASE=$CLOUDRON_LDAP_USERS_BASE_DN/g" /app/data/.env \ && sed -i -e "s/LDAP_BIND_DN=.*/LDAP_BIND_DN=$CLOUDRON_LDAP_BIND_DN/g" /app/data/.env \ && sed -i -e "s/LDAP_PASSWORD=.*/LDAP_PASSWORD=$CLOUDRON_LDAP_BIND_PASSWORD=/g" /app/data/.env \ && sed -i -e "s/LDAP_METHOD=.*/LDAP_METHOD=plain/g" /app/data/.env \ && sed -i -e "s/LDAP_UID=.*/LDAP_UID=cn/g" /app/data/.env \ && sed -i -e "s/LDAP_AUTH=.*/LDAP_AUTH=simple/g" /app/data/.env \ && sed -i -e "s/LDAP_FILTER=.*/LDAP_FILTER=\(\&\(objectclass=user\)\(\|\(username=%uid\)\(mail=%uid\)\)\)/g" /app/data/.env \ && sed -i -e "s/LDAP_ATTRIBUTE_MAPPING=.*/LDAP_ATTRIBUTE_MAPPING=uid=uid;name=displayname;email=mail;nickname=givenName;/g" /app/data/.env
But the LDAP Login fails.
INFO: [af608168-79eb-41e2-818c-1e514f0306bd] method=POST path=/auth/ldap format=html controller=SessionsController action=ldap status=302 duration=17.26 view=0.00 db=0.71 location=https://greenlight.stage.gzevd.de/ldap_signin host=greenlight INFO: [70994248-8131-4f51-bfdb-db159292bca0] method=GET path=/ldap_signin format=html controller=SessionsController action=ldap_signin status=200 duration=21.65 view=15.03 db=0.86 host=greenlight
Maybe someone can help out?
I just pushed my work here: https://git.cloudron.io/BrutalBirdie/greenlight-app
ps: Please ignore my.gitlab-ci.yml
this is for my own gitlab for deploying and testing the App.EDIT:
Thanks @nebulon
TheLDAP_UID
was wrong. Has to beusername
And the Filter can be deleted.
Pushed. -
@BrutalBirdie this is great, thanks!
I'm assuming you're using BigBlueButton 2.3-alpha-2 as the basis for this?
-
@BrutalBirdie Great news. So greenlight (as one of different other frontends for BigBlueButton) can be used for videoconferencing & user management. While BBB is installed on a different VM or bare metal. And we can use the built in TURN server on Cloudron. Top!
-
I'm assuming you're using BigBlueButton 2.3-alpha-2 as the basis for this?
@jdaviescoates the Greenlight App is just the front end for BigBlueButton.
As @luckow mentioned BBB can be installed anywhere and Greenlight is just the front end which connects to a specific BBB instance or cluster to provide a UI etc. -
I would like someone to review my greenlight-app.
Just heads up this is my first app for Cloudron so I expect some issues but I will be happy to fix and learn from them. -
@girish - can you mark this as WIP for testing?
-
I took a brief look at the app and overall it appears to work. Thanks a lot!
Some things to improve:
- I was not sure how to login with the pre-setup admin, since I didn't know the admin email address
- The tests need also test admin login
- The tests need some code cleanup
- Since it is only the webfrontend as far as I can tell, the icon has to somehow reflect this
- The postinstall docs need to mention the fact that the backend has to be adjusted to not use the default test backend
-
@nebulon said in BigBlueButton - web conferencing system for on-line learning:
I took a brief look at the app and overall it appears to work. Thanks a lot!
Some things to improve:
- I was not sure how to login with the pre-setup admin, since I didn't know the admin email address
- The tests need also test admin login
- The tests need some code cleanup
- Since it is only the webfrontend as far as I can tell, the icon has to somehow reflect this
- The postinstall docs need to mention the fact that the backend has to be adjusted to not use the default test backend
- The Admin E-Mail address is the
Mail FROM Address
aka.CLOUDRON_MAIL_SMTP_USERNAME
variable from e-mail addon also noted in thePOSTINSTALL.md
. As far as I am aware of I can not write thePOSTINSTALL.md
dynamically to display the envCLOUDRON_MAIL_SMTP_USERNAME
.
So either I have to do a better job to explain how to get the E-Mail address from Terminal or the log or use a static e-mail address.
What would be the status quo to for this type of issue? - Will add the test for admin login as well (above issue again, hmm so static admin e-mail would be better?)
- Understandable
- Greenlight has no own Icon sadly, I would suggest the BBB Icon but in Green?
- Will add that.
Cheers.
-
For the email address, we use
admin@server.local
in such a case. Hopefully it is possible to change this later by the user, just like the pre-setup password? -
@nebulon said in BigBlueButton - web conferencing system for on-line learning:
For the email address, we use admin@server.local in such a case. Hopefully it is possible to change this later by the user, just like the pre-setup password?
Yes e-mail and password can be changed.
And I will useadmin@server.local
.Thanks for the input.
-
@nebulon Changes pushed.
-
@BrutalBirdie said in BigBlueButton - web conferencing system for on-line learning:
@jdaviescoates the Greenlight App is just the front end for BigBlueButton.
As @luckow mentioned BBB can be installed anywhere and Greenlight is just the front end which connects to a specific BBB instance or cluster to provide a UI etc.Ah, yes. I actually realised Greenlight is just a front end because it's what we as the front end for the https://meet.coop BBB server.
I was just secretly hoping that because you'd posted about it in this thread about BBB itself, you were working on a package that included BBB itself too!
-
Hey @luckow can you share your insights about BBB as App in Cloudron?
Referring to this conversation:
@jdaviescoates said in Cloudron 5.6.2:
@BrutalBirdie said in Cloudron 5.6.2:
I remember a conversation about BBB as App not being a good idea.
It could possibly be that BBB recommends bare metal servers because freeswitch (which it depends on) works best like that?
https://docs.bigbluebutton.org/2.2/install.html#minimum-server-requirements
But at the same time I have also heard of people using BBB on a VPS without any real issue.
I'd definitely love to have a BBB app!
And I think that once 6.0 with it's unified dashboard (whatever that exactly turns out to be) is out it'll also be easier to have a whole separate VPS dedicated to just Cloudron + BBB, which would help too I imagine.
-
Is the development still going on? I host my church meetings in bbb so I need it like 3 times a week. I currently have a extra server for that which costs a lot. Would be nice to have it in Cloudron directly
I found a container directly from BBB https://hub.docker.com/r/bigbluebutton/bigbluebutton
Although they say not suitable for production use, I would still love it use it. Did someone try it? I can't get it to run on docker. -
@cyberfreakde I don't think anyone has started to package BBB for Cloudron yet as there isn't a stable BBB release that runs on Ubuntu 18.04 yet...
-
@jdaviescoates But if it is a docker container? I think it doesn't matter.
-
2.3-alpha-4 is out:
https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.3-alpha-4
-
@cyberfreakde said in BigBlueButton - web conferencing system for on-line learning:
I think it doesn't matter.
I think it probably does matter, otherwise @staff likely would've started trying to package BBB already (rather than waiting for a stable version that runs on 18.04)
-
Technically speaking, @cyberfreakde is correct. It doesn't matter because container can even contain centos. But to keep our maintenance burden low, we only use Ubuntu 18 in containers. Mentally, this is the equivalent of having to maintain app packages for different distributions.
-
@girish bbb-install.sh supports installing BigBlueButton 2.3 and coturn on Ubuntu 18.04.
-
@robi said in BigBlueButton - web conferencing system for on-line learning:
@girish bbb-install.sh supports installing BigBlueButton 2.3 and coturn on Ubuntu 18.04.
Yes but 2.3 is not stable.
TL;DR
It's not time yet. ~ Sound warning!I also talked to Fred Dixon some weeks before last Christmas about the state of 2.3.
Here a quote from him, which I gather from my memory (all statements without guarantee):
We will not give a release date because we only ship a functional product and don't work with due dates.
This only sets false expectations and leads to bad code.I can share this 2.3-draft where you could get some information about current state of 2.3.
Lets talk BBB and turnserver.
There is a turn addon default by Cloudron.
Problem is, its a docker containercloudron/turn:1.1.0
running on port:listening-port=3478 tls-listening-port=5349
This turnserver is kinda useless.
In short terms, a app is needed for turn, so the turn can listen to port 80/443.
Why?
Company / School with a firewall.
Only Ports 80,443,22,993,587 outbound is allowed. (Everything else blocked).
The turn server should now act like as a MITM (big empasis - like a) so this client can use webRTC via turn.
But since it's running on port 5349/3478 its useless.afaik girish and nebulon are aware of this but it's not a big priority right now. (Which I fully support)
Also BBB takes a lot of resources. For running small sessions 2-5 People or even 10 it could work out.
But since BBB is running alongside other Apps this could lead to quite a problem if to many people turn on their webcam. -
@brutalbirdie said in BigBlueButton - web conferencing system for on-line learning:
afaik girish and nebulon are aware of this but it's not a big priority right now. (Which I fully support)
Actually, I am just fixing this for 6.1. I am trying out https://jitsi.github.io/handbook/docs/devops-guide/turn and hopefully that works. The main motivation for us is to move to using kopano meet internally and I suspect maybe this use of different port is what is causing many issues (which have been reported on this fourm). I hope the config there works because https://github.com/coturn/coturn/issues/43 was initially closed stating it was not possible (i.e turn requires a dedicated server to run on 443!)
-
@girish That might also help nextcloud talk high perf backend too.
-
@doodlemania2 ARG I think I read something about nextcloud talk not support turnservers with TLS?
"(D)TLS is currently not supported by Nextcloud Talk and does not have any real security benefit anyway. For more details see the changelog below." -- https://help.nextcloud.com/t/howto-setup-nextcloud-talk-with-turn-server/30794/93703
So be aware of this.
-
What we really need then is a TURN server integrated with Nginx.
Doing a quick search I haven't found an extension for Nginx, but then I thought why not front the TURN server we have with Nginx as a proxy load balancer which can include port 80/443 and UDP ports.
This post goes into the configuration of something like that:
https://stackoverflow.com/questions/51566225/nginx-load-balancing-a-turn-server@staff could easily adapt this to handle non HTTP traffic via the TURN server and the rest going to the Apps.
-
@robi Yes, see the jitsi handbook link in my previous post.
-
@girish said in BigBlueButton - web conferencing system for on-line learning:
Actually, I am just fixing this for 6.1. I am trying out https://jitsi.github.io/handbook/docs/devops-guide/turn and hopefully that works.
Did this get into 6.1?
-
@jdaviescoates unfortunately, no
-
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.
-
@jeau read also this post 5 most exciting newly added features of BigBlueButton Version 2.3
-
Use the "official" ansible role for the deployment -> https://github.com/ebbba-org/ansible-role-bigbluebutton/tree/develop/2.3
-
Presentation foto for the new release. Taken from the release party.
-
@luckow So, this one adds ubuntu 18/20 support?
-
@girish ubuntu 18 only.
-
@luckow my BBB as a service is almost ready - if anyone is interested, DM me
-
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