setup directus db en sql

This commit is contained in:
Valentin 2024-11-19 21:42:45 +01:00
parent 852b8464b7
commit 55a27d0b9a
3 changed files with 5 additions and 18 deletions

View File

@ -5,6 +5,7 @@ services:
image: mariadb:10
volumes:
- ./data:/var/lib/mysql
- ./setup_mariadb.sql:/docker-entrypoint-initdb.d/setup_mariadb.sql
environment:
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
- MARIADB_USER=directus

3
assets/setup_mariadb.sql Normal file
View File

@ -0,0 +1,3 @@
CREATE DATABASE IF NOT EXISTS directus;
GRANT ALL PRIVILEGES ON directus.* TO 'root'@'%';

View File

@ -8,6 +8,7 @@ fi
mkdir "/home/${username}/cms.${DOMAIN_NAME}"
cp assets/directus.docker-compose.yml "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml"
cp assets/setup_mariadb.sql "/home/${username}/cms.${DOMAIN_NAME}/setup_mariadb.sql"
cp assets/.env.example "/home/${username}/cms.${DOMAIN_NAME}/.env"
sed -i "s/^PROJECT_NAME=.*/PROJECT_NAME=${DOMAIN_NAME}/" "/home/${username}/cms.${DOMAIN_NAME}/.env"
@ -33,24 +34,6 @@ sed -i "s/^PORT=.*/PORT=${port}/" "/home/${username}/cms.${DOMAIN_NAME}/.env"
# Start the services using Docker Compose
docker compose -f "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d
# 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 'root'@'%';
FLUSH PRIVILEGES;
"
docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus roles create --role Website && npx directus roles create --role User"
website_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='Website'") | awk '{print $2}')