From 30d33fbf8875a832c116f137e5e45600dbd508f3 Mon Sep 17 00:00:00 2001 From: bucde Date: Thu, 23 Sep 2021 10:57:12 +0200 Subject: [PATCH] feat: add unique container name and wait until mariadb is ready --- setup | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/setup b/setup index 14e2e37..f5dacf3 100755 --- a/setup +++ b/setup @@ -12,9 +12,12 @@ echo "# (everything in plain text, even the password) #" echo "####################################################################" echo "" +DATE=$(date +'%y%m%d%H%M%S') + CONFIG_EXISTS="false" KEEP_CONFIG="" +MARIADB_CONTAINER_NAME="mariadb_$DATE" MARIADB_VERSION="" MARIADB_HOST_IP_ADDRESS="" MARIADB_HOST_PORT="" @@ -26,6 +29,7 @@ if [ -f ".env" ]; then fi if [ $CONFIG_EXISTS == "false" ] || [ $KEEP_CONFIG == "n" ]; then + read -p "Enter mariadb container name suffix (leave empty for none): " MARIADB_CONTAINER_NAME_SUFFIX read -p "Enter mariadb version which should be used: " MARIADB_VERSION read -p "Enter host (vm) ip address on which mariadb should be accessible: " MARIADB_HOST_IP_ADDRESS read -p "Enter host (vm) port on which mariadb should be accessible: " MARIADB_HOST_PORT @@ -33,16 +37,33 @@ if [ $CONFIG_EXISTS == "false" ] || [ $KEEP_CONFIG == "n" ]; then rm -f .env touch .env + echo "MARIADB_CONTAINER_NAME_SUFFIX="$MARIADB_CONTAINER_NAME_SUFFIX >> .env echo "MARIADB_VERSION="$MARIADB_VERSION >> .env echo "MARIADB_HOST_IP_ADDRESS="$MARIADB_HOST_IP_ADDRESS >> .env echo "MARIADB_HOST_PORT="$MARIADB_HOST_PORT >> .env echo "MARIADB_ROOT_PASSWORD="$MARIADB_ROOT_PASSWORD >> .env fi +if [ -n "$MARIADB_CONTAINER_NAME_SUFFIX" ]; then + MARIADB_CONTAINER_NAME="${MARIADB_CONTAINER_NAME}_${MARIADB_CONTAINER_NAME_SUFFIX}" +fi + docker-compose up -d -echo "Wait a few seconds for the container to spin up ..." +echo -n "Wait until mariadb is ready ..." + +while ! docker exec $MARIADB_CONTAINER_NAME mysql --password=$MARIADB_ROOT_PASSWORD -e "SELECT 1" > /dev/null 2>&1; do +#while [ "`docker inspect -f {{.State.Health.Status}} $KIMAI_CONTAINER_NAME`" != "healthy" ]; do + echo -n "." + sleep 1 +done -sleep 5 +echo -e "\nMariadb is ready!" + +if [ $DELETE_CONFIG == "y" ]; then + rm -f .env + + echo "Config file '.env' deleted!" +fi echo "Done!"