From 697b859e605606df0e5f4e1f79f1947414215e35 Mon Sep 17 00:00:00 2001 From: Valentin Date: Sat, 30 Nov 2024 19:58:01 +0100 Subject: [PATCH] wait for db --- bin/add-site/install_directus.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bin/add-site/install_directus.sh b/bin/add-site/install_directus.sh index db3597a..8d16bf8 100644 --- a/bin/add-site/install_directus.sh +++ b/bin/add-site/install_directus.sh @@ -33,19 +33,19 @@ set_secrets() { sed -i "s/^SECRET=.*/SECRET=${secret}/" "/home/${USERNAME}/cms.${DOMAIN_NAME}/.env" } -docker_up_create_db() { +docker_up() { docker compose -f "/home/${USERNAME}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d - echo -e "${PURPLE}${BOLD}Create DB${RESET}" - docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "CREATE DATABASE directus; GRANT ALL PRIVILEGES ON directus.* TO 'root'@'%';" } wait_for_DB() { echo "Waiting for Directus database to be ready..." - until docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT 1 FROM directus.directus_roles LIMIT 1" &> /dev/null + until docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT 1" &> /dev/null do echo "Database not ready yet... waiting 5 seconds" sleep 5 done + echo -e "${PURPLE}${BOLD}Create DB${RESET}" + docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "CREATE DATABASE directus; GRANT ALL PRIVILEGES ON directus.* TO 'root'@'%';" } echo -e "${PURPLE}${BOLD}Import the Directus database ? (y/N) ${RESET}" @@ -56,7 +56,7 @@ if [[ "$answer" == "y" ]]; then # do we really need the .env file ? set_port set_secrets - docker_up_create_db + docker_up wait_for_DB echo -e "${PURPLE}${BOLD}Import the .tar.gz archive from your local storage${RESET}" @@ -80,9 +80,9 @@ else set_admin_credentials set_port set_secrets - docker_up_create_db + docker_up + wait_for_DB docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus bootstrap" - # wait_for_DB docker cp assets/directus_policies.sql "${DOMAIN_NAME}_Directus_DB:/directus_policies.sql" docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "