diff --git a/server/scripts/nas_up.sh b/server/scripts/nas_up.sh new file mode 100644 index 0000000..34eae27 --- /dev/null +++ b/server/scripts/nas_up.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +## This block checks all loaded (running or stopped) containers for nas-dependent mounts and adds them (by container name) to the NAS_DEPENDENTS variable. +# NAS_DEPENDENTS="" +# for CONTAINER_ID in $(docker ps -aq) # get list of all loaded containers (running and stopped) +# do +# CONTAINER_NAME=$(docker ps -aq --filter "id=$CONTAINER_ID" --format '{{.Names}}') # get the container's name +# CONTAINER_MOUNTS=$(docker inspect --format '{{range .Mounts}}{{println .Source}}{{end}}' $CONTAINER_ID) # print the container's volume mounts +# echo "$CONTAINER_MOUNTS" | grep -q /mnt/nas +# MATCH=$? +# if [ $MATCH == 0 ]; then +# NAS_DEPENDENTS+="$CONTAINER_NAME\n" +# fi +# done +## + +## This block checks all projects within the ~/homelab/server/config directory for NAS-dependence +NAS_DEPENDENTS="" +for project in $(find ~/homelab/server/config -maxdepth 1 -mindepth 1 -path ~/homelab/server/config/minecraft -prune -o -print | cut -d "/" -f7) +do + echo "======== CHECKING $project ========" + cd ~/homelab/server/config/$project + docker-compose config + docker-compose config | grep -q /mnt/nas + MATCH=$? + if [ $MATCH == 0 ]; then + NAS_DEPENDENTS+="$project\n" + fi +done + +echo -e "$NAS_DEPENDENTS" + +## This block runs docker-compose down for +## all projects found by the previous block + +for project in $(echo -e "$NAS_DEPENDENTS") +do + echo "======== SHUTTING DOWN $project ========" + cd ~/homelab/server/config/$project + docker-compose up -d +done \ No newline at end of file