#!/bin/bash set -e cd $(dirname $0)/.. # load .env . scripts/functions.sh load_env ensure_bbbhtml5yml # check for non-optional environment variables, # which got introduced later and may miss in existing # .env files during upgrades if [ -z "$EXTERNAL_IPv4" ]; then echo "ERROR: EXTERNAL_IPv4 is not set in .env" echo "BBB won't work without it." exit 1 fi function get_tag { # is submodule checked out? if [ -f "$1/.git" ]; then git --git-dir=$1/.git describe --tags --always else # get cached tag name from repos/tags grep "$1" repos/tags | awk '{print $2}' fi } # https://hub.docker.com/r/bigbluebutton/bbb-build BBB_BUILD_TAG=v3.0.x-release--2024-08-30-014114 docker run \ --rm \ -v $(pwd)/docker-compose.tmpl.yml:/docker-compose.tmpl.yml \ -e TAG_BBB=$(get_tag repos/bigbluebutton) \ -e TAG_FREESWITCH=$(get_tag repos/freeswitch) \ -e TAG_WEBRTC_SFU=$(get_tag repos/bbb-webrtc-sfu) \ -e TAG_WEBHOOKS=$(get_tag repos/bbb-webhooks) \ -e TAG_PLAYBACK=$(get_tag repos/bbb-playback) \ -e TAG_WEBRTC_RECORDER=$(get_tag repos/bbb-webrtc-recorder) \ -e TAG_PADS=$(get_tag repos/bbb-pads) \ -e COMMIT_ETHERPAD_SKIN=$(get_tag repos/bbb-etherpad-skin) \ -e COMMIT_ETHERPAD_PLUGIN=$(get_tag repos/bbb-etherpad-plugin) \ -e BBB_BUILD_TAG=${BBB_BUILD_TAG} \ -e DEV_MODE=${DEV_MODE:-false} \ -e EXTERNAL_IPv6=${EXTERNAL_IPv6:-} \ -e ENABLE_RECORDING=${ENABLE_RECORDING:-false} \ -e ENABLE_HTTPS_PROXY=${ENABLE_HTTPS_PROXY:-false} \ -e ENABLE_WEBHOOKS=${ENABLE_WEBHOOKS:-false} \ -e ENABLE_GREENLIGHT=${ENABLE_GREENLIGHT:-false} \ -e ENABLE_PROMETHEUS_EXPORTER=${ENABLE_PROMETHEUS_EXPORTER:-false} \ -e ENABLE_PROMETHEUS_EXPORTER_OPTIMIZATION=${ENABLE_PROMETHEUS_EXPORTER_OPTIMIZATION:-false} \ jwilder/dockerize -template /docker-compose.tmpl.yml \ > docker-compose.yml