# 🚀 cPanel Terminal Başlatma Rehberi

## Discord Guard Dashboard — cPanel Kurulum

Bu klasördeki scriptler, **sudo yetkisi gerektirmeden** cPanel shared hosting veya VPS ortamında uygulamayı çalıştırmak için tasarlanmıştır.

---

## 📁 Script Dosyaları

| Dosya | Açıklama |
|---|---|
| `cpanel_start.sh` | Ana başlatma scripti — bağımlılık kurulumu dahil |
| `cpanel_stop.sh` | Uygulamayı durdurur |
| `cpanel_status.sh` | Durum, PID, bellek, log bilgisi gösterir |
| `cpanel_watchdog.sh` | Cron Job ile otomatik yeniden başlatma |

---

## ⚡ İlk Kurulum (cPanel Terminal)

### 1. Dosyaları yükle
```bash
# cPanel File Manager veya FTP ile dosyaları yükle
# Ya da Git ile:
cd ~/public_html
git clone <repo_url> .
```

### 2. Scriptlere çalıştırma yetkisi ver
```bash
chmod +x cpanel_start.sh cpanel_stop.sh cpanel_status.sh cpanel_watchdog.sh
```

### 3. .env dosyasını düzenle
```bash
# Otomatik oluşturulur, ilk çalıştırmada:
nano .env
# DISCORD_TOKEN, DISCORD_CLIENT_ID, SESSION_SECRET gibi değerleri doldur
```

### 4. Başlat
```bash
./cpanel_start.sh
```

> Script şunları otomatik yapar:
> - Node.js versiyonunu kontrol eder
> - `.env` dosyasını doğrular
> - `npm install` ile tüm bağımlılıkları kurar
> - `better-sqlite3` native modülünü derler
> - Frontend'i build eder
> - Uygulamayı `nohup` ile arka planda başlatır
> - PID'yi `.app.pid` dosyasına kaydeder

---

## 🔧 Günlük Kullanım

```bash
# Başlat / Yeniden başlat
./cpanel_start.sh

# Durdur
./cpanel_stop.sh

# Durum kontrol
./cpanel_status.sh

# Canlı log izle
tail -f logs/app.log

# Hata logları
tail -f logs/error.log
```

---

## ⏰ Watchdog — Otomatik Yeniden Başlatma

cPanel → **Cron Jobs** bölümüne şunu ekle:

```
*/5 * * * * /home/KULLANICI_ADI/PROJE_KLASORU/cpanel_watchdog.sh
```

> `KULLANICI_ADI` ve `PROJE_KLASORU` kendi değerlerinle değiştir.

Watchdog her 5 dakikada çalışır, uygulama durmuşsa otomatik yeniden başlatır.
Watchdog logları: `logs/watchdog.log`

---

## 🔑 cPanel Node.js Selector Ayarları

cPanel panenizde:
1. **Software → Node.js Selector** bölümüne gidin
2. **Create Application** tıklayın
3. Ayarlar:
   - **Node.js Version**: 20.x (önerilen) veya 18.x
   - **Application Mode**: Production
   - **Application Root**: proje klasörünüzün yolu
   - **Application URL**: domain adresiniz
   - **Application Startup File**: `src/web/server.js`

---

## ❗ Sorun Giderme

### Port meşgul hatası
```bash
./cpanel_stop.sh   # Önce durdur
./cpanel_start.sh  # Sonra başlat
```

### better-sqlite3 derleme hatası
```bash
npm rebuild better-sqlite3
```

### Node.js bulunamıyor
```bash
# cPanel Node.js Selector'dan versiyon aktifleştirin
# Veya NVM ile:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20
```

### npm install başarısız
```bash
# Önbelleği temizle
npm cache clean --force
npm install
```
