diff --git a/openvidu-server/docker/openvidu-docker-compose/install_openvidu.sh b/openvidu-server/docker/openvidu-docker-compose/install_openvidu.sh index c6caaba8..f25e1ace 100755 --- a/openvidu-server/docker/openvidu-docker-compose/install_openvidu.sh +++ b/openvidu-server/docker/openvidu-docker-compose/install_openvidu.sh @@ -115,13 +115,54 @@ upgrade_ov() { printf '\n' ROLL_BACK_FOLDER="${OPENVIDU_PREVIOUS_FOLDER}/.old-${OPENVIDU_PREVIOUS_VERSION}" + TMP_FOLDER="${OPENVIDU_PREVIOUS_FOLDER}/tmp" + USE_OV_CALL=$(grep -E '^ image: openvidu/openvidu-call:2.12.0$' "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]') + printf "\n Creating roll back folder '%s'..." ".old-${OPENVIDU_PREVIOUS_VERSION}" mkdir "${ROLL_BACK_FOLDER}" || fatal_error "Error while creating the folder '.old-${OPENVIDU_PREVIOUS_VERSION}'" - # Move old files to roll back folder - USE_OV_CALL=$(grep -E '^ image: openvidu/openvidu-call:2.12.0$' "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]') + printf "\n Creating temporal folder 'tmp'..." + mkdir "${TMP_FOLDER}" || fatal_error "Error while creating the folder 'temporal'" - printf '\n => Moving previous installation files:' + # Download necessaries files + printf '\n => Downloading new Openvidu CE files:' + + curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/.env \ + --output "${TMP_FOLDER}/.env-${OPENVIDU_VERSION}" || fatal_error "Error when downloading the file '.env'" + printf '\n - .env-%s' "${OPENVIDU_VERSION}" + + if [ ! -z "${USE_OV_CALL}" ]; then + curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/docker-compose.override.yml \ + --output "${TMP_FOLDER}/docker-compose.override.yml" || fatal_error "Error when downloading the file 'docker-compose.override.yml'" + printf "\n - docker-compose.override.yml" + else + curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/docker-compose.override.yml \ + --output "${TMP_FOLDER}/docker-compose.override.yml-${OPENVIDU_VERSION}" || fatal_error "Error when downloading the file 'docker-compose.override.yml'" + printf '\n - docker-compose.override.yml-%s' "${OPENVIDU_VERSION}" + fi + + curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml \ + --output "${TMP_FOLDER}/docker-compose.yml" || fatal_error "Error when downloading the file 'docker-compose.yml'" + printf '\n - docker-compose.yml' + + curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/openvidu \ + --output "${TMP_FOLDER}/openvidu" || fatal_error "Error when downloading the file 'openvidu'" + printf '\n - openvidu' + + curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/readme.md \ + --output "${TMP_FOLDER}/readme.md" || fatal_error "Error when downloading the file 'readme.md'" + printf '\n - readme.md' + + + # Dowloading new images and stoped actual Openvidu + printf '\n => Dowloading new images...' + [ -f "${TMP_FOLDER}/docker-compose.yml" ] && docker-compose -f "${TMP_FOLDER}/docker-compose.yml" pull + [ -f "${TMP_FOLDER}/docker-compose.override.yml" ] && docker-compose -f "${TMP_FOLDER}/docker-compose.override.yml" pull + printf '\n => Stoping Openvidu...' + docker-compose down + + # Move old files to roll back folder + printf '\n => Moving previous installation files to rollback folder:' mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'" printf '\n - docker-compose.yml' mv "${OPENVIDU_PREVIOUS_FOLDER}/openvidu" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'openvidu'" @@ -133,34 +174,18 @@ upgrade_ov() { printf '\n - docker-compose.override.yml' fi - # Download necessaries files - printf '\n => Downloading new Openvidu CE files:' - - curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/.env \ - --output "${OPENVIDU_PREVIOUS_FOLDER}/.env-${OPENVIDU_VERSION}" || fatal_error "Error when downloading the file '.env'" - printf '\n - .env-%s' "${OPENVIDU_VERSION}" - - if [ ! -z "${USE_OV_CALL}" ]; then - curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/docker-compose.override.yml \ - --output "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" || fatal_error "Error when downloading the file 'docker-compose.override.yml'" - printf "\n - docker-compose.override.yml" - else - curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/docker-compose.override.yml \ - --output "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml-${OPENVIDU_VERSION}" || fatal_error "Error when downloading the file 'docker-compose.override.yml'" - printf '\n - docker-compose.override.yml-%s' "${OPENVIDU_VERSION}" - fi - - curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml \ - --output "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" || fatal_error "Error when downloading the file 'docker-compose.yml'" + # Move tmp files to Openvidu + printf '\n => Updating files:' + mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'" printf '\n - docker-compose.yml' - - curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/openvidu \ - --output "${OPENVIDU_PREVIOUS_FOLDER}/openvidu" || fatal_error "Error when downloading the file 'openvidu'" + mv "${TMP_FOLDER}/openvidu" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'openvidu'" printf '\n - openvidu' - - curl --silent https://raw.githubusercontent.com/OpenVidu/openvidu/${OPENVIDU_VERSION}/openvidu-server/docker/openvidu-docker-compose/readme.md \ - --output "${OPENVIDU_PREVIOUS_FOLDER}/readme.md" || fatal_error "Error when downloading the file 'readme.md'" + mv "${TMP_FOLDER}/readme.md" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'readme.md'" printf '\n - readme.md' + if [ ! -z "${USE_OV_CALL}" ]; then + mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'" + printf '\n - docker-compose.override.yml' + fi # Add execution permissions printf "\n => Adding permission to 'openvidu' program..."