2020-07-22 00:57:51 +02:00
# bbb-docker Development
2022-05-09 12:21:50 +02:00
## 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
```
2020-07-22 00:57:51 +02:00
## Running
you can run bbb-docker locally without any certificate issues with following `.env` configurations:
```
DEV_MODE=true
ENABLE_HTTPS_PROXY=true
2021-06-01 17:51:55 +02:00
#ENABLE_COTURN=true
2020-07-22 00:57:51 +02:00
#ENABLE_GREENLIGHT=true
#ENABLE_WEBHOOKS=true
2020-10-20 21:43:23 +02:00
#ENABLE_PROMETHEUS_EXPORTER=true
#ENABLE_RECORDING=true
2020-07-22 00:57:51 +02:00
DOMAIN=10.7.7.1
2020-10-20 21:43:23 +02:00
EXTERNAL_IPv4=10.7.7.1
2020-07-22 00:57:51 +02:00
STUN_IP=216.93.246.18
STUN_PORT=3478
2021-06-01 17:51:55 +02:00
TURN_SERVER=turns:localhost:5349?transport=tcp
2020-07-22 00:57:51 +02:00
2021-06-01 17:51:55 +02:00
TURN_SECRET=SuperTurnSecret
2020-07-22 00:57:51 +02:00
SHARED_SECRET=SuperSecret
ETHERPAD_API_KEY=SuperEtherpadKey
2023-03-21 14:03:03 +01:00
RAILS_SECRET=SuperRailsSecret_SuperRailsSecret
2020-07-22 00:57:51 +02:00
# ====================================
# CUSTOMIZATION
# ====================================
[... add rest of sample.env here ...]
```
2021-02-11 15:34:57 +01:00
- regenerate `docker-compose.yml` \
`$ ./scripts/generate-compose`
2022-05-09 12:21:50 +02:00
- build the images \
2023-05-07 11:07:09 +02:00
`$ docker compose build`
2020-07-22 00:57:51 +02:00
- you can than start it with \
2023-05-07 11:07:09 +02:00
`$ docker compose up -d`
2020-07-22 00:57:51 +02:00
- view the logs with \
2023-05-07 11:07:09 +02:00
`$ docker compose logs -f`
2020-07-22 00:57:51 +02:00
- 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)"_
2021-03-27 18:50:57 +01:00
2020-10-20 21:43:23 +02:00
## Notes
2023-03-24 23:01:50 +01:00
- Due to the self signed ssl certificate it is currently not possible to notify greenlight about recordings in dev mode
2020-10-20 21:43:23 +02:00
2020-07-22 00:57:51 +02:00
## Changes
- After doing some changes you usually must...
2021-02-11 15:34:57 +01:00
- recreate `docker-compose.yml` \
`$ ./scripts/generate-compose`
2020-07-22 00:57:51 +02:00
* rebuild the image(s): \
2023-05-07 11:07:09 +02:00
`$ docker compose build [containername]`
2020-07-22 00:57:51 +02:00
* restart changes image(s): \
2023-05-07 11:07:09 +02:00
`$ docker compose up -d`
2021-03-27 18:50:57 +01:00
## 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.** \
2022-05-09 12:21:50 +02:00
* main source for that are the release notes in https://github.com/bigbluebutton/bigbluebutton/releases
2021-03-27 18:50:57 +01:00
2. **Apply these changes to this project.**
2022-05-09 12:21:50 +02:00
* 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`
2021-03-27 18:50:57 +01:00
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