OVHserver/opt/02-core/bigbluebutton/scripts/generate-compose
SamoilenkoVadym 256cdc2a04 feat: добавлен BigBlueButton для проведения workshops
- Установлен BigBlueButton с Greenlight v3 frontend
- Настроен SMTP через Microsoft 365 Relay (aiimpress-com0e.mail.protection.outlook.com:25)
- Email отправка работает: noreply@ai-impress.com
- Доступ: https://bbb.ai-impress.com
- Настроена интеграция с Traefik для SSL
- Включены: запись вебинаров (90 дней), webhooks для n8n, Prometheus экспорт
- Локаль: русский язык (ru-RU)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 21:13:40 +00:00

65 lines
2.2 KiB
Bash
Executable file

#!/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
if [ "$ENABLE_HTTPS_PROXY" ] && [ -z "$LETSENCRYPT_EMAIL" ] && [ -z "$DEV_MODE" ]; then
echo "ERROR: LETSENCRYPT_EMAIL is not set in .env"
echo "you need to specify an email adress, otherwise the certificate"
echo "retrieval will fail"
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
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 IGNORE_TLS_CERT_ERRORS=${IGNORE_TLS_CERT_ERRORS:-} \
-e EXTERNAL_IPv6=${EXTERNAL_IPv6:-} \
-e SIP_IP_ALLOWLIST=${SIP_IP_ALLOWLIST:-} \
-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