disable db modification

This commit is contained in:
Valentin 2024-11-28 23:55:59 +01:00
parent 9b407cc28b
commit 1889d31774
2 changed files with 22 additions and 22 deletions

View File

@ -1,6 +1,6 @@
LOCK TABLES `directus_policies` WRITE;
INSERT INTO `directus_policies`
(id, name, icon, description, ip_access, enforce_2fa, admin_access, app_access)
(id, name, icon, description, ip_access, enforce_tfa, admin_access, app_access)
VALUES
('7d8b3285-54a4-4946-a3ea-121eda2536ee','ModifyContent','supervised_user_circle','Can edit content',NULL,0,0,1),
('a2e48172-ac4e-4848-9c59-4158826e4f63','SeeContent','robot','Give access to the content to the front-end.',NULL,0,0,0);
@ -8,7 +8,7 @@ UNLOCK TABLES;
LOCK TABLES `directus_roles` WRITE;
INSERT INTO `directus_roles`
(id, name, icon, description, ip_access)
(id, name, icon, description, parent)
VALUES
('f512d0e1-7349-418a-a18f-7a7572441f99','Website','robot','Gives access to the content to the front.',NULL),
('f66390d0-24a6-4dcc-8ed6-ca8857b4266c','User','supervised_user_circle','Is able to edit content.',NULL);

View File

@ -32,34 +32,34 @@ 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
# Wait for the database to be ready
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
do
echo "Database not ready yet... waiting 5 seconds"
sleep 5
done
##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
##do
## echo "Database not ready yet... waiting 5 seconds"
## sleep 5
##done
docker cp assets/directus_policies.sql "${DOMAIN_NAME}_Directus_DB:/directus_policies.sql"
docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
mariadb -uroot directus < /directus_policies.sql
"
##docker cp assets/directus_policies.sql "${DOMAIN_NAME}_Directus_DB:/directus_policies.sql"
##docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
## mariadb -uroot directus < /directus_policies.sql
##"
# 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}')
user_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='User'") | 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}')
##user_role_uuid=$(echo $(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT id FROM directus.directus_roles WHERE name='User'") | awk '{print $2}')
website_password=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
##website_password=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus users create --email \"website@${DOMAIN_NAME}\" --password \"${website_password}\" --role \"${website_role_uuid}\""
##docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus users create --email \"website@${DOMAIN_NAME}\" --password \"${website_password}\" --role \"${website_role_uuid}\""
WEBSITE_TOKEN=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
##WEBSITE_TOKEN=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
mariadb -uroot -e \"
UPDATE directus.directus_users SET token='${WEBSITE_TOKEN}' WHERE email='website@${DOMAIN_NAME}';
\" directus
"
##docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "
## mariadb -uroot -e \"
## UPDATE directus.directus_users SET token='${WEBSITE_TOKEN}' WHERE email='website@${DOMAIN_NAME}';
## \" directus
##"
# @TODO: random port
# INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields)