From 602bce164d135377100dc262830e00d634a833b9 Mon Sep 17 00:00:00 2001 From: Alexander BC Date: Sun, 11 May 2025 21:37:02 +0200 Subject: [PATCH] feat: add script to update docker containers deployed by "docker compose" --- update-docker-compose/update.sh | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 update-docker-compose/update.sh diff --git a/update-docker-compose/update.sh b/update-docker-compose/update.sh new file mode 100644 index 0000000..a7096a1 --- /dev/null +++ b/update-docker-compose/update.sh @@ -0,0 +1,41 @@ +#!/usr/bin/bash + +if [ $(id -u) -ne 0 ]; then + echo "This script must be run as root user" + exit 1 +fi + +if [ -z $1 ]; then + echo "Usage $0 [ ...]" + exit 1 +fi + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +function update_service { + SERVICE=$1 + + if [ ! -d "$SCRIPT_DIR/$1" ]; then + echo "Service $SERVICE does not exist" + return 1 + fi + + DIRECTORY="$SCRIPT_DIR/$SERVICE" + + COMPOSE_FILE=`find $DIRECTORY -maxdepth 1 -type f -iname "*compose.y*ml"` + + if [ $? -ne 0 ]; then + echo "No docker compose has been found on directory $DIRECTORY" + return 1 + fi + + docker compose -f $COMPOSE_FILE pull + docker compose -f $COMPOSE_FILE up -d +} + +while + SERVICE=$1 + shift + update_service $SERVICE + [[ -n "$1" ]] +do true; done \ No newline at end of file