seed script
This commit is contained in:
1 parent
fa9d154db9
commit
08c30aa47f
15 files changed
+496
-17
No files matched your search
+11
-13
@@ -10,14 +10,15 @@ PostgreSQL جزو این Compose نیست و از دیتابیس مدیریت
|
||||
|
||||
## 1. Volumeهای Coolify
|
||||
|
||||
پیش از اولین deploy دو Docker volume با همین نامها ایجاد کنید:
|
||||
پیش از اولین deploy سه Docker volume با همین نامها ایجاد کنید:
|
||||
|
||||
```text
|
||||
customer_ticket_static
|
||||
customer_ticket_media
|
||||
customer_ticket_seed
|
||||
```
|
||||
|
||||
در صورت انتخاب نام دیگر، متغیرهای `STATIC_VOLUME_NAME` و `MEDIA_VOLUME_NAME` را مطابق آن تنظیم کنید. media حاوی آپلودهای ماندگار است. static در هر startup دوباره با `collectstatic` تکمیل میشود اما برای اشتراک بین web و Nginx volume لازم دارد.
|
||||
در صورت انتخاب نام دیگر، متغیرهای `STATIC_VOLUME_NAME`، `MEDIA_VOLUME_NAME` و `SEED_VOLUME_NAME` را مطابق آن تنظیم کنید. media حاوی آپلودهای ماندگار است. static در هر startup دوباره با `collectstatic` تکمیل میشود اما برای اشتراک بین web و Nginx volume لازم دارد. سه فایل تولیدشده در `production-seed/` باید پیش از اولین startup داخل ریشه volume سوم قرار گیرند.
|
||||
|
||||
## 2. دامنهها و Traefik خود Coolify
|
||||
|
||||
@@ -47,7 +48,9 @@ DATABASE_WAIT_TIMEOUT=60
|
||||
|
||||
STATIC_VOLUME_NAME=customer_ticket_static
|
||||
MEDIA_VOLUME_NAME=customer_ticket_media
|
||||
SEED_VOLUME_NAME=customer_ticket_seed
|
||||
MEDIA_SIGNING_SECRET=<separate-random-secret-at-least-32-characters>
|
||||
REQUIRE_PRODUCTION_SEED=1
|
||||
```
|
||||
|
||||
نام دیتابیس انتهای URL باید نام واقعی دیتابیس باشد. اگر دیتابیس ساختهشده `customerTicket` است، URL باید به `/customerTicket` ختم شود؛ URLی که به `/postgres` ختم میشود به دیتابیس پیشفرض `postgres` متصل خواهد شد. اگر password شامل `@`، `:`، `/`، `#` یا `%` است آن را URL-encode کنید.
|
||||
@@ -115,17 +118,12 @@ SECURE_HSTS_PRELOAD=false
|
||||
## 7. ترتیب اولین deploy
|
||||
|
||||
1. volumeها و database خالی را ایجاد کنید.
|
||||
2. Environment Variables را در Coolify وارد کنید.
|
||||
3. Compose را deploy، دامنه اصلی را به `web:8000` و pathهای static/media گفتهشده را به `nginx:80` متصل کنید.
|
||||
4. log سرویس `web` را برای موفقیت migrate، bootstrap، collectstatic و Gunicorn بررسی کنید.
|
||||
5. log سرویس `notification-worker` را بررسی کنید؛ container باید Running بماند.
|
||||
6. یکبار superuser بسازید:
|
||||
|
||||
```bash
|
||||
docker compose exec web python manage.py createsuperuser
|
||||
```
|
||||
|
||||
7. در پنل مدیریت، SMS templateها و `NotificationPolicy`ها را بررسی کنید و با گیرنده آزمایشی مجاز یک SMS و یک پیام Bale واقعی بفرستید.
|
||||
2. طبق `docs/PRODUCTION_SEED.md` سه فایل seed را داخل volume `customer_ticket_seed` قرار دهید.
|
||||
3. Environment Variables را در Coolify وارد کنید.
|
||||
4. Compose را deploy، دامنه اصلی را به `web:8000` و pathهای static/media گفتهشده را به `nginx:80` متصل کنید.
|
||||
5. log سرویس `web` را برای موفقیت migrate، import production seed، collectstatic و Gunicorn بررسی کنید. وقتی seed موجود است، bootstrap عمداً اجرا نمیشود تا snapshot تغییر نکند.
|
||||
6. log سرویس `notification-worker` را بررسی کنید؛ container باید Running بماند.
|
||||
7. با superuser منتقلشده از SQLite وارد شوید و با گیرنده آزمایشی مجاز یک SMS و یک پیام Bale واقعی بفرستید.
|
||||
|
||||
## 8. کنترل سلامت و عیبیابی
|
||||
|
||||
|
||||
Reference in new issue
Block a user