#!/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 "$@"