Customization of BigBlueButton 2.2

Batuhan Kök
Doğuş Technology
Published in
3 min readOct 18, 2021

In my previous post, I explained in detail how to install the BigBlueButton. If you are still having problems with the installation, please re-check the steps in this post.

In this article, we’re going to customize both BigBlueButton 2.2 and its user interface “Greenlight”. Let’s review its folder structure.

File/Folder Structure of Greenlight

When you connect the server via SSH, the root path welcomes you.

batuhan $ ssh root@123.123.123.123
root@bbb: root@123.123.123.123's password:
root@bbb:
Welcome to Ubuntu 18.04.6 LTS
root@bbb:
~#
root@bbb: ~# ls
greenlight

In the folder of “greenlight”, there are 2 important files. One of them is “docker-compose.yml” and the other one is “.env” file.

  • docker-compose.yml : To run the apps via Docker
  • .env : Contains some credentials

Convert Greenlight to Customization Mode

If you want to customize Greenlight, you need to take actions below:

root@bbb: ~# mv greenlight greenlight-old
root@bbb: ~# git clone https://github.com/bigbluebutton/greenlight.git
root@bbb: ~# cp greenlight-old/.env greenlight/.env

We moved “greenlight” folder to “greenlight-old” folder. Then, we clone the original repository to our sever and we copy “.env” file from the old to the new “greenlight” folder. Now, we need to update greenlight’s docker-compose file.

root@bbb: ~# cd greenlight
root@bbb: ~/greenlight# nano docker-compose.yml

docker-compose.yml opens like this:

version: '3'services:
app:
entrypoint: [bin/start]
image: bigbluebutton/greenlight:v2
container_name: greenlight-v2
env_file: .env
...
...
...

We need to change “image:” line with:

image: uzem:release-v2

So, the final docker-compose.yml must be like that:

version: '3'services:
app:
entrypoint: [bin/start]
image: uzem:release-v2
container_name: greenlight-v2
env_file: .env
...
...
...

Now, we can build and up Greenlight with this:

root@bbb: ~/greenlight# docker-compose down && ./scripts/image_build.sh uzem release-v2 && docker-compose up -d

If there is no error, everything is okay, we can proceed to customizations 😊

Greenlight Customizations

Let’s customize the user interface application of BigBlueButton.

Site Settings Page of Greenlight

How to change the logo?
Login to Greenlight with your admin credentials and click to “organization > site settings”. You can paste your logo URL to “Branding Image” field.

How to change colors?
Login to Greenlight with your admin credentials and click to “organization > site settings”. You can choose a new color by clicking to “Primary Color”.

How to “Features” block in the homepage for guests?
Connect to the server via a simple FTP client. Go to “/greenlight/app/views/main/components/” and edit “_features.html.erb” file with any code editor.

How to page title and favicon?
Connect to the server via a simple FTP client. Go to “/greenlight/app/views/layouts/” and edit “application.html.erb” file with any code editor.

How to remove recordings from logged-in users?
Connect to the server via a simple FTP client. Go to “/greenlight/app/views/users/” and edit “recordings.html.erb” file with any code editor.

BigBlueButton Customizations

Let’s edit the BigBlueButton application for editing meeting pages.

BigBlueButton’s Folders (Transmit)

How to change the page title of the meeting page?

root@bbb: ~# nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

How to change the default welcome message?

root@bbb: ~# nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

How to change some other defaults?

  • Default favicon: /var/www/bigbluebutton-default/favicon.ico
  • Default presentation: /var/www/bigbluebutton-default/default.pptx
  • Default pdf: /var/www/bigbluebutton-default/default.pdf

Bonus 🎉

  • Restart only BigBlueButton:
root@bbb: ~# bbb-conf — restart
  • Adding new admin:
root@bbb: ~# docker exec greenlight-v2 bundle exec rake user:create["Batuhan Kök","hello@batuhan.me","123456","admin"]
  • Recordings: 10 minutes meeting record ~= 10 mb.

Have a great day 👋

--

--

Batuhan Kök
Doğuş Technology

full-stack developer @luxoft • web3/smart-contract