BigBlueButton Server

BigBlueButton is a free software web conferencing system that features a whiteboard that suits lectures and training sessions. It has integrations for many of the major learning and content management systems.

Droplets created by using this image allow videoconferencing between different platforms (i.e. Windows, Mac, Linux), just requiring to open a new browser tab from a modern web browser such as Firefox or Chrome.

This is a pre-configured image that is ready to use. You’ll only need a domain and a few additional steps to enable HTTPS for secure communication with your students or teams.

It is recommended to run this image on a CPU-Optimized droplet with at least 4GB of RAM or higher. It works on General Purpose droplets but the performance can be degraded. The detailed hardware requirements can be seen here.

Software Included

Package Version License
BigBlueButton 2.20 LGPL
NGINX 1.14 Simplified BDS License

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the BigBlueButton Server 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB BigBlueButton Server Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "opentradestatist-bigbluebuttonser-16-04"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying BigBlueButton Server

Configure BigBlueButton

Step 1

Create a droplet from the image available in the Marketplace.

Step 2

The image is ready to run over HTTP, but we do recommend to enable HTTPS. If you want to run the image over HTTP, you can access from the IP or you can associate a domain to the droplet you’ve just created.

Here’s an excellent guide to associate a domain: https://www.digitalocean.com/docs/networking/dns/how-to/add-domains/. It is mandatory to add an A record (i.e. bigbluebutton-example.digitalocean.com) pointing to the IP associated with your droplet.

Step 3

Access the console (i.e via ssh by running ssh root@123.456.789) and set a new password.

To configure HTTPS, including the certificates, I simplified the process to running this script:

./https-01.sh example.digitalocean.com 2048

or

./https-01.sh example.digitalocean.com 4096

The difference between 2048 and 4096 is that the former shall create a stronger certificate, but it’s much slower to process.

Now create the certificates:

certbot --webroot -w /var/www/bigbluebutton-default/ -d example.digitalocean.com certonly

It is very important that you write the Terms of Service to use Let’s Encrypt and that you type a valid email, because the service shall notify you when you need to update the certificates since those have a expiry date.

Now apply the configuration with:

./https-02.sh example.digitalocean.com 2048

or

./https-02.sh example.digitalocean.com 4096

Depending on what you did in the previous steps.

Step 4

Check the installation with:

bbb-conf --check

This shall show you some basic recommendations such as disabling the demo sessions.

Please don’t skip the documentation if you want to personalize the installation. The documentation explains nice features, such as enforcing HTTPS and increasing the file size for an uploaded presentation.