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.
- Initial setup
- greenlight: custom-fsfe branch
- add ldap certs for stunnel
- keep database
- sync git changes with latest tag
- baseline
- ssh-key-distributor
- delete default "user" by hostsharing
- bin/bbb-stats.py
- sync recordings in /var/bigbluebutton
- add to our innernet
- greenlight: custom-fsfe branch
- BBB custom configs
- overrides in /etc/bigbluebutton/
- some things in /etc/bigbluebutton/bbb-conf/apply-config.sh
- /etc/cron.daily/bigbluebutton (adjust days, introduce red5 deletion)
- /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini (stunServerAddress, stunServerPort)
- Recording to MP4 file
Cloned bbb-recoding-exporter to /opt/ and copying the two required files to the respective directories. No greenlight modification necessary.
As not available via the package repositories (yet), installed the ruby gem optimist