---
title: Arsitektur
description: Struktur NexCMP: domain, nginx, layanan panel dan worker, serta setiap sistem yang terhubung, beserta port dan data yang digunakan setiap jalur.
url: https://nexcmp.com/id/docs/infrastructure/architecture/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Arsitektur {#architecture}

> **Lokasi di admin:** ini adalah halaman referensi. Layanan yang dijelaskan di sini terlihat dengan `sudo nexcmp status`; koneksi dikonfigurasi di Infrastructure dan System › Settings.

## Gambaran umum {#the-picture}

![Arsitektur NexCMP: pelanggan mengakses nginx melalui DNS dan secara opsional Cloudflare, nginx melakukan proksi ke panel pada port 3000, panel dan worker memanggil CloudStack, Proxmox VE, iDRAC, Ceph, gateway pembayaran, SMTP, dan penyedia AI, serta node VPN dan proksi IPv6 berkomunikasi kembali ke panel](https://nexcmp.com/id/docs/images/infrastructure/architecture.svg)

### Penjelasan diagram secara terperinci {#the-same-diagram-in-words}

1. Pelanggan atau administrator membuka `https://cloud.example.com` (portal), `https://cloud.example.com/admin` (konsol admin), atau memanggil REST API. DNS mengarahkan nama domain ke server Anda, atau ke Cloudflare yang memproksikannya.
2. **nginx** pada server panel mendengarkan di port 80 (pengalihan dan pembaruan sertifikat) serta 443 (TLS) dan meneruskan setiap permintaan ke **panel** di `127.0.0.1:3000`. Setelah panduan pengaturan selesai, panel hanya mendengarkan di antarmuka loopback.
3. **panel** (`nexcmp.service`) melayani portal pelanggan, konsol admin, REST API, panduan penyiapan, serta unduhan yang dibutuhkan node (biner agen, skrip penginstalan, alat baris perintah `cmp`). Panel juga memeriksa lisensi Anda sekali sehari.
4. **worker** (`nexcmp-vmd.service`) mendengarkan di `127.0.0.1:8112`, yang hanya bersifat lokal. Worker menjalankan semua hal yang memakan waktu atau harus terjadwal: tugas provisi, sinkronisasi dengan CloudStack dan Proxmox VE, pembaruan penagihan, pengumpulan bandwidth, dan koneksi konsol browser.
5. Dari kedua proses ini NexCMP melakukan panggilan keluar: **CloudStack** (manajemen API), **Proxmox VE** (API di port 8006, sertifikat di-pin), **Dell iDRAC** (Redfish melalui HTTPS pada jaringan manajemen), **Ceph RGW** (S3 dan Admin Ops melalui HTTPS), **gateway pembayaran** (Stripe, PayPal, USDT, dan penyedia transfer bank, yang juga memanggil URL webhook Anda), **server SMTP Anda**, **penyedia AI** dengan API yang kompatibel dengan OpenAI, serta secara opsional **Telegram**.
6. **Node VPN** menjalankan `cmp-agent`. Setiap node mendaftar sekali dengan token sekali pakai, lalu mengirim heartbeat setiap 5 detik melalui HTTPS ke panel dan menerima konfigurasinya dalam balasan. **Node proksi IPv6** diinstal sekali oleh panel melalui SSH, kemudian mengambil konfigurasinya dari panel.
7. Status disimpan di basis data SQLite dan beberapa file di `/var/lib/nexcmp`. Kredensial untuk CloudStack, Proxmox, S3, iDRAC, dan penyedia AI disimpan dalam bentuk terenkripsi (AES-256-GCM) dengan file kunci master di area yang sama.

## Layanan dan proses {#services-and-processes}

| Proses | Dijalankan sebagai | Mendengarkan di | Fungsi |
|---|---|---|---|
| `nginx` | root (worker `www-data`) | 80, 443 | TLS, pengalihan, proksi ke panel |
| `nexcmp` | `nexcmp` | 3000 (semua antarmuka saat instalasi pertama, lalu `127.0.0.1`) | Portal, konsol admin, API, wizard, unduhan |
| `nexcmp-vmd` | `nexcmp` | `127.0.0.1:8112` | Pekerjaan, sinkronisasi, penagihan, bandwidth, konsol |
| `nexcmp-update` | root | tidak ada | Menerapkan pembaruan yang diminta konsol admin (unit path menunggu permintaan) |
| `cmp-agent` (pada node VPN) | root | port pendengar VPN | Melaporkan ke panel, menjalankan listener proxy pada IPv4 publik |

Panel dan worker berjalan sebagai pengguna biasa tanpa kapabilitas Linux apa pun, dengan sistem file baca-saja kecuali `/var/lib/nexcmp` dan `/var/log/nexcmp`. Keduanya tidak memerlukan root, Docker, database terpisah, maupun Redis.

## File dan lokasinya {#files-and-where-they-are}

| Path | Konten |
|---|---|
| `/opt/nexcmp` | Program: rilis, `bin/`, file bersama seperti pembuat template. Dimiliki oleh root, baca-saja untuk layanan. |
| `/etc/nexcmp` | Pengaturan penginstal (`install.conf`), port dan bind (`nexcmp.env`). |
| `/var/lib/nexcmp` | Database SQLite, branding yang diunggah, folder unduhan agen, status lisensi, file kunci master. Cadangkan ini. |
| `/var/log/nexcmp` | Log. |

Lihat [Backup and restore](https://nexcmp.com/id/docs/getting-started/backup-and-restore/). File kunci master harus dicadangkan bersama dengan database, jika tidak, database yang dipulihkan tidak dapat mendekripsi kredensial yang tersimpan.

## Siapa yang terhubung ke siapa {#who-connects-to-whom}

| Arah | Path | Port | Catatan |
|---|---|---|---|
| Pelanggan ke panel | Internet, DNS, Cloudflare opsional, nginx | 443 | Lihat [DNS and Cloudflare](https://nexcmp.com/id/docs/getting-started/dns-and-cloudflare/). |
| Panel ke server lisensi | `nexcmp.com` | 443 | Aktivasi, pemeriksaan harian, dan pembaruan. |
| Panel ke CloudStack | API | 443 atau 8080 | Konsol VM, bandwidth, dan fitur Kubernetes menggunakan endpoint yang sama. |
| Panel ke Proxmox VE | API dan konsol WebSocket | 8006 | Sertifikat di-pin oleh SHA-256. |
| Panel ke iDRAC | Redfish | 443, VNC 5901 | Hanya jaringan manajemen. |
| iDRAC ke server ISO | HTTP | port Anda | iDRAC menarik ISO. |
| Panel ke Ceph RGW | Admin Ops | 443 | |
| Panel ke SMTP | SMTP | 587 atau 465 | |
| Panel ke penyedia AI | HTTPS | 443 | Hanya saat modul AI aktif. |
| Gateway pembayaran ke panel | Webhook | 443 | Stripe dan PayPal melakukan callback. |
| Node ke panel | `cmp-agent` | 443 | Pendaftaran, detak jantung, peningkatan. |
| Panel ke node proxy IPv6 | SSH | port yang Anda masukkan | Instalasi satu kali saja. |

## Mengapa ini penting {#why-it-matters}

- **Panel yang dapat dijangkau adalah panel yang dapat diserang.** Tutup port 3000 setelah wisaya penyiapan selesai. Pemasang sudah melakukan ini saat TLS aktif.
- **Worker harus berjalan** agar apa pun dapat dibuat atau ditagih. `sudo nexcmp status` menampilkan kedua layanan dan pemeriksaan kesehatan.
- **Rencanakan firewall keluar.** Jika lalu lintas keluar server panel difilter,izinkan tujuan dalam tabel di atas.
- **Lalu lintas manajemen tetap di luar jalur publik.** Koneksi ke CloudStack, Proxmox VE, iDRAC, dan Ceph berjalan langsung dari server panel ke sistem tersebut, tidak pernah melalui nginx atau Cloudflare.
