diff --git a/docker-compose.yml b/docker-compose.yml index 5dfd959..eaefc2d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: # MariaDB Database # ---------------------------------------- mariadb: - image: mariadb:10.11 + image: mariadb:10.6 container_name: sec_lab_db environment: MYSQL_ROOT_PASSWORD: root_password diff --git a/docker/php/entrypoint.sh b/docker/php/entrypoint.sh index 1c7b1ac..0f300cd 100644 --- a/docker/php/entrypoint.sh +++ b/docker/php/entrypoint.sh @@ -1,27 +1,42 @@ #!/bin/bash -# توقف در صورت بروز خطا +# توقف در صورت بروز خطای مهلک set -e echo "[+] Starting Initialization Process..." -# ۱. نصب وابستگی‌های PHP با نادیده گرفتن پکیج‌های Dev و ناهماهنگی فایل لاک +# ۱. نصب وابستگی‌های PHP با نادیده گرفتن پکیج‌های Dev echo "[+] Installing PHP dependencies via Composer..." composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev +# ۲. پیکربندی محیط (Environment) لاراول +if [ ! -f .env ]; then + echo "[+] .env file not found. Creating from .env.example..." + cp .env.example .env +else + echo "[+] .env file already exists." +fi -# ۲. پاکسازی node_modules قدیمی (برای جلوگیری از تداخل لینوکس/ویندوز) +# ۳. تولید کلید امنیتی لاراول (App Key) +echo "[+] Generating App Key..." +php artisan key:generate --no-interaction + +# ۴. پاکسازی node_modules قدیمی echo "[+] Cleaning old node_modules..." rm -rf node_modules package-lock.json -# ۳. نصب پکیج‌های NPM از نکسوس +# ۵. نصب پکیج‌های NPM و بیلد فرانت‌اند echo "[+] Installing NPM dependencies..." npm install -# ۴. بیلد کردن فرانت‌اِند (Tailwind/Vite) echo "[+] Building frontend assets..." npm run build -# ۵. اجرای سرویس اصلی +# ۶. آماده‌سازی پایگاه داده +echo "[+] Running database migrations..." +# از سوییچ force استفاده می‌کنیم تا در محیط غیرتعاملی ارور ندهد +php artisan migrate --force + +# ۷. اجرای سرویس اصلی echo "[+] Starting PHP-FPM for Browser-Sec-Lab..." exec php-fpm \ No newline at end of file