2.8 KiB
2.8 KiB
bbb-docker Development
Basics
normally people start BBB with the pre-built docker images, but for developing you need to build them by yourself. For that you need to ensure that the submodules are also checked out:
$ git submodule update --init
Running
you can run bbb-docker locally without any certificate issues with following .env
configurations:
DEV_MODE=true
ENABLE_HTTPS_PROXY=true
#ENABLE_COTURN=true
#ENABLE_GREENLIGHT=true
#ENABLE_WEBHOOKS=true
#ENABLE_PROMETHEUS_EXPORTER=true
#ENABLE_RECORDING=true
DOMAIN=10.7.7.1
EXTERNAL_IPv4=10.7.7.1
STUN_IP=216.93.246.18
STUN_PORT=3478
TURN_SERVER=turns:localhost:5349?transport=tcp
TURN_SECRET=SuperTurnSecret
SHARED_SECRET=SuperSecret
ETHERPAD_API_KEY=SuperEtherpadKey
RAILS_SECRET=SuperRailsSecret
# ====================================
# CUSTOMIZATION
# ====================================
[... add rest of sample.env here ...]
- regenerate
docker-compose.yml
$ ./scripts/generate-compose
- build the images
$ docker-compose build
- you can than start it with
$ docker-compose up -d
- view the logs with
$ docker-compose logs -f
- and access the API via
https://mconf.github.io/api-mate/#server=https://10.7.7.1/bigbluebutton/api&sharedSecret=SuperSecret- At some point your browser will warn you about an invalid certificate, but you can press "Accept the Risk and Continue" / "Proceed to 10.7.7.1 (unsafe)"
Notes
- Joining a room via Greenlight currently leads to a "401 session not found" error (see https://github.com/alangecker/bigbluebutton-docker/issues/66). Use the API Mate instead
Changes
- After doing some changes you usually must...
- recreate
docker-compose.yml
$ ./scripts/generate-compose
- rebuild the image(s):
$ docker-compose build [containername]
- restart changes image(s):
$ docker-compose up -d
- recreate
How to do create a new update for a newer BBB release?
This always consists out of following steps
-
Get an understanding about changes that happened and find out what changes to bbb-docker that require. \
- main source for that are the release notes in https://github.com/bigbluebutton/bigbluebutton/releases
-
Apply these changes to this project.
- Often you only need to update the TAGS in
tags.env
- make sure only to switch to a newer tag if there were changes made avoid creating new (partialy big) images unnecessarily
- Also update submodules to the new state.
- List of all submodules
git submodule
- for the main submodules you can use
./scripts/checkout-submodules
to checkout the tags specified intags.env
- List of all submodules
- Often you only need to update the TAGS in
-
Test everything (with firefox and chromium/chrome)
- Audio
- Video
- Presentation upload
- Shared Notes
-
Create a
CHANGELOG.md
entry -
Create a Pull Request
-
Receive big thanks from @alangecker