Files
hoshpoint-backend/README.md

2.4 KiB
Raw Blame History

Hoshpoint

اجرای پروژه با Docker در Production

ابتدا Docker Desktop را اجرا کنید و فایل env پروداکشن را بسازید:

cp .env.production.example .env.production
php artisan key:generate --show

خروجی را کپی کنید و داخل .env.production بگذارید (خط APP_KEY نباید خالی بماند):

APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

سپس APP_URL، HTTP_PORT، DB_PASSWORD، MARIADB_PASSWORD و MARIADB_ROOT_PASSWORD را هم تغییر دهید. مقدار پیش‌فرض HTTP_PORT=8080 است.

قبل از build، وابستگی‌های PHP را نصب کن:

composer install --no-dev --prefer-dist

برای build کردن imageها:

docker compose --env-file .env.production build

اول دیتابیس را بالا بیاورید:

docker compose --env-file .env.production up -d mariadb

بعد migrationها را اجرا کنید:

docker compose --env-file .env.production run --rm app php artisan migrate --force --seed

حالا همه سرویس‌ها را بالا بیاورید:

docker compose --env-file .env.production up -d

سایت از طریق پورت تنظیم‌شده در HTTP_PORT در دسترس است. مقدار پیش‌فرض:

http://localhost:8080

Swagger:

http://localhost:8080/api/documentation

برای دیدن وضعیت سرویس‌ها:

docker compose --env-file .env.production ps

برای دیدن لاگ‌ها:

docker compose --env-file .env.production logs -f

برای اجرای دستورهای Artisan داخل کانتینر:

docker compose --env-file .env.production exec app php artisan about

برای متوقف کردن سرویس‌ها:

docker compose --env-file .env.production down

برای حذف کامل دیتای دیتابیس و volumeها، فقط وقتی مطمئن هستید:

docker compose --env-file .env.production down -v

خطای No application encryption key has been specified

یعنی APP_KEY در .env.production خالی است.

  1. مقدار APP_KEY را در .env.production تنظیم کنید.
  2. سرویس‌ها را restart کنید:
docker compose --env-file .env.production restart app queue scheduler