44 lines
1018 B
Bash
Executable File
44 lines
1018 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
cd /var/www/aigo
|
|
|
|
# Ensure storage directories exist (volume mount may hide image-created dirs)
|
|
mkdir -p storage/framework/{cache/sessions,cache/data,views,testing} \
|
|
storage/logs \
|
|
bootstrap/cache
|
|
chown -R www-data:www-data storage bootstrap/cache
|
|
|
|
# Wait for database
|
|
if [ -n "$DB_HOST" ]; then
|
|
echo "Waiting for database connection..."
|
|
for i in $(seq 1 30); do
|
|
if php -r "
|
|
try {
|
|
new PDO('mysql:host=$DB_HOST;port=${DB_PORT:-3306}', '$DB_USERNAME', '$DB_PASSWORD');
|
|
echo 'ok';
|
|
} catch (PDOException \$e) {
|
|
exit(1);
|
|
}
|
|
" 2>/dev/null; then
|
|
echo "Database connected."
|
|
break
|
|
fi
|
|
echo "Waiting for database... attempt $i"
|
|
sleep 2
|
|
done
|
|
fi
|
|
|
|
# Create storage symlink
|
|
php artisan storage:link --force
|
|
|
|
# Run migrations
|
|
php artisan migrate --force
|
|
|
|
# Cache
|
|
php artisan config:cache
|
|
php artisan route:cache
|
|
php artisan view:cache
|
|
|
|
exec "$@"
|