Refactors Dockerfiles and entrypoint script to allow specifying pnpm version via build argument and environment variable. Updates shell script interpreter to bash. Installs bash in production image.
50 lines
1.5 KiB
Bash
50 lines
1.5 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
# Function to handle termination signals
|
|
terminate_process() {
|
|
echo "Terminating Node.js process..."
|
|
pkill -TERM node
|
|
}
|
|
|
|
# Trap termination signals
|
|
trap terminate_process TERM INT
|
|
|
|
# If a custom config directory is not provided,
|
|
# check minimal required environment variables
|
|
if [ -z "${MEET_CONFIG_DIR}" ]; then
|
|
if [ -z "${LIVEKIT_URL}" ]; then
|
|
echo "LIVEKIT_URL is required"
|
|
echo "example: docker run -e LIVEKIT_URL=https://livekit-server:7880 -e LIVEKIT_API_KEY=api_key -e LIVEKIT_API_SECRET=api_secret -p 6080:6080 openvidu-meet"
|
|
exit 1
|
|
fi
|
|
if [ -z "${LIVEKIT_API_KEY}" ]; then
|
|
echo "LIVEKIT_API_KEY is required"
|
|
echo "example: docker run -e LIVEKIT_URL=https://livekit-server:7880 -e LIVEKIT_API_KEY=api_key -e LIVEKIT_API_SECRET=api_secret -p 6080:6080 openvidu-meet"
|
|
exit 1
|
|
fi
|
|
if [ -z "${LIVEKIT_API_SECRET}" ]; then
|
|
echo "LIVEKIT_API_SECRET is required"
|
|
echo "example: docker run -e LIVEKIT_URL=https://livekit-server:7880 -e LIVEKIT_API_KEY=api_key -e LIVEKIT_API_SECRET=api_secret -p 6080:6080 openvidu-meet"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ -n "${MODULES_FILE}" ]; then
|
|
# shellcheck disable=SC1090
|
|
. "${MODULES_FILE}"
|
|
fi
|
|
|
|
PNPM_VERSION=${PNPM_VERSION:-10.18.3}
|
|
|
|
corepack enable
|
|
corepack prepare pnpm@${PNPM_VERSION} --activate
|
|
cd /opt/openvidu-meet || { echo "Can't cd into /opt/openvidu-meet"; exit 1; }
|
|
./meet.sh start --prod &
|
|
|
|
# Save the PID of the Node.js process
|
|
node_pid=$!
|
|
|
|
# Wait for the Node.js process to finish
|
|
wait $node_pid
|