46 lines
1.5 KiB
Bash
46 lines
1.5 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
if [ ! -f .env ]; then
|
|
cp .env.example .env
|
|
|
|
if [ "$DB_CONNECTION" = "mysql" ]; then
|
|
sed -i "s/DB_CONNECTION=mysql/DB_CONNECTION=mysql/" .env
|
|
sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST:-mysql}/" .env
|
|
sed -i "s/DB_PORT=.*/DB_PORT=${DB_PORT:-3306}/" .env
|
|
sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE:-glastree}/" .env
|
|
sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USERNAME:-glastree}/" .env
|
|
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD:-secret}/" .env
|
|
|
|
echo "Waiting for MySQL..."
|
|
until php -r "new PDO('mysql:host=${DB_HOST:-mysql};dbname=${DB_DATABASE:-glastree}', '${DB_USERNAME:-glastree}', '${DB_PASSWORD:-secret}');" 2>/dev/null; do
|
|
sleep 2
|
|
done
|
|
echo "MySQL ready."
|
|
else
|
|
sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env
|
|
sed -i 's/DB_HOST=.*//' .env
|
|
sed -i 's/DB_PORT=.*//' .env
|
|
sed -i 's/DB_DATABASE=.*/DB_DATABASE=\/var\/www\/html\/database\/database.sqlite/' .env
|
|
sed -i 's/DB_USERNAME=.*//' .env
|
|
sed -i 's/DB_PASSWORD=.*//' .env
|
|
|
|
touch database/database.sqlite
|
|
chmod 664 database/database.sqlite
|
|
fi
|
|
|
|
php artisan key:generate --force
|
|
fi
|
|
|
|
if [ ! -f .db_initialized ]; then
|
|
php artisan package:discover --ansi 2>/dev/null || true
|
|
php artisan migrate --force
|
|
php artisan db:seed --force
|
|
touch .db_initialized
|
|
fi
|
|
|
|
php artisan storage:link --force 2>/dev/null || true
|
|
php artisan optimize:clear 2>/dev/null || true
|
|
|
|
exec "$@"
|