From 34be4d8c13b593a32c6f120a83897b2d1263dd23 Mon Sep 17 00:00:00 2001 From: cruizba Date: Thu, 21 Apr 2022 11:55:17 +0200 Subject: [PATCH] deployment: openvidu-server & openvidu-server-pro entrypoint improvements - Create directory /run/secrets/coturn just when it is necessary to generate a new secret file for COTURN_SHARED_SECRET_KEY. (Docker daemon should generate it anyways while running - Use `tr -dc '[:alnum:]' /run/secrets/coturn/shared-secret-key fi @@ -15,16 +31,16 @@ if [[ -z "${COTURN_SHARED_SECRET_KEY}" ]]; then fi # Wait for kibana -if [ ! -z "${WAIT_KIBANA_URL}" ]; then +if [ -n "${WAIT_KIBANA_URL}" ]; then printf "\n" printf "\n =======================================" - printf "\n = WAIT KIBANA =" + printf "\n Waiting for Kibana service." printf "\n =======================================" printf "\n" - until $(curl --insecure --output /dev/null --silent --head --fail --max-time 10 --connect-timeout 10 ${WAIT_KIBANA_URL}) + until "$(curl --insecure --output /dev/null --silent --head --fail --max-time 10 --connect-timeout 10 "${WAIT_KIBANA_URL}")" do - printf "\n Waiting for kibana in '%s' URL..." "${WAIT_KIBANA_URL}" + printf "\n Waiting for kibana in '%s' 'URL'. This may take some minutes, please be patient" "${WAIT_KIBANA_URL}" sleep 1 done printf "\n ==== Kibana is Ready ====" @@ -38,7 +54,6 @@ printf "\n =======================================" printf "\n" # Get coturn public ip -[[ -z "${COTURN_IP}" ]] && export COTURN_IP=auto-ipv4 if [[ "${COTURN_IP}" == "auto-ipv4" ]]; then COTURN_IP=$(/usr/local/bin/discover_my_public_ip.sh) elif [[ "${COTURN_IP}" == "auto-ipv6" ]]; then @@ -49,8 +64,10 @@ if [[ "${OV_CE_DEBUG_LEVEL}" == "DEBUG" ]]; then export LOGGING_LEVEL_IO_OPENVIDU_SERVER=DEBUG fi -if [ ! -z "${JAVA_OPTIONS}" ]; then +if [ -n "${JAVA_OPTIONS}" ]; then printf "\n Using java options: %s" "${JAVA_OPTIONS}" fi +# Here we don't expand variables to be interpreted as separated arguments +# shellcheck disable=SC2086 java ${JAVA_OPTIONS:-} -jar openvidu-server.jar diff --git a/openvidu-server/docker/openvidu-server/entrypoint.sh b/openvidu-server/docker/openvidu-server/entrypoint.sh index 5302aba2..7e110d11 100644 --- a/openvidu-server/docker/openvidu-server/entrypoint.sh +++ b/openvidu-server/docker/openvidu-server/entrypoint.sh @@ -1,4 +1,10 @@ #!/bin/bash +set -o errexit -o errtrace -o pipefail -o nounset + +export COTURN_SHARED_SECRET_KEY="${COTURN_SHARED_SECRET_KEY:-}" +export OV_CE_DEBUG_LEVEL="${OV_CE_DEBUG_LEVEL:-}" +export JAVA_OPTIONS=${JAVA_OPTIONS:-} +export COTURN_IP="${COTURN_IP:-auto-ipv4}" printf "\n" printf "\n =======================================" @@ -8,9 +14,16 @@ printf "\n" # Generate Coturn shared secret key, if COTURN_SHARED_SECRET_KEY is not defined if [[ -z "${COTURN_SHARED_SECRET_KEY}" ]]; then - # Check if random sahred key is generated and with value + + # Check if random shared key is generated and with value if [[ ! -f /run/secrets/coturn/shared-secret-key ]]; then - RANDOM_COTURN_SECRET="$(tr -dc A-Za-z0-9 /run/secrets/coturn/shared-secret-key fi @@ -21,7 +34,6 @@ if [[ -z "${COTURN_SHARED_SECRET_KEY}" ]]; then fi # Get coturn public ip -[[ -z "${COTURN_IP}" ]] && export COTURN_IP=auto-ipv4 if [[ "${COTURN_IP}" == "auto-ipv4" ]]; then COTURN_IP=$(/usr/local/bin/discover_my_public_ip.sh) elif [[ "${COTURN_IP}" == "auto-ipv6" ]]; then @@ -32,8 +44,10 @@ if [[ "${OV_CE_DEBUG_LEVEL}" == "DEBUG" ]]; then export LOGGING_LEVEL_IO_OPENVIDU_SERVER=DEBUG fi -if [ ! -z "${JAVA_OPTIONS}" ]; then +if [ -n "${JAVA_OPTIONS}" ]; then printf "\n Using java options: %s" "${JAVA_OPTIONS}" fi +# Here we don't expand variables to be interpreted as separated arguments +# shellcheck disable=SC2086 java ${JAVA_OPTIONS:-} -jar openvidu-server.jar