Describe BigBlueButtonRebuild here.

Rebuild Procedure

VM and Operating System

  • Back up previous VM
  • Change IP address of previous VM to another IP in UCC Machine Room range
  • Create new VM on UCC Proxmox cluster
    • New VM config is 8GB, 8 cores, defaults for most things
    • New VM storage is 32G, on vmstore_ssd
  • Install base operating system for BigBlueButton

    • Ubuntu 18.04 (via
  • Provision on network with original VM IP address
  • Add UCC wheel keys to root user and permit root logins remotely via SSH


The UCC Ansible SOE has a playbook for making the new BigBlueButton host a UCC server.

  • If not already present, add the host to ucc-hosts inventory under bbb-hosts
  • Run the playbook

ansible-playbook -K -i ucc-hosts bbb-hosts.yml

Big Blue Button Install

  • Download the script  wget 

  • Edit out the check for an external IP address around line 500
  • Run with the following command line arguments

time eatmydata ./ -v bionic-23 -a -w -g -s -e [email protected] -x

Let's Encrypt

As the host will not have a working webserver initial to do URL based challenges, you need do a DNS TXT challenge manually. Do this via the usual UCC DNS update mechanism. Or use QuoVadis per SSLCertificates.

Configuration changes

  • If you edited to not check for an external IP, this shouldn't be necessary.
  • Use  bbb-conf -check  to find all the locations where the external IP of the host should be used (the Cloudflare IP will be appearing here incorrectly)

  • Use for the STUN server
  • These locations include:
    • /opt/freeswitch/etc/freeswitch/vars.xml
    • /opt/freeswitch/etc/freeswitch/sip_profiles/external.xml
    • /etc/bigbluebutton/nginx/sip.nginx
    • /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml
    • /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml
    • /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
  • A copy of the output of  bbb-conf -check  has been placed in /home/wheel/docs/bbb-conf-check.txt


The LDAP config for the UCC BigBlueButton is in the Greenlight .env file /root/greenlight/.env

It roughly looks like this


Check that things mostly work with the Demo

Data Migration


You can copy the existing databases from the previous host across from /root/greenlight/db into the same location on the new host

You will need to do some work to update the DB password and do the database migration ( [TRS] can you help fill this out )

docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
docker-compose up -d
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
docker exec -it greenlight-v2 /bin/bash
docker-compose down
docker-compose up -d


This can be copied from /var/bigbluebutton/published to the new host


Have a long evening chat with your fellow UCCans

Clean Up

  • apt-get purge bbb-demo

Future Tasks

  • Set up the Let's Encrypt cert before BBB install (needs UCC DNS helper infrastructure first)
  • Look at one of the suggested ansible roles for installation from the BBB website and integrate into the UCC Ansible SOE


Thanks to [MPT], [NTU], [TRS], [TPG] and [MTL] for making it work again