You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
#!/bin/sh
|
|
|
|
check_available() {
|
|
# Function to check if a program is installed
|
|
which $1 &> /dev/null
|
|
|
|
if [ $? = 1 ]; then
|
|
echo "$1 is not available, please install it before running the script"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
gen_password() {
|
|
check_available openssl
|
|
openssl rand -base64 32
|
|
}
|
|
|
|
read -p "MySQL password: (press enter to randomize): " mysql_password
|
|
mysql_password=${mysql_password:-`gen_password`}
|
|
|
|
read -p "Directus pubkey: (press enter to randomize): " directus_pubkey
|
|
directus_pubkey=${directus_pubkey:-`gen_password`}
|
|
|
|
read -p "Directus secretkey: (press enter to randomize): " directus_secret
|
|
directus_secret=${directus_secret:-`gen_password`}
|
|
|
|
if [ ! -f "./.env" ]; then
|
|
echo "Copying ./env.example to ./.env"
|
|
cp ./env.example ./.env
|
|
fi
|
|
|
|
sed -i -e "s#MYSQL_PASSWORD=.*#MYSQL_PASSWORD=${mysql_password}#g" \
|
|
"$(dirname "$0")/.env"
|
|
|
|
sed -i -e "s#DIRECTUS_AUTH_PUBLICKEY=.*#DIRECTUS_AUTH_PUBLICKEY=${directus_pubkey}#g" \
|
|
"$(dirname "$0")/.env"
|
|
|
|
sed -i -e "s#DIRECTUS_AUTH_SECRETKEY=.*#DIRECTUS_AUTH_SECRETKEY=${directus_secret}#g" \
|
|
"$(dirname "$0")/.env"
|
|
|
|
read -p "Start docker containers? (requires docker-compose) [Y/n] " start_docker
|
|
start_docker=${start_docker:-Y}
|
|
|
|
if [[ $start_docker =~ [yY] ]]; then
|
|
check_available docker-compose
|
|
sudo docker-compose up -d
|
|
|
|
# while true; do
|
|
# sudo docker-compose logs mysql | grep "mysqld: ready for connections" &> /dev/null
|
|
# EC=$?
|
|
# if [ $EC -eq 0 ]; then
|
|
# sleep 5
|
|
# sudo docker-compose run --rm directus install --email admin@artiweb.net --password password
|
|
# break
|
|
# fi
|
|
# done
|
|
fi
|