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