# Panduan Auto-Deployment Dashboard (CodeIgniter 4)

File workflow GitHub Actions telah dikonfigurasi pada [`.github/workflows/deploy.yml`](.github/workflows/deploy.yml).

Setiap kali Anda melakukan `git push origin main`, GitHub Actions akan otomatis menghubungkan SSH ke server produksi Anda dan mengeksekusi deployment.

---

## 🚀 Konfigurasi Server Produksi

- **Host**: `154.26.130.216`
- **Username**: `developer`
- **Port**: `6288`
- **SSH Key Secret**: `${{ secrets.SSH_SERVER_KEY }}`
- **Default Path**: `/var/www/html/copy-trade-dashboard`

---

## 🔑 Pengaturan GitHub Secrets

Pastikan Secret berikut telah ditambahkan di GitHub:
Buka: **Settings** → **Secrets and variables** → **Actions** → **New repository secret**:

| Secret Name | Deskripsi | Nilai |
| :--- | :--- | :--- |
| `SSH_SERVER_KEY` | Private Key SSH user `developer` | *(Isi Private Key SSH Anda)* |
| `DEPLOY_PATH` *(Opsional)* | Path custom folder di server | `/var/www/html/copy-trade-dashboard` |

---

## ⚙️ Alur Deployment Otomatis:

Saat Anda melakukan `git push`, script akan mengeksekusi:
1. `git fetch --all && git reset --hard` (Menarik commit terbaru)
2. `composer install --no-dev --prefer-dist --optimize-autoloader` (Update library PHP mode produksi)
3. `php spark migrate --all` (Menjalankan migrasi database otomatis)
4. `php spark cache:clear` (Membersihkan cache)
5. `chmod -R 775 writable/` (Memastikan permission folder writable)
