avancée setup directus docker

This commit is contained in:
Valentin 2024-11-11 22:24:16 +01:00
parent 436890b706
commit 958dd939c7
1 changed files with 34 additions and 1 deletions

View File

@ -15,7 +15,7 @@ read -s directus_admin_password
sed -i "s/^ADMIN_EMAIL=.*/ADMIN_EMAIL=${directus_admin_email}/" "/home/${username}/cms.${DOMAIN_NAME}/.env" sed -i "s/^ADMIN_EMAIL=.*/ADMIN_EMAIL=${directus_admin_email}/" "/home/${username}/cms.${DOMAIN_NAME}/.env"
sed -i "s/^ADMIN_PASSWORD=.*/ADMIN_PASSWORD=${directus_admin_password}/" "/home/${username}/cms.${DOMAIN_NAME}/.env" sed -i "s/^ADMIN_PASSWORD=.*/ADMIN_PASSWORD=${directus_admin_password}/" "/home/${username}/cms.${DOMAIN_NAME}/.env"
port=8003 port=8055
key=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n') key=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
secret=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n') secret=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
@ -26,6 +26,39 @@ 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 docker compose -f "/home/${username}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d
docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -u root <<-EOSQL
CREATE DATABASE IF NOT EXISTS directus;
GRANT ALL PRIVILEGES ON directus.* TO 'directus'@'%';
FLUSH PRIVILEGES;
EOSQL
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_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_DB" sh -c "
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e \"
UPDATE directus.directus_roles SET icon='robot' WHERE name='Website';
UPDATE directus.directus_roles SET app_access='0' WHERE name='Website';
UPDATE directus.directus_users SET token='${WEBSITE_TOKEN}' WHERE email='website@${DOMAIN_NAME}';
INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields)
VALUES ('${website_role_uuid}', 'directus_files', 'read', '{}', '{}', '*');
INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields)
VALUES ('${user_role_uuid}', 'directus_files', 'read', '{}', '{}', '*');
INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields)
VALUES ('${user_role_uuid}', 'directus_folders', 'read', '{}', '{}', '*');
\" directus
"
docker network connect web "${DOMAIN_NAME}_Directus"
if [[ -z "$CADDYFILE" ]]; then if [[ -z "$CADDYFILE" ]]; then
CADDYFILE="/home/${username}/caddy/caddyfile/Caddyfile" CADDYFILE="/home/${username}/caddy/caddyfile/Caddyfile"
fi fi