f8de292f127db1a50a9ffb73487ea02c38b0bd6d
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 است.
روی سرور ایران، میرور Docker را یکبار تنظیم کنید:
sudo cp docker/daemon.json /etc/docker/daemon.json
sudo systemctl restart docker
برای 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 خالی است.
- مقدار
APP_KEYرا در.env.productionتنظیم کنید. - سرویسها را restart کنید:
docker compose --env-file .env.production restart app queue scheduler
Description
Languages
PHP
63.6%
Blade
34.7%
Dockerfile
1%
Shell
0.4%
JavaScript
0.2%
Other
0.1%