87 lines
2.8 KiB
Markdown
87 lines
2.8 KiB
Markdown
|
# 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:
|
||
|
|
||
|
```sh
|
||
|
$ 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`
|
||
|
|
||
|
|
||
|
## 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.** \
|
||
|
* main source for that are the release notes in https://github.com/bigbluebutton/bigbluebutton/releases
|
||
|
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
|