feat(bbb-docker): Add enable switches for **Collabora** and **Coturn** + make Collabora URL configurable #372
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This MR introduces opt-in/opt-out switches for bundling Collabora and Coturn inside the BigBlueButton Docker stack. It also makes the Collabora endpoint configurable via
COLLABORA_URL. With these changes, operators can either run the bundled services or disable them to use centralized services provided elsewhere in the infrastructure (e.g., via Infinito.Nexus roles).ENABLE_COLLABORA,ENABLE_COTURNCOLLABORA_URL(used by conversion scripts)depends_onand service blocks in the Compose templatesample.envandscripts/generate-composeThese switches are required to integrate with centralized deployments managed by Infinito.Nexus:
What changed
Compose template (
docker-compose.tmpl.yml)bbb-web.depends_on: gatedcollaborawith{{ if isTrue .Env.ENABLE_COLLABORA }} ... {{ end }}bbb-web.environment: addedCOLLABORA_URLwith sensible defaultetherpad.depends_on: conditionally depends oncollaboraNew conditional blocks:
collaboraservice with{{ if isTrue .Env.ENABLE_COLLABORA }} ... {{ end }}coturnservice with{{ if isTrue .Env.ENABLE_COTURN }} ... {{ end }}Conversion scripts
mod/bbb-web/office-convert.sh: use$COLLABORA_URL/convert-to/...instead of hardcodedhttps://collabora:9980/cool/...mod/etherpad/etherpad-export.sh: same change to use$COLLABORA_URLEnvironment & generation
sample.env: added:scripts/generate-compose: export new flags to the templater:Why
How to use
Bundled services (default):
External/central services:
Ensure your external Coturn and Collabora endpoints are reachable and correctly configured.
Backwards compatibility
COLLABORA_URL. If unset, Compose injects the previous default (https://collabora:9980/cool).Testing
Default path (embedded)
ENABLE_COLLABORA=true,ENABLE_COTURN=true./scripts/generate-composeanddocker compose up -dcollaboraandcoturnCentralized Collabora
ENABLE_COLLABORA=false, setCOLLABORA_URLto externalcollaboraservice in Compose$COLLABORA_URLCentralized Coturn
ENABLE_COTURN=falsecoturnservice in ComposeSecurity considerations
COLLABORA_URLto an external service, ensure TLS and trust boundaries are appropriate.Checklist
depends_onforbbb-webandetherpadCOLLABORA_URLsample.envextended with new varsscripts/generate-composepasses flags to templaterDiff (reference)
Included in the MR: changes to
docker-compose.tmpl.yml,mod/bbb-web/office-convert.sh,mod/etherpad/etherpad-export.sh,sample.env, andscripts/generate-composeas provided in the request.