Browse Source

Merge pull request #208 from dextreem/fix/start-stop [skip ci]

Fixing minor issues in start and stop scripts [skip ci]
Nicolas Meienberger 2 years ago
parent
commit
86e4ddfc53
2 changed files with 16 additions and 12 deletions
  1. 1 1
      scripts/start.sh
  2. 15 11
      scripts/stop.sh

+ 1 - 1
scripts/start.sh

@@ -75,7 +75,7 @@ while [ -n "$1" ]; do # while loop starts
 done
 
 # Ensure BASH_SOURCE is ./scripts/start.sh
-if [[ "${BASH_SOURCE[0]}" != "./scripts/start.sh" ]]; then
+if [[ $(basename $(pwd)) != "runtipi" ]] || [[ ! -f "${BASH_SOURCE[0]}" ]]; then
   echo "Please make sure this script is executed from runtipi/"
   exit 1
 fi

+ 15 - 11
scripts/stop.sh

@@ -11,7 +11,7 @@ fi
 if [[ $UID != 0 ]]; then
   echo "Tipi must be stopped as root"
   echo "Please re-run this script as"
-  echo "  sudo ./scripts/stop"
+  echo "  sudo ./scripts/stop.sh"
   exit 1
 fi
 
@@ -23,17 +23,21 @@ cd "$ROOT_FOLDER"
 export DOCKER_CLIENT_TIMEOUT=240
 export COMPOSE_HTTP_TIMEOUT=240
 
-# Get all app names from the apps folder
+# Stop all installed apps if there are any
 apps_folder="${ROOT_FOLDER}/apps"
-apps_names=($(ls -d ${apps_folder}/*/ | xargs -n 1 basename | sed 's/\///g'))
-
-for app_name in "${apps_names[@]}"; do
-  # if folder ${ROOT_FOLDER}/app-data/app_name exists, then stop app
-  if [[ -d "${ROOT_FOLDER}/app-data/${app_name}" ]]; then
-    echo "Stopping ${app_name}"
-    "${ROOT_FOLDER}/scripts/app.sh" stop $app_name
-  fi
-done
+if [ "$(find ${apps_folder} -maxdepth 1 -type d | wc -l)" -gt 1 ]; then
+  apps_names=($(ls -d ${apps_folder}/*/ | xargs -n 1 basename | sed 's/\///g'))
+
+  for app_name in "${apps_names[@]}"; do
+    # if folder ${ROOT_FOLDER}/app-data/app_name exists, then stop app
+    if [[ -d "${ROOT_FOLDER}/app-data/${app_name}" ]]; then
+      echo "Stopping ${app_name}"
+      "${ROOT_FOLDER}/scripts/app.sh" stop $app_name
+    fi
+  done
+else
+  echo "No app installed that can be stopped."
+fi
 
 echo "Stopping Docker services..."
 echo