@@ -22,6 +22,60 @@ if [ -f "package.json" ]; then
2222 bun install --ignore-scripts --frozen-lockfile || bun install --ignore-scripts
2323fi
2424
25+ # ==========================================
26+ # LIVEKIT INTEGRATION
27+ # ==========================================
28+ export LIVEKIT_YAML_PATH=" Livekit/livekit.yaml"
29+
30+ if [ -f " Livekit/livekit-server" ]; then
31+ echo " LiveKit binary found. Setting up embedded LiveKit Server..."
32+
33+ # Generate keys if they don't exist
34+ if ! grep -q " ^keys:" " ${LIVEKIT_YAML_PATH} " 2> /dev/null; then
35+ echo " Generating new LiveKit keys..."
36+ OUTPUT=$( ./Livekit/livekit-server generate-keys)
37+ API_KEY=$( echo " $OUTPUT " | awk ' /API Key:/ {print $3}' )
38+ API_SECRET=$( echo " $OUTPUT " | awk ' /API Secret:/ {print $3}' )
39+
40+ touch " ${LIVEKIT_YAML_PATH} "
41+ /usr/local/bin/yq -i '
42+ .keys = {} |
43+ .keys["' " $API_KEY " ' "] = "' " $API_SECRET " ' "
44+ ' " ${LIVEKIT_YAML_PATH} "
45+ echo " LiveKit Keys generated."
46+ fi
47+
48+ echo " Syncing LiveKit Ports..."
49+ if [ -n " $LIVEKIT_PORT " ]; then
50+ /usr/local/bin/yq -i ' .port = ' " $LIVEKIT_PORT " " ${LIVEKIT_YAML_PATH} "
51+ fi
52+ if [ -n " $RTC_TCP_PORT " ]; then
53+ /usr/local/bin/yq -i ' .rtc.tcp_port = ' " $RTC_TCP_PORT " " ${LIVEKIT_YAML_PATH} "
54+ fi
55+ if [ -n " $RTC_UDP_PORT " ]; then
56+ /usr/local/bin/yq -i ' .rtc.udp_port = ' " $RTC_UDP_PORT " " ${LIVEKIT_YAML_PATH} "
57+ fi
58+
59+ echo " Reading LiveKit Keys to sync with DCTS .env..."
60+ API_KEY=$( /usr/local/bin/yq e ' .keys | keys | .[0]' " ${LIVEKIT_YAML_PATH} " )
61+ API_SECRET=$( /usr/local/bin/yq e ' .keys | .["' " $API_KEY " ' "]' " ${LIVEKIT_YAML_PATH} " )
62+
63+ touch .env
64+ # Remove old keys if present
65+ sed -i ' /^LIVEKIT_API_KEY=/d' .env
66+ sed -i ' /^LIVEKIT_API_SECRET=/d' .env
67+
68+ # Inject keys into .env
69+ echo " LIVEKIT_API_KEY=${API_KEY} " >> .env
70+ echo " LIVEKIT_API_SECRET=${API_SECRET} " >> .env
71+
72+ echo " Starting LiveKit server in the background..."
73+ ./Livekit/livekit-server --config " ${LIVEKIT_YAML_PATH} " &
74+ else
75+ echo " Notice: LiveKit binary not found. Running purely as chat server."
76+ fi
77+ # ==========================================
78+
2579MODIFIED_STARTUP=$( echo " ${STARTUP} " | sed -e ' s/{{/${/g' -e ' s/}}/}/g' )
2680MODIFIED_STARTUP=$( eval " echo \" $MODIFIED_STARTUP \" " )
2781
0 commit comments