# نصب AlphabetPlay

سه راه نصب — همه به یک نصب‌گر می‌رسند. **زمان لازم: ~۵ دقیقه.**

## راه ۱ — هاست اشتراکی cPanel (Setup Node.js App)

**پیش‌نیاز هاست:** قابلیت «Setup Node.js App» (Passenger) با **Node.js 18 یا بالاتر** (۲۰ پیشنهادی). اگر این قابلیت را نداری → راه ۲.

1. **آپلود:** فایل `alphabetplay-x.y.z.zip` را در `home` اکانت آپلود کن (نه در `public_html`) و با File Manager Extract کن.
2. **ساخت اپ:** در cPanel → **Setup Node.js App** → Create Application:
   - Node.js version: **20** (همان نسخه‌ای که بسته با آن ساخته شده)
   - Application root: `alphabetplay-x.y.z`
   - Application URL: دامنه/ساب‌دامنه دلخواه
   - Application startup file: `server/index.js`
3. **وابستگی‌ها:** اگر بسته‌ی `-with-deps` گرفتی این مرحله را رد کن. وگرنه در همان صفحه **Run NPM Install** (یا در Terminal: `cd ~/alphabetplay-x.y.z && npm ci --omit=dev`).
4. **نصب:** آدرس `https://دامنه‌ی-تو/install` را باز کن → بررسی محیط → حساب مدیر → تمام. (یا در Terminal: `node scripts/install.mjs --email you@example.com --password 'your-pass'`)
5. **SSL:** در cPanel برای دامنه AutoSSL فعال کن.

## راه ۲ — سرور اختصاصی/VPS

```bash
# با Docker (پیشنهادی — سند ۲۸)
docker compose up -d
docker compose exec app node scripts/install.mjs --email you@example.com --password 'your-pass'

# یا بدون Docker
npm ci --omit=dev
node scripts/install.mjs --email you@example.com --password 'your-pass'
node server/index.js   # پشت Caddy/Nginx با TLS
```

## راه ۳ — لوکال/توسعه

```bash
npm install
node scripts/install.mjs --email dev@local --password 'dev-pass-8'
npm start              # → http://localhost:8080
```

## بعد از نصب

- پنل مدیریت: `/admin.html` · اپ کودک: `/`
- تنظیمات در `config/settings.json` (الگو: `config/settings.example.json`) — پس از تغییر، اپ را Restart کن.
- بکاپ: به‌صورت پیش‌فرض هر شب (`ALPHABET_BACKUP=1`) — روی cPanel اگر پروسه‌ی شبانه قطع شد، یک Cron بساز: `cd ~/alphabetplay-x.y.z && node scripts/backup.mjs`
- بازیابی دست ادمین: `node scripts/install.mjs --recover --email new@example.com --password 'pass-1234'`
- راهنمای کامل و محدودیت‌های هاست اشتراکی: `docs/34-install-cpanel.md`

## اگر /install باز نشد (503)

- نسخه‌ی Node در cPanel باید ≥۱۸ و هم‌خانواده‌ی بسته باشد (بسته‌ی `-with-deps` را با Node ۲۰ ساخته‌ای؟ در cPanel هم ۲۰ انتخاب کن).
- لاگ‌ها: cPanel → Setup Node.js App → Error Log (یا `passenger.log`).
