add two more

This commit is contained in:
mcoder 2026-07-04 21:18:42 +03:30
parent c7dedc46a5
commit 8651cf0895

View File

@ -1,13 +1,39 @@
#!/bin/bash #!/bin/bash
set -e set -e
echo "[+] Starting Laravel..." echo "[+] Starting Laravel Initialization Script..."
# ۱. ساخت پوشه‌های حیاتی لاراول که احتمال دارد به خاطر مونت شدن حذف شده باشند
echo "[+] Ensuring Laravel storage and cache directories exist..."
mkdir -p storage/framework/cache/data \
storage/framework/views \
storage/framework/sessions \
storage/logs \
bootstrap/cache[cite: 4, 5]
# ۲. مدیریت فایل تنظیمات محیطی
if [ ! -f .env ]; then if [ ! -f .env ]; then
echo "[+] .env file not found, creating from .env.example..."
cp .env.example .env cp .env.example .env
fi fi
# فقط اگر key وجود نداشت # ۳. تولید کلید اختصاصی اپلیکیشن در صورت عدم وجود
grep -q "APP_KEY=" .env || php artisan key:generate --force if ! grep -q "APP_KEY=base64:" .env; then
echo "[+] Generating application key..."
php artisan key:generate --force
fi
exec php-fpm # ۴. پاک‌سازی کش‌های قدیمی فریم‌ورک برای جلوگیری از خطای Valid cache path
echo "[+] Clearing stale Laravel configurations and views..."
php artisan config:clear || true
php artisan view:clear || true
php artisan cache:clear || true[cite: 7]
# ۵. تنظیم دسترسی کامل خواندن و نوشتن برای سازگاری کامل داکر و سیستم میزبان
echo "[+] Setting permissions for storage and bootstrap/cache..."
chmod -R 777 storage bootstrap/cache[cite: 5]
echo "[+] Laravel is ready! Launching application..."
# استفاده از "$@" به جای هاردکد کردن php-fpm باعث می‌شود کانتینر دستورات CMD را به درستی بپذیرد
exec "$@"