docker/scripts/dev
chandi 17aa49968d dev mode: use local networks IP instead of docker internal 10.7.7.1
this led to multiple issues with UDP pakets being lost due to IP mismatch
2024-11-25 13:08:38 +01:00

70 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
set -e
cd "$(dirname "$0")/.."
. scripts/functions.sh
ensure_bbbhtml5yml
create_dev_env () {
cp dev.env .env
sed -i "s/BBB_DEV_UID=.*/BBB_DEV_UID=$(id -u)/" .env
sed -i "s/BBB_DEV_GID=.*/BBB_DEV_GID=$(id -g)/" .env
load_env
}
if [ -f ".env" ]; then
load_env
if [[ "$DEV_MODE" == "" ]]; then
echo "Error: .env is not configured as a development environment"
echo ""
read -r -p "Should .env be automatically overwritten with a predefined .env? [Y/n]" response
response=${response,,} # tolower
if [[ $response =~ ^(y| ) ]] || [[ -z $response ]]; then
cp .env .env.bak
create_dev_env
else
echo "we can't continue with a .env file configured as a development environment"
exit 1
fi
fi
else
echo "# creating a .env for the dev setup"
create_dev_env
fi
echo ""
echo "# ensure submodules are checked out"
ensure_submodules
echo ""
echo "# ensure IP in .env is correct"
EXTERNAL_IPv4=$(ip route get 8.8.8.8 | head -1 | awk '{ print $7 }')
echo "The IP of this machine in the local network seems to be"
echo " $EXTERNAL_IPv4"
sed -i "s/EXTERNAL_IPv4=.*/EXTERNAL_IPv4=${EXTERNAL_IPv4}/" .env
sed -i "s/DOMAIN=.*/DOMAIN=${EXTERNAL_IPv4}/" .env
echo ""
echo "# recreating docker-compose.yml"
./scripts/generate-compose
echo ""
echo "# rebuilding images"
docker compose build
echo ""
echo "============================================"
echo "BBB Development server"
echo "============================================"
echo "API Mate: https://mconf.github.io/api-mate/#server=https://${EXTERNAL_IPv4}/bigbluebutton/api&sharedSecret=SuperSecret"
echo "Greenlight: https://${EXTERNAL_IPv4}/"
echo "Check containers: docker-compose ps"
echo "Rebuilding container: docker-compose up --build CONTAINERNAME"
echo "============================================"
sleep 1
docker compose up