From f08ba957509bca29afdeb351b27b01983f378322 Mon Sep 17 00:00:00 2001 From: Matan Horovitz Date: Fri, 18 Nov 2022 13:23:01 +0200 Subject: [PATCH] Detect service names nicely --- HatarashiHako | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/HatarashiHako b/HatarashiHako index be85ce1..d866ec4 100755 --- a/HatarashiHako +++ b/HatarashiHako @@ -38,6 +38,11 @@ flags() shift if [[ -d $CONTAINER_DIR/$1 ]]; then export CONTAINER_PATHS="$CONTAINER_DIR/$1" + else + CONTAINER_PATHS="$(find /var/Red-Vol/Media/Containers/ -maxdepth 1 -type d -name "*$1*" | head -1)" + if [[ -n $CONTAINER_PATHS ]]; then + export CONTAINER_PATHS + fi fi shift;; (-v|--verbose|verbose) @@ -98,6 +103,7 @@ for container_path in ${CONTAINER_PATHS[@]}; do debug "$container_image has tag" "$image_tag" export container_image=$(echo $container_image | awk -F: '{print $1}') # If the container does have a tag, keep the base name ^ without it (before the :) + export container_name=$(echo $container_name | awk -F: '{print $1}') fi debug "Fetching local image checksum with:" "docker inspect \"$container_image$image_tag\" | grep -Eo \"($container_image@)?sha256:([0-9a-zA-Z].*)(\\\")\" | sed -e 's/\"//g' | awk -F@ '{print \$2}" local_image=$(docker inspect "$container_image$image_tag" | grep -Eo "($container_image@)?sha256:([0-9a-zA-Z].*)(\")" | sed -e 's/"//g' -e 's/\s+//g' | awk -F@ '{print $2}') @@ -130,8 +136,9 @@ for container_path in ${CONTAINER_PATHS[@]}; do ok "$container_name" "is up to date!" else warn "$container_name" "is out of date!" + service=$(cat "$container_path/docker-compose.yml" | grep -B1 "$container_image" | head -1 | sed -e 's/^[ \t]*//' -e 's/://g') info "Attempting to update" "$container_name" - if docker-compose pull $container_name; then + if docker-compose pull $service; then info "Pulled latest image for" "$container_name" if docker-compose up -d --remove-orphans; then ok "$container_stack" "has been updated sucessfully!"