diff --git a/scripts/_common.sh b/scripts/_common.sh index 6af0ae5..8c01ce3 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,11 +4,30 @@ ROCKETCHAT_VERSION=0.58.4 ROCKETCHAT_SHASUM=ed53712b37571b959b5c8c8947d6335c21fced316f2b3174bfe027fa25700c44 NODE_VERSION=4.7.1 +checkcmd() { + curl -m 1 -s localhost:$port$path/api/v1/info | \ + python -c "import sys, json; print json.load(sys.stdin)['success']" 2>/dev/null | \ + grep "True" >/dev/null 2>&1 +} + waitforservice() { - isup=false; x=90; while [ $x -gt 0 ];do echo "Waiting approx. $x seconds..."; \ - x=$(( $x - 1 )); sleep 1; if $(curl -m 1 -s localhost:$port${path:-/}/api/v1/info | \ - grep -e "success.*true" >/dev/null 2>&1); then isup=true; break; fi; done && if $isup; \ - then echo "service is up"; else {ynh_die "$app could not be started"; fi + isup=false + x=90 + while [ $x -gt 0 ]; do + echo "Waiting approx. $x seconds..." + x=$(( $x - 1 )) + sleep 1 + + if checkcmd; then + isup=true; break; + fi; + done + + if $isup; then + echo "service is up" + else + ynh_die "$app could not be started" + fi } installdeps(){ diff --git a/scripts/restore b/scripts/restore index e776f88..b3abc2e 100644 --- a/scripts/restore +++ b/scripts/restore @@ -39,9 +39,6 @@ if [[ ! $? -eq 0 ]]; then ynh_die "domain not available" fi -# Register/book a web path for an app -ynh_webpath_register $app $domain $path - # Check destination directory [[ -d $final_path ]] && ynh_die \ "The destination directory '$final_path' already exists.\ diff --git a/scripts/upgrade b/scripts/upgrade index 1a37b64..5e58aa1 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -23,10 +23,18 @@ sudo systemctl stop rocketchat sudo rm -rf $final_path sudo mkdir -p $final_path -# upgrade to the latest rocketchat -sudo curl -s -L -o $final_path/rocket.chat-latest.gtar "https://download.rocket.chat/stable" -sudo tar -xzf $final_path/rocket.chat-latest.gtar -C $final_path --strip-components=1 bundle -sudo rm $final_path/rocket.chat-latest.gtar +# download and extract rocketchat +echo "Downloading rocket.chat-$ROCKETCHAT_VERSION.gtar from https://download.rocket.chat/build/rocket.chat-${ROCKETCHAT_VERSION}.tgz." +sudo curl -s -L -o $final_path/rocket.chat-$ROCKETCHAT_VERSION.gtar "https://download.rocket.chat/build/rocket.chat-${ROCKETCHAT_VERSION}.tgz" +SHA_DOWNLOAD=$(sha256sum $final_path/rocket.chat-$ROCKETCHAT_VERSION.gtar | grep -o "^[a-f0-9]*") +if [[ ! "$SHA_DOWNLOAD" == "$ROCKETCHAT_SHASUM" ]]; then + ynh_die "The sha256sum does not match the configured one" +fi + +sudo tar -xzf $final_path/rocket.chat-$ROCKETCHAT_VERSION.gtar -C $final_path --strip-components=1 bundle +sudo rm $final_path/rocket.chat-$ROCKETCHAT_VERSION.gtar + +sudo chown -R $serviceuser: $final_path cd $final_path/programs/server/ sudo npm install --production