From ff1b9821863c8c8a17ad7700f788bc80b475d17e Mon Sep 17 00:00:00 2001 From: cruizba Date: Wed, 14 Oct 2020 17:30:28 +0200 Subject: [PATCH] deployment-openvidu-ce-and-pro: Fixing some turn problems in OpenVidu CE --- .../deployments/ce/aws/CF-OpenVidu.yaml.template | 4 ++-- .../deployments/ce/docker-compose/docker-compose.yml | 5 +++-- .../docker-compose/openvidu-server-pro/docker-compose.yml | 7 ++++--- openvidu-server/docker/openvidu-coturn/README.md | 4 ++-- .../docker/openvidu-coturn/configuration-files.sh | 5 ++++- openvidu-server/docker/openvidu-coturn/entrypoint.sh | 4 ++-- 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/openvidu-server/deployments/ce/aws/CF-OpenVidu.yaml.template b/openvidu-server/deployments/ce/aws/CF-OpenVidu.yaml.template index f6607d9c..d5e3a147 100644 --- a/openvidu-server/deployments/ce/aws/CF-OpenVidu.yaml.template +++ b/openvidu-server/deployments/ce/aws/CF-OpenVidu.yaml.template @@ -373,11 +373,11 @@ Resources: CidrIp: 0.0.0.0/0 - IpProtocol: udp FromPort: 40000 - ToPort: 65535 + ToPort: 57000 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 40000 - ToPort: 65535 + ToPort: 57000 CidrIp: 0.0.0.0/0 Outputs: diff --git a/openvidu-server/deployments/ce/docker-compose/docker-compose.yml b/openvidu-server/deployments/ce/docker-compose/docker-compose.yml index ac5ced22..386a7050 100644 --- a/openvidu-server/deployments/ce/docker-compose/docker-compose.yml +++ b/openvidu-server/deployments/ce/docker-compose/docker-compose.yml @@ -52,6 +52,7 @@ services: environment: - KMS_MIN_PORT=40000 - KMS_MAX_PORT=57000 + - KMS_EXTERNAL_ADDRESS=auto - GST_DEBUG=${KMS_DEBUG_LEVEL:-} redis: @@ -62,7 +63,7 @@ services: - REDIS_PASSWORD=${OPENVIDU_SECRET} coturn: - image: openvidu/openvidu-coturn:2.0.0-dev1 + image: openvidu/openvidu-coturn:2.0.0-dev2 restart: on-failure network_mode: host environment: @@ -74,7 +75,7 @@ services: - MAX_PORT=65535 nginx: - image: openvidu/openvidu-proxy:4.0.0-beta1 + image: openvidu/openvidu-proxy:4.0.0-dev3 restart: on-failure network_mode: host volumes: diff --git a/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml b/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml index f5ed1e20..2fb2dddd 100644 --- a/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml +++ b/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml @@ -55,7 +55,7 @@ services: - REDIS_PASSWORD=${OPENVIDU_SECRET} coturn: - image: openvidu/openvidu-coturn:2.0.0-dev1 + image: openvidu/openvidu-coturn:2.0.0-dev2 restart: on-failure network_mode: host environment: @@ -63,11 +63,12 @@ services: - TURN_LISTEN_PORT=3478 - DB_NAME=0 - DB_PASSWORD=${OPENVIDU_SECRET} - - MIN_PORT=57001 + - MIN_PORT=40000 - MAX_PORT=65535 + - TURN_PUBLIC_IP=auto nginx: - image: openvidu/openvidu-proxy:4.0.0-beta1 + image: openvidu/openvidu-proxy:4.0.0-dev3 restart: on-failure network_mode: host volumes: diff --git a/openvidu-server/docker/openvidu-coturn/README.md b/openvidu-server/docker/openvidu-coturn/README.md index fb8a93d6..4b1ea95e 100644 --- a/openvidu-server/docker/openvidu-coturn/README.md +++ b/openvidu-server/docker/openvidu-coturn/README.md @@ -28,12 +28,12 @@ docker run --rm --name some-redis -d -p 6379:6379 redis Get the ip of the container and after that, run coturn, you can use url as ip too, in this example I am running coturn with nip.io: ``` -docker run -it -e REDIS_IP=172.17.0.2 -e DB_NAME=0 -e DB_PASSWORD=turn -e MIN_PORT=40000 -e MAX_PORT=65535 -e TURN_LISTEN_PORT=3478 --network=host openvidu/openvidu-coturn +docker run -it -e REDIS_IP=172.17.0.2 -e DB_NAME=0 -e DB_PASSWORD=turn -e MIN_PORT=40000 -e MAX_PORT=65535 -e TURN_PUBLIC_IP=auto -e TURN_LISTEN_PORT=3478 --network=host openvidu/openvidu-coturn ``` ## Execute turn locally with fixed username and password ``` -docker run -it -e TURN_USERNAME_PASSWORD=: -e MIN_PORT=40000 -e MAX_PORT=65535 -e TURN_LISTEN_PORT=3478 --network=host openvidu/openvidu-coturn +docker run -it -e TURN_PUBLIC_IP=auto -e TURN_USERNAME_PASSWORD=: -e MIN_PORT=40000 -e MAX_PORT=65535 -e TURN_LISTEN_PORT=3478 --network=host openvidu/openvidu-coturn ``` diff --git a/openvidu-server/docker/openvidu-coturn/configuration-files.sh b/openvidu-server/docker/openvidu-coturn/configuration-files.sh index 18a7b779..4a88e4fb 100644 --- a/openvidu-server/docker/openvidu-coturn/configuration-files.sh +++ b/openvidu-server/docker/openvidu-coturn/configuration-files.sh @@ -7,7 +7,6 @@ EOF # Turn server configuration cat>/etc/turnserver.conf<> /etc/turnserver.conf +fi + if [[ ! -z "${REDIS_IP}" ]] && [[ ! -z "${DB_NAME}" ]] && [[ ! -z "${DB_PASSWORD}" ]]; then echo "redis-userdb=\"ip=${REDIS_IP} dbname=${DB_NAME} password=${DB_PASSWORD} connect_timeout=30\"" >> /etc/turnserver.conf fi diff --git a/openvidu-server/docker/openvidu-coturn/entrypoint.sh b/openvidu-server/docker/openvidu-coturn/entrypoint.sh index f935fcf0..c5799225 100644 --- a/openvidu-server/docker/openvidu-coturn/entrypoint.sh +++ b/openvidu-server/docker/openvidu-coturn/entrypoint.sh @@ -5,9 +5,9 @@ DEBUG=${DEBUG:-false} [ "$DEBUG" == "true" ] && set -x #Check parameters -[[ ! -z "${TURN_PUBLIC_IP}" ]] || export TURN_PUBLIC_IP=$(/usr/local/bin/discover_my_public_ip.sh) +[[ "${TURN_PUBLIC_IP}" == "auto" ]] && export TURN_PUBLIC_IP=$(/usr/local/bin/discover_my_public_ip.sh) -echo "TURN public IP: ${TURN_PUBLIC_IP}" +echo "TURN public IP: ${TURN_PUBLIC_IP:-"empty"}" [[ ! -z "${TURN_LISTEN_PORT}" ]] && echo "TURN listening port: ${TURN_LISTEN_PORT}" || { echo "TURN_LISTEN_PORT environment variable is not defined"; exit 1; }