Work in windows and minor fixes

This commit is contained in:
cruiza 2024-03-26 06:55:04 +01:00
parent 736808baab
commit feb0951e2f
10 changed files with 230 additions and 10 deletions

2
.env
View File

@ -6,7 +6,7 @@ USE_TLS=false
# If true USE_TLS must be true
LAN_MODE=false
# LAN IP Address to expose OpenVidu
# IP Address to expose OpenVidu in your LAN
LAN_PRIVATE_IP=auto
# LiveKit API Key and Secret used for apps to connect to the LiveKit server.

View File

@ -78,8 +78,8 @@ const IndexTemplate = `
<li><strong>Minio Console: </strong><a href="{{ .HttpUrl }}/minio-console"
target="_blank">{{ .HttpUrl }}/minio-console</a></li>
{{- if not .HttpsUrl }}
<li><strong>OpenVidu Call: </strong><a href="http://localdomain.com:4443/openvidu-call"
target="_blank">http://localdomain.com:4443/openvidu-call</a></li>
<li><strong>OpenVidu Call: </strong><a href="{{ .HttpUrl }}/openvidu-call"
target="_blank">{{ .HttpUrl }}/openvidu-call</a></li>
{{- end }}
</ul>
<hr class="my-4">

View File

@ -92,6 +92,8 @@ services:
- LAN_PRIVATE_IP=${LAN_PRIVATE_IP:-}
ports:
- "3478:3478/udp"
- "7881:7881/tcp"
- "7882-7892:7882-7892/udp"
entrypoint: /bin/sh /scripts/entrypoint.sh
command: --config /etc/livekit.yaml
volumes:
@ -108,7 +110,7 @@ services:
ports:
- "1935:1935"
- "8085:8085"
- "7885:7885/udp"
- "7895:7895/udp"
environment:
- INGRESS_CONFIG_FILE=/etc/ingress.yaml
volumes:
@ -170,6 +172,13 @@ services:
- LAN_DOMAIN=${LAN_DOMAIN:-}
- LAN_MODE=${LAN_MODE:-false}
- LAN_PRIVATE_IP=${LAN_PRIVATE_IP:-}
- OPENVIDU_SHIM_SECRET=${OPENVIDU_SHIM_SECRET:-}
- LIVEKIT_API_KEY=${LIVEKIT_API_KEY:-}
- LIVEKIT_API_SECRET=${LIVEKIT_API_SECRET:-}
- DASHBOARD_ADMIN_USERNAME=${DASHBOARD_ADMIN_USERNAME:-}
- DASHBOARD_ADMIN_PASSWORD=${DASHBOARD_ADMIN_PASSWORD:-}
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY:-}
depends_on:
- openvidu
- ingress

View File

@ -16,4 +16,4 @@ logging:
level: ""
development: false
rtc_config:
udp_port: 7885
udp_port: 7895

View File

@ -12,8 +12,7 @@ bind_addresses:
- ""
rtc:
tcp_port: 7881
port_range_start: 50000
port_range_end: 60000
udp_port: 7882-7892
redis:
address: redis:6379
username: ""

View File

@ -1 +1,81 @@
#!/bin/bash
#!/bin/sh
showHelp() {
echo ""
echo "Run OpenVidu Local Deployment in Linux"
echo ""
echo "-------"
echo " Usage "
echo "-------"
echo " $0 <command>"
echo ""
echo "----------"
echo " Commands "
echo "----------"
echo " start - Start OpenVidu"
echo " stop - Stop OpenVidu"
echo " help - Show this help"
echo ""
}
getPrivateIp() {
ip=$(ipconfig getifaddr $(route -n get default | grep interface | awk '{print $2}'))
echo "$ip"
}
# Flags
START=false
STOP=false
if [ -n "${1:-}" ]; then
while :; do
case "${1:-}" in
start)
START=true
shift 1
break
;;
stop)
STOP=true
shift 1
break
;;
help)
showHelp
exit 0
;;
*)
echo "Not a valid command. For usage information: \"$0 help\""
exit 1
;;
esac
done
else
showHelp
exit
fi
if [ "$START" = "true" ]; then
# Load environment variables
if [ -f .env ]; then
export $(grep -v '^#' .env | xargs)
fi
if [ "$LAN_PRIVATE_IP" = "auto" ]; then
LAN_PRIVATE_IP="$(getPrivateIp)"
if [ -z "$LAN_PRIVATE_IP" ]; then
LAN_PRIVATE_IP=none
fi
export LAN_PRIVATE_IP
fi
echo "Starting OpenVidu..."
export RUN_WITH_SCRIPT=true
docker compose down --volumes
docker compose up
fi
if [ "$STOP" = "true" ]; then
echo "Stopping OpenVidu"
docker compose down --volumes
fi

80
openvidu_windows.bat Normal file
View File

@ -0,0 +1,80 @@
@echo off
setlocal enabledelayedexpansion
:: Function to show help
call :showHelp || exit /b 1
goto :main
:showHelp
echo.
echo Run OpenVidu Local Deployment in Windows
echo.
echo -------
echo Usage
echo -------
echo %~nx0 ^<command^>
echo.
echo ----------
echo Commands
echo ----------
echo start - Start OpenVidu
echo stop - Stop OpenVidu
echo help - Show this help
echo.
exit /b 0
:getPrivateIp
for /f "tokens=4" %%i in ('route print ^| findstr "\<0.0.0.0\>"') do (
set ip=%%i
goto :eof
)
goto :eof
:main
if "%1"=="" (
call :showHelp
goto :eof
)
if /i "%1"=="start" (
call :startOpenVidu
goto :eof
)
if /i "%1"=="stop" (
call :stopOpenVidu
goto :eof
)
if /i "%1"=="help" (
call :showHelp
goto :eof
)
echo Not a valid command. For usage information: ".\%~nx0 help"
exit /b 0
:startOpenVidu
if exist .env (
for /f "usebackq tokens=*" %%a in (".env") do (
echo %%a | findstr /v /b /c:"#" >nul
if not errorlevel 1 set %%a
)
)
if "%LAN_PRIVATE_IP%"=="auto" (
call :getPrivateIp || exit /b 1
if defined ip (
set LAN_PRIVATE_IP=!ip!
) else (
set LAN_PRIVATE_IP=none
)
)
echo Starting OpenVidu...
set RUN_WITH_SCRIPT=true
docker-compose down --volumes || exit /b 1
docker-compose up || exit /b 1
exit /b 0
:stopOpenVidu
echo Stopping OpenVidu...
docker-compose down --volumes || exit /b 1
exit /b 0

View File

View File

@ -2,6 +2,13 @@
. /scripts/utils.sh
trap 'handle_sigint' SIGINT
handle_sigint() {
echo "SIGINT signal received, exiting..."
exit 1
}
wait_for_service() {
SERVICE_NAME=$1
SERVICE_URL=$2
@ -38,7 +45,52 @@ echo ''
echo ''
echo '------------------------'
echo 'OpenVidu is ready!'
echo "Open $URL in your browser"
echo '------------------------'
echo ''
echo '🎉🎉🎉 Welcome Page: http://localhost:8090' 🎉🎉🎉
echo ''
echo '------------------------'
if [ "${USE_TLS}" = 'true' ]; then
echo '========================'
echo 'HTTPS services:'
echo '========================'
if [ "${LAN_MODE}" = 'true' ]; then
echo 'NOTE: You can access all of these services on any device'
echo 'connected to the same network as this machine'
fi
echo "- OpenVidu and LiveKit API: ${URL}"
echo "- OpenVidu Dashboard: ${URL}/dashboard"
echo "- Minio Console: ${URL}/minio-console"
echo "- OpenVidu Call: ${URL}/openvidu-call"
echo "- Your App*: ${URL}"
echo " *: Any application deployed at port 5442 will be accessible through ${URL}"
fi
echo ''
echo '========================'
echo 'HTTP services:'
echo '========================'
echo "- OpenVidu and LiveKit API: http://localhost:8090"
echo "- OpenVidu Dashboard: http://localhost:8090/dashboard"
echo "- Minio Console: http://localhost:8090/minio-console"
if [ "${USE_TLS}" = 'false' ]; then
echo '- OpenVidu Call: http://localhost:8090/openvidu-call'
fi
echo ''
echo '========================'
echo 'Credentials:'
echo '========================'
echo 'OpenVidu Basic Auth:'
echo ' - Username: OPENVIDUAPP'
echo " - Password: ${OPENVIDU_SHIM_SECRET}"
echo 'LiveKit API:'
echo " - Username: ${LIVEKIT_API_KEY}"
echo " - Password: ${LIVEKIT_API_SECRET}"
echo 'OpenVidu Dashboard:'
echo " - Username: ${DASHBOARD_ADMIN_USERNAME}"
echo " - Password: ${DASHBOARD_ADMIN_PASSWORD}"
echo 'Minio:'
echo " - Access Key: ${MINIO_ACCESS_KEY}"
echo " - Secret Key: ${MINIO_SECRET_KEY}"
echo '------------------------'
echo ''
echo ''

View File

@ -8,7 +8,7 @@ if [ "$RUN_WITH_SCRIPT" = 'false' ]; then
echo ''
echo ' - Linux: ./openvidu_linux.sh start'
echo ' - MacOS: ./openvidu_macos.sh start'
echo ' - Windows: ./openvidu_windows.ps1'
echo ' - Windows: ./openvidu_windows.bat start'
echo ''
echo '------------------------'
exit 1