diff --git a/.env b/.env
index dc0f397..9dd5e01 100644
--- a/.env
+++ b/.env
@@ -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.
diff --git a/caddy-proxy/templates/index.go b/caddy-proxy/templates/index.go
index bc2d27d..71fff8b 100644
--- a/caddy-proxy/templates/index.go
+++ b/caddy-proxy/templates/index.go
@@ -78,8 +78,8 @@ const IndexTemplate = `
Minio Console: {{ .HttpUrl }}/minio-console
{{- if not .HttpsUrl }}
- OpenVidu Call: http://localdomain.com:4443/openvidu-call
+ OpenVidu Call: {{ .HttpUrl }}/openvidu-call
{{- end }}
diff --git a/docker-compose.yaml b/docker-compose.yaml
index f19f112..a07aabe 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -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
diff --git a/ingress.yaml b/ingress.yaml
index 5846e6a..cbe564d 100644
--- a/ingress.yaml
+++ b/ingress.yaml
@@ -16,4 +16,4 @@ logging:
level: ""
development: false
rtc_config:
- udp_port: 7885
+ udp_port: 7895
diff --git a/livekit.yaml b/livekit.yaml
index 26ce351..64a8142 100644
--- a/livekit.yaml
+++ b/livekit.yaml
@@ -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: ""
diff --git a/openvidu_macos.sh b/openvidu_macos.sh
index a9bf588..139a6aa 100644
--- a/openvidu_macos.sh
+++ b/openvidu_macos.sh
@@ -1 +1,81 @@
-#!/bin/bash
+#!/bin/sh
+
+showHelp() {
+ echo ""
+ echo "Run OpenVidu Local Deployment in Linux"
+ echo ""
+ echo "-------"
+ echo " Usage "
+ echo "-------"
+ echo " $0 "
+ 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
diff --git a/openvidu_windows.bat b/openvidu_windows.bat
new file mode 100644
index 0000000..7ea6632
--- /dev/null
+++ b/openvidu_windows.bat
@@ -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 ^
+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
diff --git a/openvidu_windows.ps1 b/openvidu_windows.ps1
deleted file mode 100644
index e69de29..0000000
diff --git a/scripts/ready-check.sh b/scripts/ready-check.sh
index 2e06ad5..6cb5651 100644
--- a/scripts/ready-check.sh
+++ b/scripts/ready-check.sh
@@ -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 ''
diff --git a/scripts/setup.sh b/scripts/setup.sh
index 00f3f1b..50e8996 100644
--- a/scripts/setup.sh
+++ b/scripts/setup.sh
@@ -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