Files
CRM_Montzar/deploy/DEPLOY.md
T

3.8 KiB
Raw Blame History

استقرار منتو CRM — crm.montzar.ir

هاست مشترک مونتایم: 185.50.38.53 (SSH پورت 3031، کاربر montime)
دامنه: https://crm.montzar.ir
پورت داخلی API: 3030
(۳۰۰۰ مونتایم، ۳۰۰۱ فوری‌سند، ۳۰۱۰ سوپرادمین، ۳۰۲۰ کاتالوگ)

کد از Gitea: http://get.feep.ir/Mahdi/CRM_Montzar.git


کارهایی که شما باید انجام دهید (قبل/همراه استقرار)

  1. DNS: رکورد A برای crm.montzar.ir مثل ktg.montzar.ir / adm.montzar.ir روی همان IP.
  2. Postgres: یک دیتابیس و کاربر جدا برای CRM بسازید (مثلاً mento_crm) — به دیتابیس مونتایم دست نزنید.
  3. SMS: همان حساب ترِز/رایگان مونتایم را در .env سرور CRM بگذارید (SMS_USERNAME / SMS_PASSWORD / SMS_SENDER).
  4. دسترسی Gitea برای git clone / git pull روی سرور (یوزر یا توکن).

روی سرور

SSH:

ssh -p 3031 montime@185.50.38.53

۱) کلون

sudo mkdir -p /var/www/crm
sudo chown montime:montime /var/www/crm
git clone http://get.feep.ir/Mahdi/CRM_Montzar.git /var/www/crm

۲) پورت آزاد باشد

pm2 list
ss -tlnp | grep -E '3000|3001|3010|3020|3030' || true

۳۰۳۰ باید خالی باشد.

۳) فایل .env API

cd /var/www/crm
cp deploy/.env.production.example apps/api/.env
nano apps/api/.env

DATABASE_URL، JWT_SECRET و فیلدهای SMS_* را پر کنید.
PORTAL_SHOW_OTP=false بماند تا کد فقط با پیامک برود.

۴) نصب، migrate، بیلد

Node ۲۰ یا جدیدتر.

cd /var/www/crm
npm ci
npm run build -w @mento/shared
npx prisma migrate deploy --schema apps/api/prisma/schema.prisma
npx prisma generate --schema apps/api/prisma/schema.prisma
npm run build -w @mento/api
npm run build -w @mento/web
mkdir -p uploads
# اختیاری یک‌بار: npm run db:seed

۵) PM2 — فقط پروسهٔ جدید

پروسه‌های موجود را stop نکنید.

pm2 start /var/www/crm/deploy/ecosystem.config.cjs
pm2 save
pm2 list
curl -sI http://127.0.0.1:3030/api/health

باید 200 و JSON سلامت بیاید. خطا: pm2 logs mento-crm-api --lines 80

۶) Nginx — فقط سایت جدید

sudo cp /var/www/crm/deploy/nginx-crm.montzar.ir.conf /etc/nginx/sites-available/crm.montzar.ir
sudo ln -sf /etc/nginx/sites-available/crm.montzar.ir /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

اگر nginx -t خطا داد، vhostهای دیگر را ویرایش نکنید.

۷) SSL

sudo certbot --nginx -d crm.montzar.ir

۸) تست

  1. https://crm.montzar.ir → ورود پنل
  2. دمو: owner@demo.local / demo1234 (اگر seed زده باشید)
  3. پرتال: https://crm.montzar.ir/p/demo-mento → OTP باید پیامک شود
  4. منوی گزارشات کار کند

آپدیت بعدی

روی ویندوز git push. روی سرور:

cd /var/www/crm
git pull
npm ci
npm run build -w @mento/shared
npx prisma migrate deploy --schema apps/api/prisma/schema.prisma
npm run build -w @mento/api
npm run build -w @mento/web
pm2 restart mento-crm-api

پوشهٔ uploads و apps/api/.env را پاک نکنید.


تداخل نداشتن

این پروژه بقیه — دست نزنید
دامنه crm.montzar.ir ktg / adm / مونتایم
پورت ۳۰۳۰ ۳۰۰۰ / ۳۰۰۱ / ۳۰۱۰ / ۳۰۲۰
PM2 نام mento-crm-api پروسه‌های موجود
/var/www/crm /var/www/ktg و …
دیتابیس mento_crm Postgres مونتایم