TechDocs/TechnicalProcesses/BigBlueButton

BigBlueButton processes

This page has been moved to docs.fsfe.org with the rest of the sysadmin documentation.

This page describes some common processes for our BigBlueButton instance. The user-facing documentation is here.

Upgrade BBB

Upgrades should be done carefully. Read the changelog carefully to check for breaking changes.

Before running an upgrade, check whether there are planned or ongoing meetings. You can use /root/bin/bbb-stats.py to identify current meetings.

# Set date as variable
DATE=$(date +%Y-%m-%d)

# Save old BBB configuration
bbb-conf --check > $DATE-pre-update-conf.txt

# Update and upgrade
apt update
apt upgrade

# Set IP for server
bbb-conf --setip conf.fsfe.org

# Save new and compare BBB config
bbb-conf --check > $DATE-post-update-conf.txt
diff $DATE-pre-update-conf.txt $DATE-post-update-conf.txt

It might make sense to reboot the server afterwards.

Upgrade Greenlight

Greenlight is the user interface for the BBB server. We've made some customisations, therefore the upgrade may be a bit more complex. The goal is to have our customisations on branch custom-fsfe, and merge in the latest upstream (in this example tag release-2.X.X).

cd ~/greenlight
git checkout custom-fsfe
git fetch origin
git merge release-2.X.X
# it might be necessary to resolve some conflicts here

# Build new local image
scripts/image_build.sh greenlight-custom release-2.X.X

# Edit the custom docker-compose file, and change the version number of the custom greenlight image to 2.X.X

# Restart the container
docker-compose -f docker-compose-custom.yml down
docker-compose -f docker-compose-custom.yml up -d

In order to see the customisations we did compared to the latest release we're on, run git diff release-2.X.X..custom-fsfe

Room Edits

Editing a room or also users is possible in the greenlight shell.

First of all, you need root access to the server. So, run as root:

docker exec -it greenlight-v2 bash

# inside of the container
bundle exec rails c

From there on, you can make various edits, e.g.

Rename a room

Room.find_by(uid: "CURRENT_ROOM_ID").update_attribute(:uid, "NEW_CUSTOM_ID")

CURRENT_ROOM_ID is something like "use-123-abc-456".

Change room owner

Say, you want to change the owner of the room BBB-TEST from the user max.mehl to mk:

# Get user ids of the two users
User.find_by(name: "max.mehl").id   # result: 8
User.find_by(name: "mk").id         # result: 13

# Change owner id of the room
Room.find_by(uid: "BBB-TEST").update_attribute(:user_id, 13)

Customisations

There are some customisations we made for our BBB server. Here is a rough list that is meant for an internal record of changes. If you as a third-party admin are interested in the exact changes, please contact the System Hackers.

TechDocs/TechnicalProcesses/BigBlueButton (last edited 2023-01-18 13:49:33 by tobiasd)