From a9ccf5732ede9c93d1c7b39cd145d711ec200b6b Mon Sep 17 00:00:00 2001 From: Valentin Date: Mon, 11 Nov 2024 23:55:13 +0100 Subject: [PATCH] =?UTF-8?q?essai=20cr=C3=A9ation=20db?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/add-site/install_directus.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/bin/add-site/install_directus.sh b/bin/add-site/install_directus.sh index 49970fd..04e9706 100644 --- a/bin/add-site/install_directus.sh +++ b/bin/add-site/install_directus.sh @@ -30,12 +30,25 @@ sed -i "s/^KEY=.*/KEY=${key}/" "/home/${username}/cms.${DOMAIN_NAME}/.env" sed -i "s/^SECRET=.*/SECRET=${secret}/" "/home/${username}/cms.${DOMAIN_NAME}/.env" sed -i "s/^PORT=.*/PORT=${port}/" "/home/${username}/cms.${DOMAIN_NAME}/.env" -docker compose -f "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d +# Start the services using Docker Compose +docker-compose -f "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d -docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "mariadb -uroot -e \" +# Wait for MariaDB to be ready (up to 60 seconds, check every 5 seconds) +echo "Waiting for MariaDB to be ready..." +for i in {1..12}; do + if docker exec -i "${DOMAIN_NAME}_Directus_DB" mysqladmin ping -uroot --silent; then + echo "MariaDB is ready!" + break + fi + echo "Waiting for MariaDB... (${i}/12)" + sleep 5 +done + +# Execute the SQL command after MariaDB is ready +docker exec -i "${DOMAIN_NAME}_Directus_DB" mysql -uroot -e " CREATE DATABASE directus; GRANT ALL PRIVILEGES ON directus.* TO 'directus'@'%'; - FLUSH PRIVILEGES;\" + FLUSH PRIVILEGES; " docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus roles create --role Website && npx directus roles create --role User"