01Aturan kredensial
Halaman ini tidak berisi kredensial apa pun. Setiap nilai rahasia ditulis sebagai placeholder, misalnya <TOKEN-SECRET>.
Setiap rahasia hanya diketik di satu tempat: token secret Proxmox di Proxmox connections, API key AI di AI settings, dan password SMTP di SMTP. Semuanya dienkripsi sebelum disimpan dan tidak pernah ditampilkan lagi.
Jangan pernah mengirim rahasia lewat chat, email, tiket, atau screenshot — dan jangan menempelkannya ke asisten AI.
- Gunakan token khusus
pmxapps@pve, bukanroot@pam. - Mulai dari read-only. Tambahkan role operator hanya jika ingin membuat VM dan template, memperbesar disk, atau me-reboot node.
- Berikan role storage admin hanya jika Proxmox Apps boleh menjadikan disk baru sebagai storage.
- Jika sebuah rahasia pernah terekspos, anggap sudah bocor: cabut dan buat ulang (bagian 15).
02Prasyarat
- Node Proxmox VE (disarankan 8.x atau 9.x) yang bisa diakses lewat web UI.
- Akses shell
rootke node tersebut (SSH atau menu Shell di web UI). - Alamat IP atau hostname node yang bisa dijangkau dari server Proxmox Apps.
- Akun dashboard — lewat undangan email dari Superadmin tenant Anda (bagian 13).
- Akses jaringan: halaman login organisasi (
/t/<slug>), dashboard anggota, serta link undangan dan reset password anggota bisa dibuka dari internet. Administrasi platform dan panduan ini hanya bisa dibuka dari VPN yang diizinkan; dari jaringan lain muncul halaman “akses terbatas”. - Untuk template: node bisa mengakses HTTPS keluar ke
cloud-images.ubuntu.com.
Satu node sudah cukup
Semua fitur jalan tanpa cluster: dashboard, asisten, laporan, template, VM, storage, dan reboot.
Node cluster
Terdeteksi otomatis. Reboot dicek terhadap quorum dan HA. Daftarkan 2 node atau lebih sebagai endpoint cadangan.
03User & API token (read-only)
Jalankan di shell node. Untuk cluster, cukup jalankan sekali di node mana saja — konfigurasinya berlaku untuk semua node.
# 1. User khusus (realm pve) pveum user add pmxapps@pve --comment "Proxmox Apps" # 2. Hak baca ke seluruh datacenter pveum acl modify / --users pmxapps@pve --roles PVEAuditor # 3. API token; --privsep 0 = token mewarisi hak user pveum user token add pmxapps@pve dashboard --privsep 0
Perintah ketiga menampilkan full-tokenid dan value:
| Field Proxmox | Dipakai sebagai | Catatan |
|---|---|---|
full-tokenid | Token ID | Bentuknya seperti pmxapps@pve!dashboard. Bukan rahasia. |
value | Token secret | Rahasia. Hanya tampil sekali. Tempel langsung ke Proxmox connections. |
04Role operator & storage
Hanya dibutuhkan untuk aksi yang mengubah infrastruktur. Dashboard, monitoring, laporan, dan semua pertanyaan read-only ke asisten tetap jalan tanpa role ini.
Operator — VM, template cloud-init, resize disk, reboot
pveum role add PMXAppsOperator --privs "VM.Audit VM.Allocate VM.Clone VM.Config.CPU VM.Config.Memory VM.Config.Disk VM.Config.Network VM.Config.Options VM.Config.HWType VM.Config.Cloudinit VM.PowerMgmt VM.Console VM.Config.CDROM Datastore.Audit Datastore.AllocateSpace Datastore.AllocateTemplate Sys.Audit Sys.PowerMgmt Sys.AccessNetwork SDN.Use"
# role sudah ada? ganti daftar privilege-nya:
pveum role modify PMXAppsOperator --privs "VM.Audit VM.Allocate VM.Clone VM.Config.CPU VM.Config.Memory VM.Config.Disk VM.Config.Network VM.Config.Options VM.Config.HWType VM.Config.Cloudinit VM.PowerMgmt VM.Console VM.Config.CDROM Datastore.Audit Datastore.AllocateSpace Datastore.AllocateTemplate Sys.Audit Sys.PowerMgmt Sys.AccessNetwork SDN.Use"
pveum acl modify / --users pmxapps@pve --roles PMXAppsOperator
Privilege separation. Token yang dibuat tanpa --privsep 0 hanya mendapat hak yang diberikan ke token itu sendiri (diiriskan dengan hak user). Jika Operations masih menyatakan token tidak bisa bertindak, berikan role ke token juga dan cek izin milik token:
pveum acl modify / --tokens 'pmxapps@pve!<nama-token>' --roles PMXAppsOperator pveum user token permissions pmxapps@pve <nama-token>
VM.Console dipakai menu Console (terminal dan layar VM di browser). VM.Config.CDROM dipakai saat membuat template: VM di-boot sekali dengan disk setup kecil untuk memasang qemu-guest-agent. Tanpa privilege ini template tetap bisa dibuat, hanya tanpa guest agent.
Sys.AccessNetwork (untuk mengunduh cloud image) ada di PVE 8.4+/9; di versi lebih lama gunakan Sys.Modify. SDN.Use tidak ada di PVE 7 — hapus dari daftar di sana.
Opsional: storage admin — menjadikan disk baru sebagai storage
Sys.Modify adalah privilege yang kuat dan membuat storage menghapus isi disk. Berikan role ini hanya jika fitur tersebut dibutuhkan; Proxmox Apps tetap mewajibkan Anda mengetik path device sebelum aksi dijalankan.
pveum role add PMXAppsStorageAdmin --privs "Sys.Modify Datastore.Allocate"
pveum acl modify / --users pmxapps@pve --roles PMXAppsStorageAdmin
pveum acl modify / --tokens 'pmxapps@pve!<nama-token>' --roles PMXAppsStorageAdmin
05Akses jaringan ke port 8006
Server Proxmox Apps memanggil API Proxmox lewat HTTPS di port 8006. Buka port ini hanya untuk IP server Proxmox Apps.
curl -k -s -o /dev/null -w "%{http_code}\n" https://<PROXMOX-IP>:8006/api2/json/version
# 401 = API terjangkau (wajar tanpa token) · 000 = tidak terjangkau / diblokir
- Buka Datacenter → Firewall → Add.
- Isi Direction
in, ActionACCEPT, Protocoltcp, Dest. port8006, Source161.248.116.4(server Proxmox Apps). - Pastikan aturan untuk akses admin Anda sendiri (web UI dan SSH) sudah ada sebelum firewall diaktifkan.
Mengaktifkan firewall datacenter tanpa aturan untuk admin bisa mengunci Anda dari web UI dan SSH. Tambahkan aturan akses Anda lebih dulu, atau kerjakan dari konsol fisik / IPMI.
06Menambah target
Masuk ke dashboard lewat halaman login organisasi Anda (link dari email undangan) sebagai Superadmin tenant, buka Proxmox connections, lalu klik + Add target. Target hanya milik tenant yang sedang dipilih.
| Field | Isi | Contoh / catatan |
|---|---|---|
| Name | Label bebas untuk node | pve01 |
| API URL | Alamat node dengan port 8006 | https://<PROXMOX-IP>:8006 — /api2/json ditambahkan otomatis |
| Token ID | Nilai full-tokenid | pmxapps@pve!dashboard |
| Token secret | Nilai value dari Proxmox | <TOKEN-SECRET> — dienkripsi, tidak pernah ditampilkan lagi |
| Connection type | Single node atau Cluster node | Jika ragu pilih single node; keanggotaan cluster terdeteksi saat tes |
| Verify TLS | Biarkan off dengan sertifikat bawaan Proxmox | Aktifkan bila node memakai sertifikat valid (misalnya ACME) |
Target yang belum lolos tes tidak dipakai oleh dashboard maupun asisten. Mengubah URL, token, atau opsi TLS menonaktifkan target sampai dites ulang.
07Overview & monitoring
Overview hanya untuk melihat. Semua aksi ada di Operations dan Storage & disks. Data node, VM, dan cluster diperbarui otomatis setiap 5 detik (indikator Live di menu).
| Bagian | Isi |
|---|---|
| Kartu ringkasan | Node online, VM berjalan, CPU dan RAM seluruh node. |
| Panel cluster | Khusus cluster: node online, syarat quorum, toleransi, dan kebijakan HA. |
| Node & utilisasi | Satu baris ringkas per node, tertutup secara default agar ratusan node tetap mudah dikelola. Buka baris untuk meter serta grafik CPU, RAM, jaringan, dan IO wait (1 jam / 24 jam / 7 hari) plus storage. Ada pencarian, filter status, dan “Collapse all”. |
| VM | Daftar dengan node dan alamat IP; cari berdasarkan VMID, nama, atau IP. IP diambil dari QEMU guest agent (cadangan: IP cloud-init). |
08AI settings & asisten
Setiap tenant memakai akun penyedia AI dan API key-nya sendiri. Pengaturan ini hanya bisa diubah oleh Superadmin tenant.
- Buka AI settings dan pilih penyedia: Anthropic, SumoPod, OpenAI, atau Other untuk endpoint lain yang kompatibel dengan OpenAI.
- Tempel API key dari dashboard penyedia. Key dienkripsi di server dan tidak pernah ditampilkan lagi.
- Isi model atau klik Load the model list from the provider.
- Klik Test connection — hasil yang diharapkan “tool calling works”. Asisten membutuhkan tool calling.
- Klik Save. Asisten langsung memakai pengaturan baru.
Asisten menjawab dari data Proxmox saat itu dan membalas dengan bahasa yang Anda pakai. Contoh:
- “Buatkan health report hari ini dan apa yang harus saya perbaiki dulu.”
- “Seberapa sibuk pve01 selama 7 hari terakhir?”
- “VM mana yang punya IP 10.0.0.25?”
- “Ada disk baru yang bisa dipakai untuk storage?”
- “Buat template Ubuntu 24.04 cloud-init di pve01.”
- “Buat template Ubuntu 24.04 di pve01 lalu langsung buat VM web01 dari template itu, 2 vCPU, 4 GB RAM, disk 40 GB.”
Menu Tools — tanpa perlu menghafal command
Klik tombol Tools di sebelah kotak chat. Aksi dikelompokkan per kategori — Monitoring, VMs, Power, Storage, Provisioning, Reports, General — dan bisa dicari (misalnya “backup”, “restart”, “iso”).
- Aksi tanpa isian langsung jalan. Aksi yang butuh data membuka form singkat: node dan VM dipilih dari daftar live (Start hanya menampilkan guest yang mati, Shutdown/Restart/Stop hanya yang menyala), jenis laporan, rentang, distro, dan jenis download berupa pilihan.
- Form menampilkan command yang akan dikirim (misalnya
/tasks 48) — tombol Run atau Create proposal mengirimkannya. - Percakapan kosong menampilkan kartu “What do you want to do?” per kategori dengan aksi yang paling sering dipakai.
- Keyboard: Esc kembali ke daftar lalu menutup panel. Mengetik
/tetap bekerja seperti biasa.
Command chat untuk pekerjaan harian
Ketik / di kotak chat untuk memunculkan daftar command, pilih dengan panah lalu Tab atau Enter (command tanpa argumen langsung jalan). Ketik /help untuk daftar lengkap.
| Command | Fungsi | Jenis |
|---|---|---|
/status | Node online, CPU/RAM/disk per node, jumlah guest berjalan | instan |
/cari <vmid | nama | IP> | Cari VM (alias /find) | instan |
/tasks [jam] | Task Proxmox yang gagal, default 24 jam | instan |
/check [node] | Health check berbentuk checklist ✅/⚠️/❌ plus langkah berikutnya (alias /cek) | AI |
/vm <vmid | nama | IP> | Semua tentang satu guest: config, status, snapshot, backup, masalah | AI |
/node <node> | Pemakaian sekarang & 24 jam, storage, service, update tertunda, task gagal | AI |
/storage [node] | Pemakaian storage, disk baru, temuan thin pool, rekomendasi | AI |
/update [node] | Update paket yang tertunda per node | AI |
/backup | Guest tanpa backup terbaru dan backup yang gagal | AI |
/report <tipe> [24h|7d|30d] | Buat & simpan laporan lalu jelaskan temuan utama (alias /laporan) | AI |
/download <iso|image|lxc|URL> <nama> [node] | Proposal unduh ISO, cloud image, template LXC, atau URL ke storage node | AI + proposal |
/start /shutdown /restart /stop <vmid> | Kartu proposal power VM | proposal |
/template [distro] [node] | Proposal template cloud-init Ubuntu atau Debian, mis. /template debian latest | AI + proposal |
/buatvm <deskripsi> | Proposal VM dari deskripsi; bila template belum ada, dibuatkan dulu | AI + proposal |
- Instan dan proposal tidak memakai AI — cepat, tanpa biaya token, dan tetap jalan walau AI belum diatur.
- Command AI memakai instruksi, format jawaban, dan daftar tool yang tetap sehingga hasilnya konsisten.
- Command yang membuat proposal butuh role Operator atau Superadmin.
- Superadmin bisa mewajibkan command saja di Team & roles → Tenant settings, sehingga chat bebas ditolak.
Template lalu VM dalam satu perintah
Minta asisten membuat template sekaligus VM dari template itu. Asisten membuat dua kartu proposal: template dan VM (bertanda built by #…). Konfirmasi kartu template dulu, lalu kartu VM — VM menunggu template selesai (hingga 60 menit), mengecek ulang kondisi Proxmox, lalu clone otomatis. Kartu VM tidak bisa dikonfirmasi sebelum template dikonfirmasi, dan otomatis gagal bila proposal template dibatalkan atau gagal.
Asisten yang benar-benar mengecek
Selain tool khusus (node, VM, laporan, disk, template), asisten punya akses baca ke seluruh API Proxmox lewat tool proxmox_get. Ia bisa memanggil beberapa endpoint berturut-turut untuk menyelidiki, misalnya: update paket yang pending, konfigurasi dan snapshot VM, isi storage backup, log task yang gagal, interface jaringan node, service, firewall, status HA, replication, Ceph, sertifikat, hingga info OS dan filesystem dari guest agent.
- Hanya permintaan GET (membaca); endpoint konsol, akses file, dan eksekusi perintah di dalam guest diblokir.
- Nilai rahasia di hasil (password, token, key) disamarkan; daftar yang terlalu besar dipotong.
- Hak akses mengikuti token Proxmox. Info dari guest agent butuh
VM.GuestAgent.Audit(PVE 9) atauVM.Monitor(PVE 8), dan agent harus berjalan di dalam VM. - Contoh: “Cek apakah ada update paket di pve01, konfigurasi VM 101, dan backup job yang terjadwal.”
Apa pun yang mengubah infrastruktur menjadi kartu proposal di bawah jawaban; tidak ada yang dijalankan sebelum dikonfirmasi. Pengguna dengan role Readonly tetap bisa bertanya, tetapi asisten tidak membuat proposal untuk mereka.
09Operations
- Baca rencana dan setiap peringatan sebelum konfirmasi. Proposal kedaluwarsa setelah 15 menit.
- Membuat, mengonfirmasi, dan membatalkan proposal membutuhkan role Operator atau Superadmin.
- Jika tenant mengaktifkan four-eyes, reboot node dan create storage harus dikonfirmasi oleh orang lain selain pembuat proposal.
- Progres tampil di kartu; hasil dan error disimpan di audit log.
- Jika token kurang hak untuk sebuah tab, Operations menampilkan privilege apa saja yang kurang.
Create template (cloud-init Ubuntu / Debian)
| Distro | Sebutan yang dikenali | User default | Verifikasi |
|---|---|---|---|
| Ubuntu 26.04 LTS (Resolute) | ubuntu, ubuntu latest, resolute | ubuntu | SHA-256 |
| Ubuntu 24.04 LTS (Noble) — default | noble, ubuntu-24.04 | ubuntu | SHA-256 |
| Ubuntu 22.04 LTS (Jammy) | jammy, ubuntu-22.04 | ubuntu | SHA-256 |
| Debian 13 (Trixie) — stable terbaru | debian, debian latest, debian terbaru, trixie | debian | SHA-512 |
| Debian 12 (Bookworm) | bookworm, debian-12 | debian | SHA-512 |
Pilih distro dan node di form, atau minta lewat chat: /template debian latest atau “buatkan template debian terbaru di pve01”. Untuk Debian, Proxmox Apps selalu memakai build bertanggal terbaru dari cloud.debian.org sehingga URL dan checksum pasti cocok. Pilih node — Proxmox Apps mendeteksi storage image (content import), storage disk, bridge, VMID kosong mulai 9000, dan tipe CPU (host untuk standalone, x86-64-v2-AES untuk cluster). Saat dikonfirmasi, image resmi diunduh dengan verifikasi SHA-256 (atau dipakai ulang), VM dibuat dengan serial console, flag guest agent, drive cloud-init, dan DHCP, disk diperbesar, lalu dijadikan template.
Tidak ada storage yang menerima import? Di Proxmox: Datacenter → Storage → local → Edit → Content → tambahkan Import. Image resmi tidak berisi qemu-guest-agent: pasang di VM hasil clone (apt install qemu-guest-agent) agar IP-nya terbaca.
Download (ISO, cloud image, template LXC)
Tab Download mengunduh file ke storage node, dan node sendiri yang mengunduh serta memverifikasi checksum. Tidak ada yang berjalan sebelum dikonfirmasi.
| Jenis | Sumber | Masuk ke content |
|---|---|---|
| ISO image | Ubuntu 26.04 / 24.04 live server, Debian 13 / 12 netinst — rilis poin terbaru dan checksum resmi dibaca otomatis (debian latest = Debian 13) | ISO image |
| Cloud image | Image cloud resmi Ubuntu/Debian (sama dengan yang dipakai Create template) | Import |
| Custom URL | Alamat https:// apa pun; tambahkan checksum dari penerbit bila ada | Ditentukan dari ekstensi file |
Rencana mengecek storage yang mendukung jenis file, sisa ruang (ukuran dibaca langsung dari node), file yang sudah ada, dan unduhan ganda. Lewat chat: /download iso debian latest.
Create VM
Full clone dari template, lalu atur vCPU, RAM, dan disk. Centang Customize cloud-init untuk template cloud-init:
- User — terisi otomatis dari template (
ubuntuuntuk Ubuntu,debianuntuk Debian) dan bisa diganti. - Password (opsional, dengan konfirmasi) — disimpan hanya sebagai hash SHA-512; tidak pernah tampil atau tercatat polos di audit log. SSH key tetap lebih aman.
- SSH public keys — boleh lebih dari satu, satu key per baris. Key milik Anda sendiri (disimpan di My account → SSH keys) muncul sebagai tombol sekali klik di atas kotak ini, jadi tiap member memakai key-nya masing-masing tanpa saling berbagi.
- Jaringan DHCP atau IP statis + gateway, DNS server dan search domain (kosong = mengikuti DNS host Proxmox).
- Upgrade packages on first boot — memperbarui paket saat VM pertama kali menyala.
Asisten AI tidak menerima password lewat chat; password hanya diisi di form ini. Tab Templates di Overview punya tombol Create VM yang langsung membuka form ini dengan template terpilih.
Reboot node
Cluster: ditolak bila quorum akan hilang; dampak HA dijelaskan. Standalone: peringatan bahwa semua guest ikut mati.
Start / stop guest
Tab Start / stop guest menampilkan semua VM dengan pencarian. Pilih Start, Shutdown (mematikan dengan rapi, batas 3 menit), Reboot, atau Stop (cabut daya — hanya untuk guest yang hang). Rencana mengecek status saat ini, lock (backup/migrasi/snapshot), HA, dan sisa RAM node sebelum Anda konfirmasi. Asisten juga bisa mengusulkannya: “Shutdown VM 105”.
10Reports
| Laporan | Cakupan |
|---|---|
| Health | Status node, CPU p95, RAM, root disk, IO wait, storage, temuan thin pool dan disk, task gagal, backup job yang belum ada. |
| Capacity | Alokasi dan overcommit vCPU serta RAM per node; pertumbuhan storage per hari dan perkiraan hari sampai penuh. |
| Backup | Backup job, backup terakhir per guest, guest tanpa backup atau backup lama, task backup gagal. |
| Activity | Aksi yang mengubah infrastruktur, event audit, pertanyaan dan pemakaian token AI, task Proxmox gagal. |
| Inventory | Semua VM dengan node, IP, status, dan resource; daftar template. |
- Buat kapan saja untuk 24 jam, 7 hari, atau 30 hari terakhir, atau minta lewat asisten.
- AI summary menambahkan ringkasan eksekutif dan daftar tindakan berprioritas, hanya berdasarkan data laporan.
- Grafik tampil di setiap laporan dan ikut tercetak di Print / PDF: health (pemakaian per storage pool, CPU/RAM sekarang vs rata-rata vs p95 per node), capacity (alokasi vCPU/RAM vs kapasitas fisik, sisa vs terpakai), backup (guest sudah vs belum dibackup 7 hari), activity (aksi per hari per status), inventory (VM per node). Laporan lama juga ikut punya grafik.
- Ekspor sebagai Markdown, CSV, atau Print / PDF. Markdown dan CSV hanya berisi data; angka di balik setiap grafik ada di tabel laporan.
- Company profile (menu Tenant admin, khusus Superadmin): nama perusahaan, logo PNG/JPG/SVG maks. 2 MB, dan alamat. Kalau diisi, header semua laporan tenant memakai logo di kiri atas beserta nama dan alamat — di layar, Print / PDF, dan Markdown (nama & alamat). Kalau kosong, header laporan tetap polos. SVG yang berisi script atau link eksternal ditolak.
- Jadwal harian (zona Asia/Jakarta) membuat laporan pilihan setiap pagi, opsional dengan AI summary. Laporan disimpan 180 hari dan terpisah per tenant.
11Storage & disks
Proxmox Apps memindai disk, volume group LVM, dan thin pool di setiap node lalu menjelaskan temuannya.
| Temuan | Yang bisa dilakukan |
|---|---|
| Disk baru belum dipakai | Create storage (LVM-thin atau directory ext4) sebagai aksi yang dikonfirmasi — Anda wajib mengetik path device karena isi disk dihapus. Atau salin perintah shell untuk memperluas storage LVM-thin yang sudah ada seperti vmstore. |
| Disk membesar tapi belum terpakai | Perintah pvresize dan perluasan thin pool. |
| Ruang kosong di volume group | Perintah untuk memperbesar thin pool. |
| Metadata thin pool ≥ 80% | Perintah untuk memperbesar metadata pool sebelum guest bermasalah. |
API Proxmox tidak bisa memperluas volume group atau thin pool yang sudah ada, jadi langkah itu ditampilkan sebagai perintah untuk Anda jalankan sebagai root di node — Proxmox Apps tidak menjalankannya. Cek device dengan lsblk terlebih dulu.
Resize disk VM memperbesar disk (tidak bisa mengecil). Setelahnya perluas partisi dan filesystem di dalam VM — image cloud Ubuntu melakukannya saat reboot berikutnya.
11bvRouter
Menu vRouter mengelola gateway jaringan di depan Proxmox: interface, port forward (NAT), firewall, dan daftar IP address (DHCP, reservasi, IP statis) — dengan pola usulan → konfirmasi yang sama seperti Operations.
Menyiapkan vRouter (sekali, lewat SSH)
- Aktifkan HTTPS API dengan key acak yang panjang (buat sendiri, misalnya
openssl rand -hex 32). Jangan pernah menempel key di chat. - Izinkan IP server Proxmox Apps ke port API di interface WAN. Aturannya hanya membuka satu port untuk satu alamat, jadi cukup
commitlalusave— perhatikan keluarannya, jangan sampai ada error. - Superadmin menambahkan vRouter di vRouter → Connections (nama, API URL, API key, verifikasi TLS) lalu klik Test.
set service https api rest set service https api keys id proxmox-apps key '<key-acak>' set firewall ipv4 input filter rule 25 action 'accept' set firewall ipv4 input filter rule 25 protocol 'tcp' set firewall ipv4 input filter rule 25 destination port '443' set firewall ipv4 input filter rule 25 source address '<ip-server-proxmox-apps>' set firewall ipv4 input filter rule 25 inbound-interface name '<interface-wan>' commit save exit
Kalau API tetap tidak terjangkau: masuk configuration mode (configure) lalu periksa show service https — harus ada api rest dan satu keys id — dan show firewall ipv4 input filter — harus ada aturan accept untuk alamat server Proxmox Apps di interface WAN. Perhatikan juga default-action: bila drop, ping memang tidak akan menjawab, dan itu normal. Di operational mode, konfigurasi bisa dilihat dengan show configuration commands | grep https.
Yang bisa dilakukan
| Tab | Fungsi |
|---|---|
| Overview | Host, versi, WAN dan gateway, port API, target Proxmox yang dijangkau lewat vRouter ini, utilisasi (load, memory, disk, uptime, grafik 1 jam untuk load, memory, trafik WAN dan LAN), serta interface beserta status link, laju trafik saat ini, total, error/drop. Tab Port forwards dan Firewall menampilkan jumlah hit per rule. Ringkasan vRouter juga ada di Overview → vRouter. |
| Port forwards | Daftar destination NAT dan source NAT. Forward a port membuat rule NAT + rule forward filter (plus rule drop bila sumber dibatasi). Remove menghapus forward beserta rule forward yang dibuat bersamanya. Bagian Add port forward punya dua pilihan: VM in Proxmox dan Other device (IP address) untuk perangkat di luar Proxmox. |
| Firewall | Input filter (port di vRouter sendiri) dan forward filter. Open a port untuk layanan yang jalan di vRouter; Close menghapus rule input. |
| IP addresses | Semua alamat di belakang vRouter dari tiga sumber: DHCP (lease dinamis), Reserved (reservasi DHCP / static mapping), dan Static (IP yang diatur di dalam VM, terdeteksi lewat tabel ARP vRouter selama perangkat aktif). Setiap alamat dicocokkan ke VM/CT Proxmox lewat MAC address. No lease berarti pernah terlihat di ARP tetapi sedang idle tanpa lease. Ada peringatan untuk IP statis di dalam pool DHCP, konflik IP, dan reservasi yang dipakai MAC lain. Operator bisa klik Reserve (jadikan alamat tetap untuk MAC tersebut) atau Remove reservation; keduanya tetap lewat usulan lalu konfirmasi dengan commit-confirm. |
| Connections | Daftar vRouter organisasi beserta status dan tombol Test. Menambah, mengubah, dan menghapus vRouter dilakukan provider di Platform → Dedicated-Routers. |
Membuka akses VM dari internet (paling mudah)
Contoh: ingin SSH ke poc-01 dari laptop, atau membuka website di sebuah VM. Ada tiga cara, hasilnya sama:
- Operations → Manage VMs → ⋯ → Internet access… pada VM yang dimaksud, atau tab vRouter → Port forwards.
- Pilih apa yang ingin diakses (SSH, Website, Secure website, Remote Desktop, atau port lain), port publik (kosongkan untuk otomatis, misalnya 2257 untuk VM berakhiran .57), dan siapa yang boleh terhubung: hanya IP saya saat ini (disarankan), IP/jaringan tertentu, atau semua orang (tidak disarankan untuk SSH, wajib mengetik
public N). - Klik Prepare access, periksa kartu usulan (alamat publik, siapa yang boleh masuk, IP tetap, dan cara terhubung), lalu Confirm.
Proxmox Apps mencari IP VM, membuat port forward, dan memasang reservasi DHCP (MAC → IP) agar akses tidak putus saat IP berubah. Setelah selesai, kartu menampilkan perintah siap pakai, misalnya ssh ubuntu@161.248.116.70 -p 2257. Detail VM di Manage VMs menampilkan bagian Internet access berisi semua akses yang aktif.
Port forward ke perangkat di luar Proxmox
Untuk server yang bukan VM di Proxmox VE, misalnya Proxmox Backup Server terpisah, NAS, kamera atau server fisik di belakang vRouter, buka vRouter → Port forwards → Add port forward → Other device (IP address). Tidak perlu lagi SSH ke vRouter.
- Isi IP perangkat (saran diambil dari tab IP addresses) dan nama untuk rule, misalnya Proxmox Backup Server. Keterangan di bawah kolom menunjukkan apakah vRouter melihat perangkat itu (online, statis, DHCP, atau tidak terlihat).
- Pilih layanan: HTTPS 443, Proxmox Backup Server 8007, SSH 22, HTTP 80, Remote Desktop 3389, atau port lain.
- Port publik terisi otomatis dengan port bebas; bisa diganti.
- Tentukan siapa yang boleh terhubung: hanya IP Anda, IP/jaringan tertentu, atau semua orang (tidak disarankan untuk halaman manajemen).
Perangkat harus memakai vRouter sebagai default gateway agar balasannya kembali. Usulan memberi peringatan bila IP tidak terlihat di tabel ARP vRouter, atau bila IP berada di pool DHCP tanpa reservasi. Nama perangkat disimpan di deskripsi rule NAT.
Lewat asisten AI cukup menulis, misalnya: "akses poc-01 lewat SSH port 2222 dari IP 203.0.113.10" atau perintah /akses poc-01 ssh 2222; ada juga di menu Tools → Network (vRouter). Login SSH tetap butuh password atau SSH key di VM (atur lewat Set login).
Login SSH dengan password: image resmi Ubuntu/Debian menolak password lewat SSH (PasswordAuthentication no). Template yang dibuat dengan opsi Allow SSH login with a password (bawaan aktif) sudah mengizinkannya. Untuk VM dari template lama, login sekali di console lalu jalankan:
sudo sh -c "echo 'PasswordAuthentication yes' > /etc/ssh/sshd_config.d/10-pmxapps-password-auth.conf && systemctl reload ssh"
VPN untuk remote akses (WireGuard)
Cara paling aman untuk mengakses VM dari luar tanpa membuka port SSH/web ke internet. Buka vRouter → VPN:
- Isi nama perangkat (misalnya
laptop-hamim) dan pilih yang bisa dijangkau: hanya jaringan VM (disarankan) atau semua trafik internet lewat vRouter. Klik Prepare device, lalu Confirm. Perangkat pertama sekaligus menyiapkan VPN di vRouter (wg0, jaringan10.20.0.0/24, UDP 51820). - Di kartu yang sudah selesai klik Show device configuration: scan QR code dengan aplikasi WireGuard di HP, atau download file .conf dan pilih Import tunnel(s) from file di laptop. Konfigurasi berisi private key perangkat, hanya bisa dibuka Operator selama 24 jam dan tercatat di audit log.
- Nyalakan tunnel, lalu akses VM dengan IP lokalnya, misalnya
ssh ubuntu@10.10.99.57.
Tab VPN adalah monitor koneksi: setiap perangkat menampilkan online/offline (handshake dalam 3 menit terakhir), terakhir terlihat, asal koneksi, kecepatan saat ini, total trafik, serta grafik jumlah perangkat online satu jam terakhir (diperbarui tiap 15 detik). Selama 24 jam setelah dibuat, tombol Download profile dan QR ada langsung di baris perangkat — tinggal impor ke aplikasi WireGuard. Internet tetap jalan: mode jaringan VM hanya melewatkan subnet VM lewat VPN (internet memakai koneksi perangkat sendiri); mode semua trafik memakai NAT vRouter dengan DNS dari DHCP vRouter (atau 1.1.1.1). Tombol Remove mencabut akses. Lewat asisten AI: "buatkan VPN untuk laptop saya" atau /vpn add laptop-hamim, /vpn status, /vpn remove laptop-hamim. Private key tidak pernah ditampilkan di chat.
Pengaman
- Commit-confirm: setiap perubahan diterapkan dengan
commit-confirm 5, lalu Proxmox Apps mengecek API vRouter dan semua target Proxmox tenant masih bisa dihubungi. Baru setelah ituconfirmdansave. Kalau tidak bisa dicek, perubahan tidak dikonfirmasi dan vRouter kembali ke konfigurasi sebelumnya sendiri (di VyOS bawaan dengan reboot). - Rule protected: rule yang dipakai Proxmox Apps sendiri (akses ke API vRouter, forward dan whitelist ke Proxmox, established/related) ditandai protected. Menghapusnya wajib mengetik
remove rule Ndan menampilkan peringatan. - Port terlarang: port forward ke port API atau SSH vRouter di WAN ditolak karena akan memutus akses.
- Tanpa pembatasan sumber (terbuka ke internet) wajib mengetik
open N/forward N. - Four-eyes wajib untuk semua perubahan vRouter bila tenant punya lebih dari satu Operator/Superadmin, apa pun pengaturan four-eyes tenant — API key vRouter tidak bisa dibatasi read-only.
- Asisten AI bisa membaca vRouter (
vrouter_show_*) dan membuat usulan yang sama; eksekusi tetap lewat tombol Confirm.
11cBackups (Proxmox Backup Server)
Menu Backups menampilkan status backup setiap VM, dan mengelola datastore Proxmox Backup Server (PBS) milik organisasi. Koneksi PBS ada di Tenant admin → Backup connections, sejajar dengan Proxmox connections: setiap organisasi menambahkan PBS-nya sendiri (boleh URL yang sama dengan organisasi lain) dan tidak bisa melihat koneksi atau datastore organisasi lain.
Selama organisasi belum punya koneksi PBS yang lolos tes, menu Backups tampil Coming soon (Superadmin melihat tombol untuk menambah koneksi).
1 · Dua kondisi pemakaian PBS
| Kondisi | Kapan dipakai | Token yang disiapkan di PBS |
|---|---|---|
| 1 · Proxmox Apps membuat datastore | PBS milik organisasi sendiri. Datastore, retention/verify job, dan user + token khusus per datastore dibuat dari Proxmox Apps. | Role Admin pada / |
| 2 · Datastore sudah tersedia | PBS dipakai bersama (misalnya dikelola tim lain). Administrator PBS membuat datastore dan token terbatas; organisasi tinggal menambahkan datastore itu. | Role DatastorePowerUser pada /datastore/<nama> |
Contoh perintah di shell PBS untuk kondisi 1:
proxmox-backup-manager user create pmxapps@pbs proxmox-backup-manager acl update / Admin --auth-id pmxapps@pbs proxmox-backup-manager user generate-token pmxapps@pbs apps proxmox-backup-manager acl update / Admin --auth-id 'pmxapps@pbs!apps' proxmox-backup-manager cert info | grep Fingerprint
Untuk kondisi 2 (datastore acme-backup sudah ada):
proxmox-backup-manager user create acme@pbs proxmox-backup-manager acl update /datastore/acme-backup DatastorePowerUser --auth-id acme@pbs proxmox-backup-manager user generate-token acme@pbs apps proxmox-backup-manager acl update /datastore/acme-backup DatastorePowerUser --auth-id 'acme@pbs!apps'
Secret token hanya tampil sekali: salin langsung ke form, jangan kirim lewat chat. Buka port 8007 PBS untuk server Proxmox Apps dan untuk semua node Proxmox VE yang mengirim backup.
2 · Menghubungkan backup server (provider, Platform → Dedicated-Backups)
Backup server (PBS) milik customer dihubungkan oleh provider di Platform → Dedicated-Backups: pilih organisasi, lalu + Add backup server. Organisasi melihat hasilnya di Tenant admin → Backup connections (baca-saja, dengan tombol Test dan tab Proxmox VE access), lalu membuat datastore, jadwal, dan restore sendiri di menu Backups. Wizard provider:
- Backup server: isi alamat yang dipakai Proxmox Apps (misalnya
https://161.248.116.70:18007), klik Check the server, lalu centang bahwa fingerprint sama dengan Dashboard → Show Fingerprint di PBS. Kalau yang diisi alamat privat, wizard menjelaskan perlunya port forward yang mengizinkan IP Proxmox Apps. - Access token: pilih kondisi (Proxmox Apps mengelola datastore, atau datastore yang sudah ada), salin perintah yang ditampilkan ke shell PBS, lalu tempel token ID dan secret. Connect and test langsung menyimpan dan mengetes koneksi.
- Proxmox VE access: untuk setiap koneksi Proxmox pilih Same network, Through the internet, atau Through a VPN, dan isi alamat PBS yang dipakai node (misalnya
10.10.99.11:8007). Alamat dengan port 8006 (port Proxmox VE) ditolak. - Done: server terhubung ke organisasi; datastore dibuat organisasi sendiri di Backups → Datastores (membuat baru bila token boleh, atau memakai yang sudah ada).
Tab Proxmox VE access di Dedicated-Backups dipakai provider untuk mengubah alamat PBS per koneksi Proxmox setelah setup; organisasi hanya melihatnya. Fingerprint sertifikat dikunci dan token disimpan terenkripsi.
3 · Datastore (Backups → Datastores)
- + New datastore (kondisi 1): tentukan nama sendiri (3–30 karakter, unik di PBS), tempat penyimpanan, retention, jadwal cleanup dan verify. Proxmox Apps juga membuat retention job
p-<nama>, verify jobv-<nama>, serta userpmx-<nama>@pbs+ tokenpveyang hanya berhak pada datastore itu. Kalau ada langkah yang gagal, semuanya dihapus lagi.Saat datastore yang dibuat di disk baru di-destroy, disk di-unmount dan di-wipe sehingga bisa dipakai lagi. Untuk ZFS, pool tetap ada dan dihapus manual denganTempat penyimpanan Yang terjadi Format an unused disk (disarankan) Pilih disk yang belum terpakai (daftar menampilkan ukuran, model, serial, SMART). ext4/XFS untuk satu disk, atau ZFS (single, mirror, raidz, raidz2, raid10, raidz3) untuk satu atau beberapa disk. PBS memformat dan me-mount disk di /mnt/datastore/<nama>. Semua data di disk terhapus, jadi kartu usulan meminta Anda mengetik path disk, misalnya/dev/sdb.Disk atau ZFS pool yang sudah ter-mount Datastore dibuat sebagai folder di dalamnya. Mount yang sudah menjadi datastore tidak bisa dipakai (datastore tidak boleh bersarang). Another folder Folder pada disk yang Anda mount sendiri, misalnya /mnt/backup/acme. Folder sistem ditolak.System disk Folder di bawah Datastore folder koneksi, di disk sistem PBS. Tidak disarankan karena backup berebut ruang dengan sistem operasi. zpool destroy <nama>. - + Add existing datastore (kondisi 2): pilih dari datastore yang terlihat oleh token. Tidak ada perubahan di PBS. Storage Proxmox VE yang sudah menunjuk ke datastore itu otomatis ditautkan.
- Remove: remove from Proxmox Apps only (datastore dan backup tetap), atau untuk datastore buatan Proxmox Apps: delete (file backup tetap di disk) / destroy (hapus semua backup, ketik nama datastore).
4 · Koneksi PBS ke Proxmox VE (standalone dan cluster)
Ada dua jalur yang berbeda: Proxmox Apps → PBS (URL koneksi, dari IP keluar server Proxmox Apps) dan node Proxmox VE → PBS (dipakai saat backup dan restore). Keduanya boleh memakai alamat berbeda.
| Letak Proxmox VE | Alamat yang diisi untuk koneksi Proxmox tersebut | Yang disiapkan |
|---|---|---|
| Satu jaringan dengan PBS | Alamat LAN PBS, misalnya 10.10.99.11:8007 | Tidak perlu port forward untuk Proxmox VE |
| Site / datacenter lain | Alamat publik dan port dari port forward, misalnya 161.248.116.70:28007 | Port forward di vRouter depan PBS (Other device) yang hanya mengizinkan IP publik node Proxmox VE site tersebut; satu port publik per site |
| Terhubung lewat VPN / private link | Alamat PBS yang terjangkau lewat tunnel | Rute dan firewall tunnel mengizinkan port 8007 |
- Di Platform → Dedicated-Backups (diatur provider; organisasi melihatnya di Tenant admin → Backup connections), setiap koneksi PBS punya tabel How each Proxmox VE connection reaches this backup server. Urutan prioritasnya: alamat untuk koneksi Proxmox tersebut, lalu Address for Proxmox VE (default semua koneksi Proxmox), lalu URL koneksi.
- Saat membuat/menambah datastore atau Connect to Proxmox, pilih koneksi Proxmox (standalone atau cluster), storage id, dan untuk cluster node yang mendapat storage. Form dan usulan menyebut alamat yang akan dipakai beserta asalnya. Storage PBS yang sudah ada di Proxmox VE otomatis ditautkan.
- Setelah storage ditambahkan, Proxmox Apps menunggu laporan status dari setiap node dan menyebut node yang belum bisa memakainya.
- Di Backups → Datastores, setiap tautan tampil dengan titik status (hijau: semua node bisa memakai storage, kuning: sebagian, merah: tidak ada / storage hilang), alamat yang dipakai, dan pesan masalah. Bila alamatnya berbeda dari yang seharusnya, tombol use <alamat> membuat usulan untuk memindahkan storage ke alamat itu (storage dibuat ulang dengan id yang sama; backup di PBS tidak tersentuh).
- Satu datastore bisa terhubung ke beberapa koneksi Proxmox sekaligus. Tombol × memutus tautan (storage buatan Proxmox Apps dihapus dari Proxmox VE, storage buatan manual dibiarkan).
- Proxmox VE memakai token datastore itu sendiri (kondisi 1) atau token koneksi (kondisi 2), dengan
prune-backups keep-allkarena retention diatur PBS. Token Proxmox perlu hakDatastore.Allocatepada/storage. Jadwal backup rutin dibuat di Proxmox VE (Datacenter → Backup).
5 · Backup dan snapshot dari Manage VMs
- Di Operations → Manage VMs, menu ⋯ setiap VM/CT (dan panel Details) punya Backup now… dan Snapshots….
- Backup now memakai datastore yang terhubung ke koneksi Proxmox tempat VM berada; pilih mode snapshot/suspend/stop dan opsi protect. Kalau organisasi belum terhubung ke PBS, datastore belum ada, atau belum terhubung ke Proxmox tersebut, muncul popup yang menjelaskan penyebabnya (Superadmin langsung mendapat tombol ke halaman yang tepat).
- Snapshots menampilkan daftar snapshot, membuat snapshot baru (opsional termasuk RAM untuk VM yang berjalan), rollback (ketik nama snapshot untuk konfirmasi, opsi start setelahnya), dan hapus. Snapshot hanya bisa dibuat bila semua disk berada di storage yang mendukung (LVM-thin, ZFS, Ceph RBD, atau disk qcow2); kalau tidak, dialog menjelaskan disk mana penyebabnya.
- Snapshot adalah titik pulih cepat di storage yang sama, bukan backup. Pakai sebelum upgrade atau perubahan berisiko, lalu hapus setelah aman.
- Token Proxmox perlu
VM.Snapshot(buat/hapus) danVM.Snapshot.Rollback(rollback).
6 · Pemakaian sehari-hari
| Tab | Isi |
|---|---|
| Overview | Pemakaian setiap datastore, tautan ke Proxmox VE, dan status setiap VM/CT: Backed up, Stale (lebih dari 36 jam) atau No backup; tombol Backup now. |
| Backups | Backup per VM/CT: waktu, ukuran, verifikasi, protected, encrypted; Restore (pilih koneksi Proxmox, node, storage, VMID baru), Protect, Delete. |
| Jobs & tasks | Retention, verify, garbage collection (run now), ubah retention dengan dry-run, riwayat task dan log. |
| Datastores | Daftar, tambah, hubungkan/putuskan Proxmox VE, hapus. |
- Readonly hanya melihat. Operator: backup now, restore, protect, hapus backup, jalankan job. Superadmin: koneksi PBS, datastore, tautan Proxmox VE, retention.
- Tombol yang tidak diizinkan token di PBS (misalnya garbage collection pada token kondisi 2) dinonaktifkan dengan keterangan.
- Restore selalu ke VM/CT baru (VMID baru, MAC baru); VM asli tidak disentuh.
- AI assistant bisa menjawab “VM mana yang belum di-backup?” dan membuat usulan backup atau restore.
12Audit log
| Status | Arti |
|---|---|
proposed | Menunggu Confirm atau Cancel. |
executing | Sudah dikonfirmasi dan sedang berjalan di Proxmox. |
confirmed | Selesai dengan sukses (atau query baca yang berhasil). |
cancelled | Dibatalkan atau kedaluwarsa. Tidak ada yang dikirim ke Proxmox. |
failed | Ditolak pengecekan atau gagal saat berjalan. Alasannya ada di kolom detail. |
- Kolom Actor membedakan aksi yang diusulkan asisten (
agent) dan yang dibuat di dashboard (manual), beserta email penggunanya. - Filter berdasarkan email aktor, tipe aktor, status, nama action, dan rentang tanggal (zona Asia/Jakarta); tombol Export CSV mengunduh hasil filter.
- Setiap tenant hanya melihat audit miliknya. Platform Admin punya Platform audit untuk semua tenant plus event platform (login, reset password, perubahan tenant, user, dan SMTP).
- Rahasia dan API key tidak pernah dicatat.
13Tenant, tim & role
Satu tenant = satu pelanggan dengan infrastruktur Proxmox, anggota, pengaturan AI, laporan, dan audit log sendiri. Data antar tenant dipisahkan di aplikasi dan di database (PostgreSQL Row-Level Security). Platform Admin memilih tenant aktif lewat pemilih Tenant di atas menu samping; anggota tenant masuk lewat halaman login organisasinya sendiri.
| Role | Berlaku di | Hak |
|---|---|---|
| Platform Admin | Seluruh platform | Membuat dan menangguhkan tenant, mengelola user dan SMTP, melihat Platform audit. Bisa membuka tenant mana pun untuk troubleshooting — tercatat di audit log tenant itu. |
| Superadmin | Satu tenant | Mengelola anggota, AI settings, dan four-eyes, melihat dan menguji koneksi (Proxmox, vRouter, backup server), plus semua hak Operator. |
| Operator | Satu tenant | Membuat, mengonfirmasi, dan membatalkan proposal; mengatur jadwal laporan dan menghapus laporan. |
| Readonly | Satu tenant | Melihat dashboard, laporan, dan audit log; bertanya ke asisten. |
Satu orang bisa punya role berbeda di tenant yang berbeda.
Halaman login organisasi
Setiap tenant punya alamat login sendiri: /t/<slug> (lihat kolom Member sign-in page di Platform → Tenants, atau kartu di Team & roles, lalu klik Copy link).
| Halaman | Untuk siapa | Perilaku |
|---|---|---|
/t/<slug> | Anggota tenant | Menampilkan nama dan logo (Company profile) tenant. Hanya menerima anggota tenant itu, dan seluruh dashboard anggota berjalan di bawah alamat ini (misalnya /t/<slug>/operations). Sesi terkunci ke tenant tersebut — tanpa pemilih tenant dan tanpa menu Platform, walaupun akunnya Platform Admin. Link undangan, reset password, dan email untuk anggota juga memakai alamat ini. Sign out kembali ke halaman ini. Jika keanggotaan dicabut atau tenant disuspend, sesi langsung berakhir. |
| Halaman platform | Platform Admin saja | Login administrasi platform dengan pemilih tenant. Akun lain ditolak, dan alamatnya tidak ditautkan dari halaman, email, atau pesan apa pun yang dilihat anggota tenant. Bagikan alamat ini hanya kepada Platform Admin. |
Akun tanpa organisasi tidak bisa login ke mana pun. Selain Platform Admin, akun yang tidak ter-assign ke tenant aktif ditolak di semua halaman login. Jika keanggotaan terakhirnya dicabut, sesi yang sedang berjalan langsung berakhir. Menerima undangan tanpa organisasi hanya menyimpan password — login baru bisa setelah di-assign.
Membuat user manual dan meng-assign ke tenant (Platform Admin)
- Buka Platform → Users → + Add user. Pilih No organization — assign later untuk membuat akun tanpa akses (tidak ada email yang dikirim), atau langsung pilih tenant dan role.
- Untuk undangan, centang Send invitation email; hapus centang untuk mendapat link undangan sekali tampil yang Anda bagikan sendiri.
- Di tabel, klik + Assign to organization pada baris user, pilih tenant dan role, lalu Add. Kotak Email mengirim undangan (akun belum punya password) atau email akses (akun sudah aktif); tanpa centang, akun yang belum aktif mendapat link undangan untuk dibagikan.
- Satu user bisa di-assign ke beberapa tenant dengan role berbeda. Role diubah lewat dropdown, dan tombol × mencabut akses dari tenant itu.
Mengundang anggota (Superadmin)
- Buka Team & roles, isi email dan role di Invite a member, lalu klik Send invitation. Platform Admin juga bisa lewat Platform → Users → + Add user, atau mengisi Superadmin pertama saat membuat tenant.
- Pengguna baru menerima email undangan bermerek tenant (nama, logo, role, alamat login, batas waktu) berisi tombol Accept invitation — berlaku 72 jam, sekali pakai. Setelah membuat password, pengguna langsung masuk ke tenant itu. Pengguna yang sudah punya akun menerima email access granted dengan link login tenant.
- Resend invite membuat link baru dan membatalkan link sebelumnya — pakai email yang paling baru.
- Kolom Status menampilkan hasil pengiriman: accepted by mail server (sudah diterima server email; jika tidak ada di inbox, cek folder Spam), email failed beserta alasannya, atau invitation expired.
- Jika SMTP belum diatur, link undangan ditampilkan sekali di halaman itu — bagikan sendiri lewat saluran yang aman.
- Role bisa diubah atau anggota dihapus kapan saja. Setiap tenant wajib punya minimal satu Superadmin.
Two-factor authentication (2FA)
Memakai aplikasi authenticator: Google Authenticator, Microsoft Authenticator, 1Password, Bitwarden, atau Authy. Kapan 2FA wajib diatur Platform Admin di Platform → Sign-in security:
| Kebijakan | Pilihan | Efek |
|---|---|---|
| Organization members | Required for every organization (default) | Semua anggota wajib 2FA, apa pun cara login-nya (password, Google, undangan). |
| Each organization decides | Superadmin mengatur di Team & roles → Tenant settings → Sign-in security; Platform Admin juga bisa mengatur per organisasi di tabel Adoption. | |
| Off | Tidak wajib. Anggota tetap bisa mengaktifkan untuk akunnya sendiri di My account. | |
| Platform Admins | Optional (default) / Required | Required hanya bisa dipilih oleh admin yang sudah memakai 2FA, supaya tidak mengunci diri sendiri. |
Akun yang sudah mengaktifkan 2FA selalu diminta kode walaupun kebijakan tidak mewajibkan. Saat kewajiban dinyalakan, sesi orang yang belum memakai 2FA langsung berakhir dan mereka mendaftar saat login berikutnya. Halaman Adoption menampilkan berapa anggota tiap organisasi yang sudah memakai 2FA. Semua perubahan kebijakan tercatat di Platform audit.
- Pertama kali: setelah password/Google/undangan, halaman Set up two-factor authentication menampilkan QR code dan setup key. Scan di aplikasi, masukkan kode 6 digit, lalu simpan 10 recovery code (sekali tampil; centang I saved my recovery codes untuk lanjut).
- Login berikutnya: masukkan kode 6 digit dari aplikasi. Kode yang sama tidak bisa dipakai dua kali.
- HP hilang: klik Lost your phone? Use a recovery code. Setiap recovery code hanya berlaku sekali. Buat kode baru di My account → Two-factor authentication.
- Reset: Superadmin tenant bisa klik Reset 2FA di Team & roles (tidak untuk dirinya sendiri atau akun Platform Admin); Platform Admin bisa di Platform → Users. Orang tersebut langsung keluar dari semua sesi dan mendaftar ulang saat login berikutnya. Semua tercatat di audit log.
- Sesi yang dibuka sebelum 2FA aktif otomatis berakhir, sehingga setiap anggota yang sedang login ikut memakai 2FA.
- Mematikan 2FA: di My account → Two-factor authentication → Turn off (butuh kode yang berlaku), hanya jika kebijakan tidak mewajibkan untuk akun tersebut.
- Platform Admin: aktifkan di My account → Two-factor authentication; setelah aktif, login halaman platform juga meminta kode.
Sign in with Google (anggota tenant)
- Platform Admin menghubungkan Google di Platform → Google sign-in: buat OAuth client tipe Web application di Google Cloud Console, daftarkan Authorized redirect URI yang ditampilkan di halaman itu, lalu isi Client ID dan Client secret (secret dienkripsi dan tidak pernah ditampilkan lagi).
- Tombol Sign in with Google muncul di halaman login organisasi. Hanya tersedia untuk anggota tenant — tidak ada di halaman platform.
- Hanya anggota yang sudah terdaftar: email Google yang terverifikasi harus sama dengan email akun di tenant itu. Login Google tidak pernah membuat akun baru.
- Login Google pertama mengikat akun Google tersebut ke anggota; login berikutnya harus memakai akun Google yang sama.
- Superadmin dapat mematikan Google atau membatasi ke satu domain Google Workspace di Team & roles → Tenant settings → Sign-in security.
- Setelah Google, anggota tetap memasukkan kode 2FA.
Four-eyes
Aktifkan di Team & roles → Tenant settings. Aksi berisiko tinggi (reboot node dan create storage) lalu wajib dikonfirmasi oleh Operator atau Superadmin yang berbeda dari pembuat proposal. Aturan ini tidak berlaku selama tenant hanya punya satu anggota yang bisa mengonfirmasi.
Password
- Lupa password: klik Forgot password? di halaman login; link reset berlaku 1 jam dan hanya bisa dipakai sekali. Membutuhkan SMTP yang sudah diatur.
- Ganti password: buka My account. Sesi di perangkat lain otomatis keluar.
- Sesi aktif: My account → Sessions menampilkan setiap perangkat yang sedang login (browser, organisasi, IP, terakhir aktif). Klik Sign out per perangkat atau Sign out other sessions. Logout langsung membatalkan sesi di server, sehingga salinan cookie tidak bisa dipakai lagi. Platform Admin dapat memakai Sign out everywhere di menu Users untuk perangkat yang hilang.
- Password minimal 12 karakter.
Administrasi platform (Platform Admin)
| Menu | Fungsi |
|---|---|
| Platform overview | Ringkasan seluruh platform: jumlah tenant, user, target, node online, guest berjalan, dan aksi 30 hari; grafik donut role anggota, guest per tenant, dan hasil aksi; grafik aktivitas harian per tenant; tabel kesehatan tenant (CPU/RAM, AI, proposal tertunda, kegagalan) dan daftar kegagalan 7 hari terakhir. Diperbarui tiap 15 detik. |
| Tenants | Buat tenant (opsional langsung mengundang Superadmin pertama), suspend atau aktifkan, pilih satu tenant sebagai sumber status live di landing page, dan buka tenant. Kolom qDC package menampilkan paket customer; tombol Assign qDC membuka form assign dengan tenant tersebut sudah terpilih. |
| Users | Semua akun, dikelompokkan per organisasi: pilih All users, Platform Admins, No organization, atau satu organisasi di panel kiri; tabel menampilkan 25 akun per halaman dengan pencarian serta filter status dan 2FA, dan tombol Add member to <organisasi>. + Add user membuat akun baru langsung ke tenant dan role pilihan, dan/atau sebagai Platform Admin; pengguna menerima undangan untuk membuat password sendiri (tanpa SMTP, link tampil sekali). Role per tenant bisa diubah dan keanggotaan dihapus langsung dari tabel. Juga: status 2FA dan akun Google yang terhubung, Reset 2FA, status pengiriman undangan, login terakhir (IP dan tenant), kirim ulang undangan, beri atau cabut Platform Admin, nonaktifkan akun (langsung keluar dari semua sesi). |
| SMTP | Server email untuk undangan dan reset password, berlaku untuk semua tenant: host, port, enkripsi (STARTTLS/TLS/none), username, password, dan alamat pengirim. Ada tombol kirim email uji dan tab Email design untuk melihat tampilan undangan, akses, dan reset per tenant. |
| Sign-in security | Kebijakan 2FA: untuk anggota organisasi (Required / Each organization decides / Off) dan untuk Platform Admin (Optional / Required), plus tabel adopsi 2FA per organisasi dengan pengaturan per organisasi. Klik nama organisasi (atau Platform Admins) untuk melihat siapa saja yang sudah/belum memakai 2FA, sejak kapan, login terakhir, dan tombol Reset 2FA. |
| qDC | Menjual kapasitas host Proxmox milik platform sebagai paket: tab Hosts, Packages, dan Subscriptions (lihat bagian 13b). Nama menu mengikuti nama produk di Branding. |
| API & branding | API key platform (untuk sistem reseller/billing), branding white-label untuk referensi API, dan ringkasan cara memakai API. |
| Google sign-in | OAuth client Google untuk tombol Sign in with Google di halaman login organisasi: redirect URI untuk didaftarkan di Google Cloud, Client ID, dan Client secret (terenkripsi). |
| Platform audit | Audit semua tenant dan event platform, dengan filter dan export CSV. |
Agar email tidak masuk Spam: email dikirim dalam format HTML + teks dengan nama pengirim “<Tenant> via Proxmox Apps”. Pastikan domain pengirim punya SPF, DKIM yang menandatangani email keluar, dan DMARC (mulai dari p=none, lalu quarantine). Minta penerima menandai email pertama sebagai Not spam.
Memakai Postal: di Postal buka mail server → Credentials → tambahkan credential tipe SMTP. Isi host Postal Anda dengan port 25 atau 587 dan STARTTLS; password adalah credential key tersebut. Pastikan domain alamat pengirim sudah diizinkan (SPF/DKIM).
13bqDC (paket resource) & API publik
Dua produk, satu platform. Setiap organisasi diberi tanda produknya: badge qDC atau Dedicated di Platform → Tenants dan Platform overview, serta di pemilih tenant kiri atas (mis. "JDD Team · qDC"). Setiap organisasi (tenant) memilih satu produk saat dibuat di Platform → Tenants: Proxmox Dedicated (menghubungkan node atau cluster Proxmox VE miliknya sendiri) atau qDC (paket resource di host milik platform). Organisasi qDC tidak bisa menambah koneksi Proxmox atau vRouter sendiri, dan paket qDC tidak bisa diberikan ke organisasi Dedicated yang sudah punya infrastruktur sendiri — buat organisasi terpisah bila satu customer memakai keduanya. Menu Platform dikelompokkan menjadi Platform, Proxmox Dedicated, qDC (qDC-Overview, qDC-Customers, qDC-Package, qDC-Host, qDC-Routers) dan Settings & security.
Pemisahan teknis antar produk. Sejak v4.1.0 tiap produk punya database sendiri di server yang sama: pmxapps (user, organisasi, sesi, audit), pmxapps_qdc, dan pmxapps_dedicated. API-nya juga terpisah: /api/v1/qdc/ dan /api/v1/dedicated/ dengan dokumentasi masing-masing, dan tiap API key bisa dikunci ke satu produk. Login, daftar organisasi, dan audit tetap satu supaya satu orang cukup punya satu akun.
Menu organisasi qDC. Semua infrastruktur customer qDC dipelihara platform, jadi di dasbor customer menu Proxmox connections, Backup connections, dan Storage & disks tidak ditampilkan (dan ditolak bila dicoba lewat API). Yang tersisa untuk customer: Overview, Package, Operations, Reports, vRouter (bila sudah di-assign), Backups, AI assistant, Audit log, serta Tenant admin berisi Team & roles, AI settings, Company profile, dan API keys. Organisasi Proxmox Dedicated tetap punya semuanya.
Dengan qDC, platform menyediakan host Proxmox (standalone atau cluster) lalu menjualnya ke organisasi dalam bentuk paket berisi vCPU, memory, disk, dan jumlah guest. Organisasi tidak perlu membuat koneksi Proxmox sendiri: saat paket di-assign, Proxmox Apps membuat resource pool, user, dan token Proxmox yang hanya bisa mengakses pool, storage, dan bridge paket itu, lalu menambahkan koneksi managed ke organisasi tersebut.
| Langkah (Platform → qDC) | Yang dilakukan |
|---|---|
| 1. Hosts | + Add host membuka wizard 4 langkah: Prepare menampilkan perintah pveum untuk membuat token Administrator di host, Connect meminta nama, API URL, token ID dan secret (plus node cluster lain bila ada) lalu langsung menguji koneksi dan membaca node, storage, bridge, pool dan template, Templates memilih Template pool dan Template storages dari daftar yang baru dibaca (bukan diketik), dan Done merangkum PVE, node online, bridge dan pool. Tabel host menampilkan kapasitas dan jumlah yang sudah terjual. Host di sini milik platform dan dipakai bersama pelanggan paket — Proxmox milik pelanggan sendiri ada di Dedicated-Hosts. |
| 1a. Host cluster | Untuk cluster, isi API URL dengan salah satu node dan tambahkan node lain di Other cluster nodes (satu URL per baris). Test memakai endpoint pertama yang bisa dijangkau, membaca semua node, dan menampilkan endpoint yang tidak terjangkau. Setiap customer mendapat koneksi ke semua endpoint sehingga tetap jalan bila satu node mati, tetapi tetap hanya melihat satu node dedicated. Saat assign paket, Nodes for this customer (opsional) membatasi customer ke node tertentu; bila kosong, platform memilih node yang punya storage paket lalu memory kosong terbanyak. Storage lokal (misalnya LVM-thin per node) hanya bisa dipakai di node tempat storage itu dibuat; untuk clone template lintas node gunakan storage shared. |
| Overview | Tab pertama: jumlah customer, vCPU/memory/disk yang terjual (termasuk add-on) dibanding kapasitas host dan yang dialokasikan ke VM, kapasitas per host, serta daftar semua customer (tenant) dengan paket, add-on, batas, pemakaian, dan status. Tersedia filter host/status dan Export CSV. |
| 1b. Storage host | Di tab Hosts, tombol Storage… membuka wizard: pilih node dan disk kosong (disk sistem tidak bisa dipilih), pilih LVM-thin (disarankan untuk satu disk, mendukung snapshot), ZFS (satu atau beberapa disk: mirror/RAIDZ), atau Directory (ext4/XFS). Setelah Review, ketik path disk (misalnya /dev/sdb) untuk menghapus isi disk dan membuat storage. Storage baru langsung bisa dipilih saat assign paket. |
| Platform overview | Halaman depan Platform: enam angka gabungan (tenant, user, koneksi Proxmox, node, guest, aksi 30 hari), lalu dua kartu produk berdampingan — Proxmox Dedicated (customer, host, vRouter, backup server) dan paket qDC (customer, host & node, vRouter, vCPU/RAM terjual dari kapasitas) — masing-masing dengan tombol Open ke overview produknya. Di bawahnya tab Charts, Tenant health, dan Failures seperti biasa. |
| Menu platform | Di atas sidebar ada dua tombol area: Organization (menu customer — Overview, Package, Operations, Reports, vRouter, Backups, Audit log, dan Tenant admin) dan Platform (Platform, Proxmox Dedicated, qDC, Settings & security). Hanya satu area yang tampil sekali waktu, jadi menunya pendek; area ikut berpindah sendiri saat membuka halaman platform. Pemilih organisasi muncul di area Organization, dan My account ada di kedua area. Di dalam satu area, tiap grup masih bisa dilipat dengan mengklik judulnya; pilihan lipatan diingat browser, dan grup berisi halaman yang sedang dibuka selalu terbuka. Saat sidebar diciutkan jadi ikon, tombol area menjadi dua ikon bertumpuk dan tiap grup ditandai singkatan (PLA, PRO, QDC, SET) beserta jumlah entri yang disembunyikan. Semua halaman sudah diuji rapi di layar lebar, laptop, maupun ponsel. |
| Dedicated-Overview | Halaman pertama menu Proxmox Dedicated: seluruh produk dalam satu layar — jumlah customer (aktif/suspended), host milik customer (aktif/total, jumlah cluster, yang gagal tes), vRouter (online/total), node dan guest yang sedang hidup, serta jumlah backup server. Kotak Needs attention menampilkan koneksi yang gagal tes terakhir dan customer yang belum menghubungkan Proxmox apa pun, lalu ada tabel semua customer (host, vRouter, backup, node, guest, CPU, RAM, aktivitas terakhir) dan daftar aksi gagal 7 hari terakhir. Data live-nya diperbarui tiap 30 detik. |
| Dedicated-Hosts | Daftar Proxmox milik semua organisasi Proxmox Dedicated dalam satu halaman: organisasi, alamat, token ID, cluster, status dan hasil tes terakhir, dengan pencarian (termasuk nama organisasi), filter, dan + Add host yang juga berupa wizard (Prepare → Connect → Done). Node-nya milik pelanggan: Remove hanya menghapus koneksi di Proxmox Apps, Proxmox VE pelanggan tidak disentuh. Hanya platform yang menambah, mengubah, dan menghapus koneksi; organisasinya melihat host yang sama di menu Proxmox connections (baca-saja, bisa Test). Langkah Prepare memuat perintah token lengkap (read-only, role Operator, storage admin, jaringan). Pelanggan paket (qDC) tidak muncul di sini karena host-nya milik platform dan diatur di qDC-Host. |
| Dedicated-Routers | Daftar vRouter milik semua organisasi Proxmox Dedicated dalam satu halaman: organisasi, alamat, status, dan hasil tes terakhir, dengan pencarian, filter, + Add vRouter, Edit…, Test, dan Remove. Form + Add vRouter memuat perintah persiapan yang tinggal disalin (alamat Proxmox Apps sudah terisi, interface WAN bisa diubah). Hanya platform yang mengubah koneksi; organisasinya melihatnya di vRouter → Connections (baca-saja, bisa Test). vRouter customer qDC tidak muncul di sini — itu ada di qDC-Routers. |
| Dedicated-Backups | Daftar Proxmox Backup Server milik customer Proxmox Dedicated dari semua organisasi: organisasi, alamat, status, jumlah datastore, dan hasil tes terakhir, dengan pencarian. Pilih organisasi (atau Manage… di barisnya) untuk membuka tab Connections, Setup wizard (Backup server → Access token → Proxmox VE access → Done), Proxmox VE access, dan Prepare the server untuk organisasi itu. Perubahan tercatat di audit log organisasi tersebut. Datastore, jadwal, dan restore tetap dikerjakan organisasi di menu Backups. Customer paket memakai qDC-Backup. |
| qDC-Backup | Daftar Proxmox Backup Server milik platform. + Add backup server membuka wizard: langkah Prepare memberi perintah proxmox-backup-manager untuk membuat token dengan role Admin — dua baris ACL, satu untuk user dan satu untuk token, karena PBS memberi token hanya irisan hak user dan token, langkah Connect meminta alamat, token, Datastore root (tempat datastore tiap customer dibuat), alamat khusus untuk host qDC bila berbeda, dan tombol Read certificate untuk mengambil fingerprint; Save and test memastikan tokennya boleh membuat datastore lalu membaca semua datastore beserta sisa ruangnya. |
| Backup per customer | Di Customers, tombol Backup…: pilih backup server dan ukuran (GB) yang dijual, klik Review untuk melihat langkahnya, lalu Create datastore. Sekali klik, Proxmox Apps membuat datastore qdc-<pool> khusus customer itu, prune job retensi, user dan token yang hanya bisa menyentuh datastore tersebut, storage bkp-<pool> di host qDC yang izinnya hanya untuk customer itu, dan koneksi backup managed di konsol customer. Bila ada langkah yang gagal, semua yang sudah dibuat dibatalkan lagi. Ukuran bisa diubah lewat Save size; Remove access mencabut akses tetapi backup tetap tersimpan di server; menghapus datastore beserta isinya harus mengetik nama datastore. Pemakaian dibaca langsung dari backup server. |
| qDC-Routers | Selain koneksi, di sini juga ditentukan jaringan milik customer: Customer network (mis. 10.20.30.0/24), Gateway, DHCP pool from/to, dan Bridge. Nilainya dicek (gateway dan pool harus berada di dalam range) lalu ditampilkan di konsol customer, dan permintaan alamat di luar range ditolak. + Add vRouter membuka wizard 4 langkah: Prepare menjelaskan yang perlu disiapkan (satu VM vRouter untuk satu customer) lengkap dengan perintah yang tinggal disalin untuk dijalankan di shell vRouter — menyalakan API, membuat key, dan membuka port API hanya untuk alamat server Proxmox Apps (alamatnya sudah terisi otomatis), ditutup commit dan save (perintahnya ditempel sekali jalan; commit-confirm sengaja tidak dipakai karena butuh ketikan confirm manual dan akan membatalkan seluruh perubahan bila terlewat), Connect mengisi nama, API URL dan API key dengan tombol Test connection sebelum disimpan, Customer memilih pelanggan yang belum punya vRouter (atau dibiarkan bebas), dan Done memberi tahu hasilnya. Alternatifnya, pilih vRouter yang masih bebas saat assign paket (dropdown vRouter for this customer). Di tabel tersedia filter All / Assigned / Free, tombol Assign…, Test, Unassign (customer kehilangan menu vRouter, VM tetap) dan Delete — Delete baru bisa setelah vRouter tidak dipakai customer, dan VM-nya tidak pernah disentuh. Di atas tabel ada peringatan berisi customer yang belum punya vRouter. Host Proxmox-nya dipakai bersama, vRouter-nya tidak: itulah yang memisahkan jaringan tiap customer. |
| Custom packages | Tab ketiga di qDC-Package untuk membuat paket khusus: isinya sama seperti paket biasa (nama, kode, vCPU, memory, disk, guest, snapshot), bedanya paket ini tidak muncul di katalog umum. Lewat pilihan For one customer, paket bisa dikunci untuk satu organisasi — hanya organisasi itu yang bisa diberi paket tersebut, dan percobaan memberikannya ke organisasi lain ditolak. Saat assign, dropdown paket terbagi dua grup: Catalog dan Custom packages. Cocok untuk kesepakatan khusus yang tetap ingin dikelola seperti paket (bisa diubah, dinonaktifkan, dipakai ulang), berbeda dari Custom limits yang hanya diketik untuk satu subscription. |
| 2. Packages | Buat paket, misalnya Paket A: vCPU, Memory (GB), Disk (GB), Maximum guests (kosong = tanpa batas), dan Snapshots per guest (kosong = tanpa batas, 0 = tidak termasuk). Paket nonaktif tidak bisa di-assign. Saat mengubah batas, centang Apply the new limits agar subscription paket itu ikut berubah. |
| 3. Add-ons | Buat add-on tambahan, misalnya +100 GB disk, +2 vCPU, +4 GB memory, atau +1 guest. Add-on dipasang per subscription (per pool customer) lewat Subscriptions → Add-ons…, dengan jumlah (quantity). Bisa juga add-on custom khusus satu customer. Batas yang berlaku = paket + semua add-on. |
| 4. Subscriptions | + Assign package: pilih organisasi, host, nama pool (opsional, misalnya qDC_customerA; bila kosong dibuat otomatis), paket atau Custom limits (batas khusus untuk satu organisasi), storage, dan bridge. Review menampilkan pool, user, dan izin yang akan dibuat beserta peringatan oversubscription (belum ada perubahan di host). Provision now menjalankannya; bila gagal di tengah jalan, semua yang sudah dibuat dihapus lagi. |
| Kelola (siklus hidup) | Tombol mengikuti status paket. Active: Usage (pemakaian dan daftar guest), Add-ons…, Change (ganti paket, batas, storage, bridge), Sync (terapkan ulang izin), dan Suspend… — token Proxmox dan vRouter berhenti bekerja, VM tetap jalan, tidak ada yang dihapus. Suspended: Resume atau Terminate… (ketik nama pool; guest yang masih ada hanya dihapus bila dicentang; vRouter-nya kembali ke daftar qDC-Routers sebagai bebas). Terminate hanya bisa setelah Suspend, supaya customer berhenti memakai dulu sebelum ada yang dihapus. Kolom Status menjelaskan tiap tahap. |
- Token organisasi hanya mendapat
PVEVMAdmindi pool-nya sendiri,PVEDatastoreUserdi storage paket,PVESDNUserdi bridge paket, danPVETemplateUserdi template pool — tidak pernah di/atau/nodes. Subscription lama dirapikan dengan tombol Sync, yang juga menghapus izin yang tidak lagi termasuk paket. - Isolasi antar customer: setiap customer punya pool sendiri (misalnya
qDC_customerAdanqDC_customerB) walaupun berada di node yang sama. Customer tidak melihat node provider sama sekali: di Overview, Operations, API, dan asisten AI, pool-nya tampil sebagai satu node dedicated (misalnyaqDC_customerA) dengan kapasitas vCPU, memory, dan disk sesuai paket + add-on. CPU/RAM menunjukkan pemakaian VM customer yang berjalan, disk menunjukkan yang teralokasi. Customer bebas membuat VM sebanyak apa pun selama resource-nya masih tersedia; node asli dipilih otomatis oleh platform (node dengan memory kosong terbanyak). Customer tidak bisa melihat, mengubah, atau membaca snapshot VM milik pool lain, dan task/event hanya milik customer itu sendiri. Nama node, nama host, dan alamat host provider juga disamarkan dari semua respons (ringkasan proposal, error, audit log, chat). - vRouter per customer: setiap customer qDC memakai VM vRouter miliknya sendiri (dikelola di qDC-Routers), jadi paket qDC sudah termasuk vRouter. Di aplikasi, customer mendapat semua fitur vRouter — Overview, utilization dan resource vRouter, interfaces, firewall, port forwards, IP addresses, dan VPN — persis seperti organisasi Proxmox Dedicated. Yang tetap milik platform hanya koneksinya: customer tidak bisa mengubah alamat/API key atau menghapus koneksi itu, dan tidak pernah melihat vRouter customer lain. Platform mengelola semuanya di qDC → vRouters.
- Snapshot termasuk dalam paket dan gratis: tidak dihitung ke batas disk. Jumlah per VM mengikuti Snapshots per guest di paket.
- Batas dihitung dari semua VM di pool, baik yang berjalan maupun tidak (template dihitung untuk disk). Create VM, Resize disk, dan Restore ditolak bila melebihi paket, dan dicek ulang tepat sebelum dijalankan.
- Pada koneksi qDC, reboot node, create storage, download image, build template, dan perubahan storage backup tidak tersedia karena host dikelola provider.
- Backup: bila provider sudah memberi ruang backup, di menu Package muncul bagian Backups — ruang terpakai dibanding kuota, jumlah backup, dan jadwal yang ditentukan sendiri oleh customer: setiap guest di paket atau hanya yang dipilih, waktunya (
02:30,sat 03:00, atau02:30,14:30), mode snapshot/suspend/stop, email bila gagal, dan tombol untuk membackup satu guest sekarang. Jadwalnya dijalankan provider dengan batasan pool dan storage customer itu, jadi guest milik organisasi lain tidak bisa ikut dibackup. - Organisasi melihat kartu paket di Overview dan menu Package (rincian paket, add-on, total, terpakai, sisa, snapshot, dan daftar VM). Laporan Package ada di Reports, dan perintah
/packagedi asisten menampilkan ringkasan tanpa perlu AI. Koneksinya di Proxmox connections ditandai managed (tidak bisa diedit atau dihapus). - AI assistant customer tetap memakai provider AI milik customer (AI settings), dan memahami paket dedicated: sisa resource, add-on, snapshot, dan bahwa node provider tidak bisa diakses.
API publik
Semua fitur di atas, plus data fleet, aksi (propose → confirm), backup, vRouter, laporan, asisten AI, dan pengaturan platform, tersedia lewat REST API di /api/v1 — 167 operasi pada 124 path. Singkatnya: apa pun yang bisa dilakukan lewat konsol, bisa dilakukan lewat API, kecuali empat hal yang sengaja ditutup: 2FA dan sesi milik orang (/account/…), membuat atau mencabut API key (key tidak boleh membuat key), tiket konsol guest, dan stream dashboard.
Cara membuka referensi API (Swagger): dari perangkat yang tersambung VPN provider, buka https://proxmox.ai.id/api/v1/docs — atau dari Platform Admin, menu API & branding → Documentation → Open API reference. Tersedia juga per produk: /api/v1/qdc/docs dan /api/v1/dedicated/docs, masing-masing dengan dokumen OpenAPI 3.1 di /api/v1/openapi.json, /api/v1/qdc/openapi.json, dan /api/v1/dedicated/openapi.json (untuk Postman, Insomnia, atau generator klien).
Dokumentasinya VPN-only. Di luar jaringan provider, /api/v1/docs dan openapi.json dijawab 403 — dijaga dua lapis, di nginx dan di aplikasi. Yang dibatasi hanya dokumentasinya; API-nya sendiri tetap bisa dipanggil dari mana saja selama alamat itu terdaftar pada whitelist key. Jadi customer tetap bisa memakai API dari server mereka, sedangkan daftar lengkap endpoint platform hanya terbaca dari VPN.
| Jenis key | Dibuat di | Akses |
|---|---|---|
| Organization key | Tenant admin → API keys (Superadmin) | Satu organisasi dengan role key: Readonly, Operator, atau Superadmin. |
| Platform key | Platform → API & branding | Organisasi, host, paket, add-on, dan subscription qDC. Pilih akses Whitelisted IP addresses atau Platform VPN only (sama dengan aturan login Platform Admin). |
- Kirim header
Authorization: Bearer <API key>. Key hanya ditampilkan sekali; simpan di secret manager. - Whitelist IP wajib: setiap key hanya bisa dipakai dari alamat IP yang didaftarkan (alamat tunggal, atau rentang maksimal IPv4 /24 dan IPv6 /48). Dari alamat lain, request ditolak dengan 403 walaupun key-nya benar.
- Setiap key punya masa berlaku, batas request per menit (header
X-RateLimit-*, 429 bila terlampaui), dan bisa di-Revoke kapan saja. Key tidak bisa membuat key lain atau mengubah branding. - Setiap perubahan lewat API tercatat di Audit log dengan actor type
api, nama key, alamat klien, dan request id. - White-label: di Platform → API & branding → Branding, atur nama produk (misalnya ganti “qDC”), judul API, nama perusahaan, email support, website, warna, logo, base URL API, dan pengantar dokumentasi.
14Pemecahan masalah
| Gejala | Penyebab umum | Solusi |
|---|---|---|
ECONNREFUSED / timeout / EHOSTUNREACH | Port 8006 tidak terjangkau dari Proxmox Apps. | Cek firewall dan routing Proxmox (bagian 5). |
HTTP 401 authentication failure | Token ID atau secret salah, atau token sudah dihapus. | Cek format token ID; buat ulang token jika ragu (bagian 15). |
| “no nodes are visible” | Token tidak punya hak baca di /. | Jalankan ulang perintah ACL PVEAuditor dan cek izin token. |
Operations menyatakan token tidak bisa bertindak, atau HTTP 403 saat dijalankan | Role operator belum ada, atau hanya diberikan ke user padahal token memakai privilege separation. | Ikuti bagian 4 termasuk --tokens, lalu muat ulang Operations. |
| “This needs the Operator role…” | Role Anda di tenant ini Readonly. | Minta Superadmin tenant mengubah role Anda di Team & roles. |
| “Four-eyes rule…” | Anda pembuat proposal berisiko tinggi dan four-eyes aktif. | Minta Operator atau Superadmin lain untuk mengonfirmasi. |
| Template: tidak ada storage yang menerima “import” | Content import belum diaktifkan. | Datacenter → Storage → local → Edit → Content → Import. |
| Unduhan template gagal | Node tidak punya akses HTTPS / DNS keluar. | Izinkan node menjangkau cloud-images.ubuntu.com port 443. |
| VM tidak menampilkan IP | qemu-guest-agent belum terpasang atau tidak berjalan. | Pasang dan aktifkan di VM, atau atur IP lewat cloud-init. |
| Tes AI: “API key rejected” / HTTP 401 | Key salah atau dicabut, key untuk penyedia lain, atau masalah di sisi gateway (misalnya SumoPod ke Anthropic). | Buat key baru dan simpan ulang di AI settings; jika masih gagal, hubungi penyedia. |
| Tes AI: HTTP 404 | Base URL atau nama model tidak cocok dengan penyedia. | Pilih ulang penyedia dan gunakan Load the model list. |
| Email undangan / reset tidak sampai | SMTP belum diatur, salah konfigurasi, atau domain pengirim belum diizinkan. | Platform Admin: lihat status di Users (email failed menampilkan alasannya), buka SMTP dan kirim email uji; cek log di server email. |
| Status accepted by mail server tetapi email tidak ada di inbox | Email diterima server tetapi difilter penyedia penerima (misalnya Google Workspace) ke Spam. | Cek folder Spam dan tandai Not spam; periksa SPF/DKIM/DMARC domain pengirim. |
| “This invitation link is invalid, already used, or expired” | Undangan sudah dikirim ulang (link lama batal), sudah dipakai, atau lewat 72 jam. | Pakai email undangan terbaru atau minta dikirim ulang. |
| Kode 2FA ditolak (“That code is not valid”) | Jam HP tidak sinkron, kode sudah dipakai, atau salah akun di aplikasi authenticator. | Aktifkan waktu otomatis di HP, tunggu kode berikutnya, dan pastikan memilih entri Proxmox Apps dengan email yang benar. |
| HP hilang / aplikasi authenticator terhapus | Kode 2FA tidak tersedia. | Pakai recovery code. Jika tidak ada, minta Superadmin tenant atau Platform Admin klik Reset 2FA, lalu daftar ulang saat login. |
| “This Google account is not a member …” / “A different Google account is linked …” | Email Google berbeda dengan email akun, atau akun Google lain sudah terhubung ke anggota ini. | Login dengan akun Google yang emailnya sama dengan undangan (dan yang pertama kali dipakai), atau login dengan email dan password. |
| Tombol Sign in with Google tidak muncul | Google belum dihubungkan di Platform, dimatikan oleh tenant, atau tenant disuspend. | Platform Admin: cek Platform → Google sign-in; Superadmin: cek Tenant settings → Sign-in security. |
| “This account is not a member of …” di halaman login organisasi | Akun terdaftar di tenant lain, atau login di halaman organisasi yang salah. | Gunakan link login dari undangan Anda sendiri. |
| Halaman atau link menampilkan “akses terbatas” | Halaman administrasi platform, link undangan Platform Admin, atau panduan ini dibuka dari luar VPN. | Sambungkan VPN lalu buka lagi. Anggota organisasi memakai link login organisasinya, yang tidak memerlukan VPN. |
15Rotasi & pencabutan token
# 1. Cabut token lama (akses langsung berhenti) pveum user token remove pmxapps@pve dashboard # 2. Buat token baru; secret baru hanya tampil sekali pveum user token add pmxapps@pve dashboard --privsep 0
- Provider membuka Platform → Dedicated-Hosts → Edit… pada host tersebut.
- Tempel Token secret yang baru; field lain bisa dibiarkan.
- Simpan; host aktif kembali setelah tes berhasil. Organisasi bisa memastikannya dengan Test connection di Proxmox connections.
Untuk mencabut akses Proxmox Apps sepenuhnya, provider menghapus host di Dedicated-Hosts, lalu jalankan jalankan pveum user delete pmxapps@pve di node.
16Daftar fitur yang tersedia saat ini
Ringkasan semua menu dan fitur Proxmox Apps yang sudah terpasang, beserta status pengujiannya. Bagian ini ditulis dalam Bahasa Indonesia; nama menu dan tombol di aplikasi tetap dalam bahasa Inggris.
Menu aplikasi
| Menu | Fungsi |
|---|---|
| Overview | Kondisi node, utilisasi, dan VM secara real-time. |
| Operations | Membuat VM dan template cloud-init (qemu-guest-agent sudah terpasang), download, start/stop guest, dan reboot node — semuanya lewat usulan dan konfirmasi. Tab Manage VMs adalah tempat mengelola semua VM dan template: centang untuk aksi massal (start, shutdown, reboot, stop, delete), klik nama untuk utilisasi (CPU, RAM, network, disk IO), IP, konfigurasi, disk dan snapshot, serta tombol Console (terminal/layar di browser: blok teks untuk copy, Ctrl+V atau tombol Paste untuk paste, ukuran huruf, fullscreen). Tabel menampilkan IP address, disk, CPU, RAM, serta OS, default user, dan cara login (password dan/atau SSH key) di bawah nama guest; aksi lain ada di menu ⋯. Set login (VM cloud-init) mengganti default user, password, dan daftar SSH key, lalu me-regenerate drive cloud-init dan reboot (atau diterapkan saat reboot berikutnya); untuk template berlaku bagi clone baru. Login di console butuh password; SSH host key ikut dibuat ulang sehingga klien SSH akan memberi peringatan host key berubah. Delete menghentikan guest yang masih jalan terlebih dulu dan wajib mengetik VMID (atau delete N untuk banyak guest); template yang masih punya linked clone ditolak. Overview hanya untuk melihat. |
| Reports | Laporan health, capacity, backup, activity, dan inventory dengan grafik, header perusahaan, jadwal harian, dan ringkasan AI. |
| vRouter | Gateway jaringan: interface, port forward, firewall, daftar IP address (DHCP, reservasi, IP statis); perubahan lewat usulan + commit-confirm dengan rollback otomatis. |
| Backups (PBS) | Koneksi PBS per organisasi (Tenant admin → Backup connections); kondisi 1: datastore dibuat dari Proxmox Apps dengan token khusus, kondisi 2: tambah datastore yang sudah ada; hubungkan ke Proxmox VE standalone/cluster (pilih node, tautkan storage yang ada); status backup per VM, backup now, restore ke VM baru, protect/hapus backup, retention/verify/GC, riwayat task; Coming soon selama belum ada koneksi. |
| Storage & disks | Inventaris disk dan storage, deteksi disk baru, pembuatan storage, dan resize disk VM. |
| AI assistant | Tanya jawab dengan bahasa sehari-hari memakai data live, termasuk meminta laporan dan mengusulkan aksi. |
| Audit log | Catatan setiap pertanyaan, pemanggilan tool, perubahan pengaturan, dan aksi. |
| Proxmox connections | Melihat dan menguji Proxmox yang dihubungkan provider. Menambah, mengubah, dan menghapus dilakukan provider di Platform → Dedicated-Hosts. |
| AI settings | Memilih penyedia AI, API key, dan model, lalu menguji koneksinya. |
| Company profile | Logo, nama, dan alamat perusahaan untuk header laporan (per tenant, Superadmin). |
Akses & keamanan
| Fitur | Keterangan | Status |
|---|---|---|
| Login multi-user | Banyak akun email/password, sesi cookie httpOnly + Secure + SameSite=Strict, pembatasan percobaan login. Sesi lama otomatis tidak berlaku setelah ganti/reset password atau akun dinonaktifkan. | Terverifikasi |
| Isolasi tenant | Setiap tenant hanya melihat koneksi, data, laporan, chat, dan audit miliknya — dijaga di aplikasi dan di database (PostgreSQL Row-Level Security). | Terverifikasi |
| Role & four-eyes | Readonly, Operator, Superadmin per tenant; Platform Admin global. Four-eyes opsional: reboot node dan create storage wajib dikonfirmasi orang lain. | Terverifikasi |
| Pembatasan jaringan | Dasbor, API, dan panduan ini hanya bisa dibuka dari jaringan yang diizinkan; landing page tetap publik. | Terverifikasi |
| Status live publik di landing | Hanya data ringkas: nama node, status, jumlah core, CPU %, RAM %, uptime, jumlah VM, versi Proxmox VE. Tanpa IP, nama VM, atau pesan error. | Terverifikasi |
| Penyimpanan rahasia | Token secret Proxmox dan API key AI dienkripsi AES-256-GCM dan tidak pernah ditampilkan ulang. | Terverifikasi |
| Token Proxmox terbatas | Memakai user pmxapps@pve dengan role khusus, bukan root@pam; izin token dicek otomatis dan kekurangannya ditampilkan. | Terverifikasi |
| Usulan → konfirmasi | Setiap aksi yang mengubah infrastruktur jadi proposal, kedaluwarsa setelah 15 menit, dan tidak bisa dikonfirmasi dua kali. | Terverifikasi |
| Konfirmasi dengan mengetik | Aksi destruktif (membuat storage dari disk) wajib mengetik path device sebelum tombol Confirm aktif. | Siap, belum diuji di Proxmox asli |
Overview (real-time)
| Fitur | Keterangan | Status |
|---|---|---|
| Data live tiap 5 detik | Node, VM, dan status cluster didorong otomatis ke browser; indikator Live di menu. Beban ke Proxmox tidak bertambah walau banyak yang membuka. | Terverifikasi |
| Tab Templates | Daftar template VM (distro terdeteksi, resource, cloud-init & user, guest agent, build image, tombol Create VM). | Terverifikasi |
| Kartu ringkasan | Node online, VM berjalan, CPU dan RAM seluruh node. | Terverifikasi |
| Daftar node & utilisasi | Tertutup secara default; dibuka per node untuk meter, grafik CPU, RAM, jaringan, dan IO wait (1 jam / 24 jam / 7 hari) serta daftar storage. Ada pencarian, filter status, dan “Collapse all”. | Terverifikasi |
| Daftar VM | Kolom node dan alamat IP; pencarian berdasarkan VMID, nama, atau IP. IP dari QEMU guest agent (cadangan: IP cloud-init). | Terverifikasi |
| Panel cluster | Quorum, jumlah node online, toleransi node mati, dan kebijakan HA untuk cluster. | Siap, belum diuji di Proxmox asli |
Operations
| Fitur | Keterangan | Status |
|---|---|---|
| Create template (Ubuntu 26.04/24.04/22.04, Debian 13/12) | Deteksi otomatis storage image, storage disk, bridge, VMID, dan tipe CPU; unduh image resmi dengan verifikasi SHA-256; buat VM dengan serial console, guest agent, drive cloud-init, DHCP; resize disk; jadikan template. | Terverifikasi |
| Deteksi lingkungan template | Membaca kondisi node sungguhan dan menampilkan hambatan (misalnya storage tanpa content “import”). | Terverifikasi |
| Create VM | Full clone dari template, atur vCPU, RAM, disk; cloud-init lengkap: user default dari template, password (hash SHA-512), beberapa SSH key, IP statis, DNS, search domain, upgrade paket saat boot pertama. Bisa merujuk template yang masih berupa proposal (template → VM dari satu chat). | Terverifikasi |
| Download ISO / cloud image / template LXC | Unduh ke storage node dengan verifikasi checksum; katalog ISO Ubuntu/Debian terbaru, katalog LXC Proxmox, atau URL HTTPS; lewat tab Download atau /download. | Terverifikasi template LXC Alpine diunduh lalu dihapus; ISO & URL diuji sampai proposal |
| Start / stop guest | Start, shutdown, reboot, atau stop VM dengan pengecekan status, lock, HA, dan RAM; lewat tab Operations atau asisten. | Siap, belum diuji di Proxmox asli penolakan untuk template sudah dicek; belum ada guest di node uji |
| Reboot node | Untuk cluster ditolak bila quorum akan hilang dan dampak HA dijelaskan; untuk node tunggal diberi peringatan semua guest ikut mati. | Terverifikasi node tunggal; cluster belum diuji |
| Banner izin token | Menampilkan privilege yang kurang untuk setiap tab sebelum aksi dijalankan. | Terverifikasi |
Reports
| Fitur | Keterangan | Status |
|---|---|---|
| Health report | Status node, CPU p95, RAM, root disk, IO wait, storage, temuan disk, task gagal, dan backup job yang belum ada. | Terverifikasi |
| Capacity, Backup, Activity, Inventory | Alokasi vCPU/RAM dan perkiraan storage penuh; backup terakhir per guest; riwayat aksi dan pemakaian AI; daftar semua VM beserta IP. | Terverifikasi |
| Rentang & riwayat | 24 jam, 7 hari, atau 30 hari; laporan tersimpan dan bisa dibuka ulang atau dihapus (disimpan 180 hari). | Terverifikasi |
| AI summary | Ringkasan eksekutif dan daftar tindakan berprioritas dari data laporan. | Siap, belum diuji di Proxmox asli |
| Jadwal harian | Membuat laporan pilihan setiap pagi (zona Asia/Jakarta), opsional dengan AI summary. | Siap, belum diuji di Proxmox asli |
| Ekspor | Markdown, CSV, dan Print / PDF. | Siap, belum diuji di Proxmox asli |
Storage & disks
| Fitur | Keterangan | Status |
|---|---|---|
| Inventaris | Disk fisik, volume group LVM, thin pool (data dan metadata), ZFS pool, dan storage per node. | Terverifikasi |
| Deteksi otomatis | Disk baru yang belum dipakai, disk yang membesar tetapi belum bisa dipakai, ruang kosong di volume group, dan metadata thin pool ≥ 80%. | Terverifikasi |
| Perintah terpandu | Perintah shell siap salin untuk memperluas storage LVM-thin yang sudah ada — dijalankan admin di node karena API Proxmox tidak menyediakannya. | Terverifikasi |
| Create storage | Menjadikan disk kosong sebagai storage LVM-thin atau directory ext4 (menghapus isi disk). | Siap, belum diuji di Proxmox asli |
| Resize disk | Memperbesar disk VM (tidak bisa mengecil). | Terverifikasi |
AI assistant
| Fitur | Keterangan | Status |
|---|---|---|
| Tanya jawab data live | Menjawab dari data Proxmox saat itu, mengikuti bahasa pertanyaan, dan mencatat setiap pertanyaan di audit log. | Terverifikasi |
| Tool baca | list_nodes, get_resource_usage, get_usage_trend, list_vms, find_guest (VMID/nama/IP), get_cluster_status, list_recent_tasks, get_disk_inventory, get_provisioning_options, get_template_options. | Terverifikasilist_nodes dengan model asli; tool lain diuji di lingkungan uji |
| Menu Tools | Tombol Tools di chat: aksi per kategori dengan pencarian dan form terpandu (node/VM dari daftar live, pilihan laporan/distro/download) yang menyusun command otomatis; kartu aksi pada percakapan kosong. | Terverifikasi |
| Command chat | Ketik / untuk daftar command: instan (/status, /cari, /tasks), AI terarah (/check, /vm, /node, /storage, /update, /backup, /report, /template, /buatvm), dan proposal (/start, /shutdown, /restart, /stop); mode “command saja” per tenant. | Terverifikasi |
| Tool laporan | generate_report, list_reports, get_report — laporan yang dibuat asisten bisa dibuka di menu Reports. | Siap, belum diuji di Proxmox asli |
| Tool aksi (selalu proposal) | create_vm, create_ct, create_template, resize_disk, create_storage, reboot_node — muncul sebagai kartu Confirm/Cancel di bawah jawaban. Role Readonly tidak mendapat tool aksi. | Terverifikasi eksekusi diuji lewat Operations; create_storage belum |
Pengecekan bebas (proxmox_get) | Membaca endpoint API Proxmox mana pun (read-only) dan merangkai beberapa panggilan untuk menyelidiki; rahasia disamarkan; konsol, file, dan eksekusi perintah diblokir. | Terverifikasi apt update, config VM, backup job dengan model asli |
| Batasan | Tidak meminta atau menerima password, private key, maupun API key; tidak menjalankan perintah shell sendiri. | Terverifikasi |
Proxmox connections & AI settings
| Fitur | Keterangan | Status |
|---|---|---|
| Target node tunggal | Tambah, uji koneksi, ubah (termasuk rotasi secret), dan hapus target standalone — per tenant. | Terverifikasi |
| Target cluster | Nama cluster terdeteksi otomatis; beberapa node dengan nama cluster sama menjadi endpoint cadangan (failover). | Siap, belum diuji di Proxmox asli |
| Penyedia AI | Pilihan Anthropic, SumoPod, OpenAI, atau endpoint OpenAI-compatible lain; API key terenkripsi; tes koneksi sekaligus mengecek tool-calling. Setiap tenant memakai API key-nya sendiri. | Terverifikasi |
| Daftar model dari penyedia | Mengambil daftar model langsung dari API penyedia. | Siap, belum diuji di Proxmox asli |
Tampilan
| Fitur | Keterangan | Status |
|---|---|---|
| Halaman bertab | Tab di Overview (Nodes / VMs), Operations (termasuk Recent actions), Reports, Team & roles, dan Platform overview (Charts / Tenant health / Failures). Tab samping di Storage & disks (per node + Resize a disk), AI settings, Proxmox connections (panduan token), SMTP, dan My account. Form Create tenant dibuka lewat tombol. Tabel audit menggulir di dalam kartu dengan header tetap terlihat. Tab yang dibuka tersimpan di URL sehingga tetap sama setelah refresh. | Terverifikasi |
| Refresh halus | Kerangka tampilan muncul seketika saat halaman dibuka, sesi terakhir dipakai sambil memverifikasi ke server, dan daftar memakai placeholder bergerak (skeleton) alih-alih tulisan “Loading…”. | Terverifikasi |
| Menu samping tetap | Tidak ikut ter-scroll; bisa di-collapse menjadi ikon saja dan pilihan diingat browser. | Terverifikasi |
| Header halaman sticky | Judul dan tombol utama tetap terlihat saat scroll (desktop). | Terverifikasi |
| Mobile | Bar atas tetap dengan tombol menu dan laci navigasi. | Terverifikasi |
Tenant, akun & audit
| Fitur | Keterangan | Status |
|---|---|---|
| Platform overview (Platform Admin) | Total tenant, user, target, node, guest, aksi; grafik donut, aktivitas harian per tenant, tabel kesehatan tenant, dan kegagalan 7 hari. | Terverifikasi |
| Tenants (Platform Admin) | Buat, ganti nama, suspend/aktifkan tenant; pilih tenant yang tampil di status live landing page; buka tenant lain untuk troubleshooting (tercatat di audit tenant itu). | Terverifikasi |
| Team & roles (Superadmin) | Undang anggota, ubah role, hapus anggota, kirim ulang undangan, atur four-eyes. | Terverifikasi |
| Undangan & reset password | Link sekali pakai (undangan 72 jam, reset 1 jam). Tanpa SMTP, link undangan ditampilkan sekali ke pengundang. Link hanya bisa dibuka dari jaringan yang diizinkan. | Terverifikasi pengiriman email belum diuji |
| SMTP (Platform Admin) | Host, port, STARTTLS/TLS, username, password terenkripsi, alamat pengirim, tes kirim; cocok untuk Postal. | Siap, belum ada server SMTP |
| Users (Platform Admin) | Semua akun; tambah user ke tenant mana pun atau sebagai Platform Admin; kirim ulang undangan; beri/cabut Platform Admin; nonaktifkan akun. | Terverifikasi |
| Audit log | Filter email aktor, tipe aktor, status, action, dan tanggal; export CSV. Platform audit menampilkan semua tenant dan event platform (login, reset password, perubahan tenant/user/SMTP). | Terverifikasi |
| My account | Profil, daftar tenant dan role, pindah tenant, ganti password. | Terverifikasi |
Yang direncanakan
| Fitur | Keterangan | Status |
|---|---|---|
| Notifikasi | Peringatan otomatis (misalnya Telegram) untuk temuan kritis. | Direncanakan |
| Aksi tambahan | Migrasi VM, snapshot, dan aksi lain dengan pola usulan → konfirmasi yang sama. | Direncanakan |
Batasan yang perlu diketahui
- Memperluas volume group atau thin pool yang sudah ada tidak tersedia di API Proxmox — gunakan perintah terpandu di Storage & disks.
- Image resmi Ubuntu tidak berisi
qemu-guest-agent; IP VM hasil clone baru terbaca setelah agent dipasang atau bila IP diatur lewat cloud-init. - Perhitungan quorum menganggap satu node satu vote (QDevice belum dihitung).
- Grafik riwayat mengikuti resolusi data RRD Proxmox (per menit), sedangkan status terkini diperbarui tiap 5 detik.