# رفع NewSpeedUI على cPanel

## 1) على جهازك (ويندوز)

```bash
npm run publish:cpanel
```

اضغط المجلد `publish` في ZIP (مثلاً `newspeedui-cpanel.zip`).

> مهم: رابط الـ API (`NEXT_PUBLIC_API_URL`) يتحط وقت الـ **build**.
> لو عايز تغيّره، عدّل `.env.local` عندك ثم شغّل `npm run publish:cpanel` تاني.

## 2) ارفع على cPanel

1. ادخل **File Manager**
2. اعمل فولدر مثلاً: `home/USERNAME/newspeedui` (أو تحت `public_html/app` حسب خطة الاستضافة)
3. ارفع الـ ZIP وفك الضغط جواه
4. تأكد إن جوه الفولدر فيه: `server.js` + `app.js` + `.next` + `public`

## 3) Setup Node.js App

من cPanel → **Setup Node.js App** (أو Application Manager):

| الحقل | القيمة |
|--------|--------|
| Node.js version | **20** أو أحدث (18 كحد أدنى) |
| Application mode | **Production** |
| Application root | مسار فولدر التطبيق (فيه `server.js`) |
| Application URL | الدومين أو السب دومين |
| Application startup file | **`app.js`** (أو `server.js` لو طلبت الاستضافة كده) |

Environment variables (من نفس الشاشة):

- `NODE_ENV` = `production`
- `HOSTNAME` = `0.0.0.0`
- `PORT` = اتركه فاضي أو اللي cPanel يحدده تلقائي (مهم: استخدم البورت اللي التطبيق يعطيه لك)
- `NEXT_PUBLIC_API_URL` = `https://arqamapi.valueplus1.com/` (للمرجع؛ القيمة الفعلية للفرونت غالباً متبناة من وقت البناء)

ثم:

1. **Run NPM Install** — لو الزر موجود (standalone غالباً جاهز ومش محتاج packages كتير)
2. **Start App** / Restart

## 4) لو التطبيق تحت مجلد فرعي (مثال: `example.com/erp`)

لازم تعيد البناء مع `basePath` في `next.config.ts` قبل الرفع.
الأسهل: اعمل **سب دومين** زي `erp.example.com` ووجّه Application URL عليه.

## 5) مشاكل شائعة

| المشكلة | الحل |
|---------|------|
| 503 / App not started | Start من Setup Node.js App + شوف Error log |
| صفحة فاضية / 404 للـ CSS | تأكد إن `.next/static` موجود داخل التطبيق |
| API مش شغال | تأكد إن `NEXT_PUBLIC_API_URL` صح وقت `npm run publish:cpanel` |
| Passenger مش لاقي Node | اختار Node 20 من نفس شاشة Setup Node.js App |

## تحديث نسخة جديدة

1. `npm run publish:cpanel` على جهازك
2. ارفع الملفات الجديدة (استبدل الكل ماعدا أي `.env.local` لو عملته على السيرفر)
3. من Setup Node.js App → **Restart**
