setup directus db en sql
This commit is contained in:
parent
852b8464b7
commit
55a27d0b9a
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
CREATE DATABASE IF NOT EXISTS directus;
|
||||
|
||||
GRANT ALL PRIVILEGES ON directus.* TO 'root'@'%';
|
||||
|
|
@ -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}')
|
||||
|
|
|
|||
Loading…
Reference in New Issue