setup directus db en sql
This commit is contained in:
parent
852b8464b7
commit
55a27d0b9a
|
|
@ -5,6 +5,7 @@ services:
|
||||||
image: mariadb:10
|
image: mariadb:10
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/var/lib/mysql
|
- ./data:/var/lib/mysql
|
||||||
|
- ./setup_mariadb.sql:/docker-entrypoint-initdb.d/setup_mariadb.sql
|
||||||
environment:
|
environment:
|
||||||
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
|
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
|
||||||
- MARIADB_USER=directus
|
- 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}"
|
mkdir "/home/${username}/cms.${DOMAIN_NAME}"
|
||||||
cp assets/directus.docker-compose.yml "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml"
|
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"
|
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"
|
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
|
# Start the services using Docker Compose
|
||||||
docker compose -f "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d
|
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"
|
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}')
|
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