docker/docs/development.md
2023-05-07 11:07:09 +02:00

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_SuperRailsSecret

# ====================================
# CUSTOMIZATION
# ====================================

[... add rest of sample.env here ...]

Notes

  • Due to the self signed ssl certificate it is currently not possible to notify greenlight about recordings in dev mode

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

How to do create a new update for a newer BBB release?

This always consists out of following steps

  1. Get an understanding about changes that happened and find out what changes to bbb-docker that require. \

  2. 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 in tags.env
  3. Test everything (with firefox and chromium/chrome)

    • Audio
    • Video
    • Presentation upload
    • Shared Notes
  4. Create a CHANGELOG.md entry

  5. Create a Pull Request

  6. Receive big thanks from @alangecker