feat: serve the same CRM on crm.montact.ir as an alias
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+26
-7
@@ -22,7 +22,7 @@ pm2 restart mento-crm-api
|
||||
---
|
||||
|
||||
هاست مشترک مونتایم: `185.50.38.53` (SSH پورت `3031`، کاربر `montime`)
|
||||
دامنه: `https://crm.montzar.ir`
|
||||
دامنهها (همان اپ و همان مسیر): `https://crm.montzar.ir` و `https://crm.montact.ir`
|
||||
مسیر کد: `/var/www/crm`
|
||||
پورت داخلی API: `3030`
|
||||
PM2: `mento-crm-api` (cwd: `apps/api`، اسکریپت: `dist/src/main.js`)
|
||||
@@ -37,10 +37,11 @@ PM2: `mento-crm-api` (cwd: `apps/api`، اسکریپت: `dist/src/main.js`)
|
||||
|
||||
## کارهایی که شما باید انجام دهید (قبل/همراه استقرار)
|
||||
|
||||
1. **DNS:** رکورد `A` برای `crm.montzar.ir` مثل `ktg.montzar.ir` / `adm.montzar.ir` روی همان IP.
|
||||
2. **Postgres:** دیتابیس و کاربر جدا (`mento_crm`) — به دیتابیس مونتایم دست نزنید.
|
||||
3. **SMS:** همان حساب ترِز/رایگان مونتایم در `.env` (`SMS_USERNAME` / `SMS_PASSWORD` / `SMS_SENDER`).
|
||||
4. **دسترسی Gitea** برای `git clone` / `git pull` روی سرور.
|
||||
1. **DNS:** رکورد `A` برای `crm.montzar.ir` و `crm.montact.ir` مثل `ktg.montzar.ir` / `adm.montzar.ir` روی همان IP.
|
||||
2. **پروکسی جلویی SSL:** مثل `crm.montzar.ir`، برای `crm.montact.ir` هم HTTPS تمام شود و به این سرور **HTTP :80** برسد.
|
||||
3. **Postgres:** دیتابیس و کاربر جدا (`mento_crm`) — به دیتابیس مونتایم دست نزنید.
|
||||
4. **SMS:** همان حساب ترِز/رایگان مونتایم در `.env` (`SMS_USERNAME` / `SMS_PASSWORD` / `SMS_SENDER`).
|
||||
5. **دسترسی Gitea** برای `git clone` / `git pull` روی سرور.
|
||||
|
||||
---
|
||||
|
||||
@@ -83,7 +84,7 @@ nano apps/api/.env
|
||||
|---|---|
|
||||
| `DATABASE_URL` | Postgres روی **`127.0.0.1:15432`** است نه `5432` |
|
||||
| `PORT` | `3030` |
|
||||
| `CORS_ORIGIN` | `https://crm.montzar.ir` |
|
||||
| `CORS_ORIGIN` | `https://crm.montzar.ir,https://crm.montact.ir` |
|
||||
| `SMS_*` | همان ترِز مونتایم |
|
||||
| `PORTAL_SHOW_OTP` | در production حتماً `false` |
|
||||
| `INTEGRATIONS_ENCRYPTION_KEY` | ۶۴ کاراکتر hex برای رمز توکن تهحساب (`openssl rand -hex 32`) |
|
||||
@@ -180,9 +181,27 @@ sudo ln -sf /etc/nginx/sites-available/crm.montzar.ir /etc/nginx/sites-enabled/
|
||||
sudo nginx -t && sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
فایل vhost هر دو نام را دارد: `crm.montzar.ir` و `crm.montact.ir` → همان `root` و همان API روی پورت ۳۰۳۰.
|
||||
|
||||
**HTTPS روی همین باکس:** مثل `ktg.montzar.ir`، فرانتپروکسی (`91.247.174.1`) SSL را تمام میکند و به این سرور **HTTP :80** میزند.
|
||||
اگر Certbot روی این vhost `return 404` یا فقط HTTPS بگذارد، سایت از بیرون قطع میشود — vhost را روی الگوی HTTP نگه دارید (فایل `deploy/nginx-crm.montzar.ir.conf`).
|
||||
|
||||
### ۸ب) اضافه کردن دامنهٔ alias (`crm.montact.ir`) روی همین استقرار
|
||||
|
||||
بعد از `git pull` و آپدیت سریع:
|
||||
|
||||
```bash
|
||||
# CORS هر دو دامنه
|
||||
nano /var/www/crm/apps/api/.env
|
||||
# CORS_ORIGIN=https://crm.montzar.ir,https://crm.montact.ir
|
||||
|
||||
sudo cp /var/www/crm/deploy/nginx-crm.montzar.ir.conf /etc/nginx/sites-available/crm.montzar.ir
|
||||
sudo nginx -t && sudo systemctl reload nginx
|
||||
pm2 restart mento-crm-api
|
||||
```
|
||||
|
||||
تست: `https://crm.montact.ir` و `https://crm.montzar.ir` هر دو همان پنل را نشان دهند.
|
||||
|
||||
### ۹) تست
|
||||
|
||||
1. `https://crm.montzar.ir` → ورود پنل
|
||||
@@ -281,7 +300,7 @@ grep -c AutomationAction /var/www/crm/node_modules/@mento/shared/dist/index.d.ts
|
||||
|
||||
| این پروژه | بقیه — دست نزنید |
|
||||
|---|---|
|
||||
| دامنه `crm.montzar.ir` | `ktg` / `adm` / مونتایم |
|
||||
| دامنههای `crm.montzar.ir` و `crm.montact.ir` | `ktg` / `adm` / مونتایم |
|
||||
| پورت ۳۰۳۰ و ۳۰۴۰ (STT فقط localhost) | ۳۰۰۰ / ۳۰۰۱ / ۳۰۱۰ / ۳۰۲۰ |
|
||||
| PM2 نام `mento-crm-api` و `mento-stt` | پروسههای موجود |
|
||||
| `/var/www/crm` | `/var/www/ktg` و … |
|
||||
|
||||
Reference in New Issue
Block a user