BrotherCasual ERP Workspace

Review ecosystem.brothercasual-web.config.cjs

Brother Casual ERP · /opt/ai-gateway/studio/brothercasual-erp

user
Audit file ini secara hemat token.

File path:
ecosystem.brothercasual-web.config.cjs

Isi file:
```
module.exports = {
  apps: [
    {
      name: "brothercasual-erp-web",
      cwd: "/opt/ai-gateway/studio/brothercasual-erp/apps/web",
      script: "node_modules/next/dist/bin/next",
      args: "start -p 3100",
      interpreter: "node",
      env: {
        NODE_ENV: "production",
        NEXT_PUBLIC_API_URL: "https://api.brothercasual.com"
      }
    }
  ]
}

```

Tugas:
- Jelaskan fungsi file secara singkat.
- Sebutkan risiko/bug potensial.
- Beri rekomendasi refactor.
- Jangan patch dulu.
- Jawab ringkas dan praktis.
assistant · openrouter/anthropic/claude-sonnet-4.6
# Audit: `ecosystem.brothercasual-web.config.cjs`

---

## Fungsi
PM2 ecosystem config untuk menjalankan Next.js web app di production (port 3100).

---

## Risiko / Bug Potensial

| # | Isu | Severity |
|---|-----|----------|
| 1 | **Hardcode brand** — `brothercasual-erp-web`, `brothercasual.com` | Medium |
| 2 | **Hardcode `cwd` absolute path** — `/opt/ai-gateway/studio/brothercasual-erp/...` — pecah jika deploy di server lain | High |
| 3 | **`NEXT_PUBLIC_API_URL` hardcode** di config, bukan dari `.env` | Medium |
| 4 | **Tidak ada `instances` / `exec_mode`** — single process, tidak memanfaatkan multi-core | Low |
| 5 | **Tidak ada `max_memory_restart`** — memory leak tidak tertangani otomatis | Low |
| 6 | **Tidak ada `log_file` / `error_file`** — log tidak terstruktur | Low |

---

## Rekomendasi Refactor

1. **`cwd`** → ganti ke path relatif atau pakai env var `APP_ROOT`.
2. **`NEXT_PUBLIC_API_URL`** → hapus dari sini, baca dari `.env.production` saja.
3. **`name`** → pakai env var atau config terpusat agar white-label ready.
4. **Tambah** `instances: "max"`, `exec_mode: "cluster"`, `max_memory_restart: "512M"`.
5. **Tambah** `log_file` dan `error_file` ke path terpusat.

---

**Priority:** Selesaikan hardcode `cwd` dan `NEXT_PUBLIC_API_URL` dulu — keduanya paling berisiko saat multi-server/multi-tenant deploy.
2237 tokens · $0.012831
micro context · fast combo