Hardware

Membangun Homelab dengan Proxmox VE: Virtualisasi Server Pribadi untuk Developer

Pernah nggak sih kamu punya keinginan buat "main server" sendiri di rumah? Maksudnya, punya mesin yang bisa jadi web server, running Docker container, bahkan jadi media server buat streaming film? Dulu, saya harus beli VPS bulanan atau pakai komputer lama yang sering crash. Sampai akhirnya saya kenal Proxmox VE dan semuanya berubah.

Proxmox Virtual Environment adalah platform virtualisasi berbasis Debian Linux yang open-source dan bisa di-install gratis. Beda sama VMware ESXi atau Hyper-V yang berbayar, Proxmox nggak ada biaya lisensi. Tapi fiturnya? Jangan ditanya bisa virtual machine (KVM), bisa container (LXC), ada web UI lengkap, clustering, backup, dan masih banyak lagi.

Di artikel ini, saya bakal share pengalaman setup homelab dari nol pakai Proxmox. Mulai dari hardware yang dibutuhkan, installasi, sampai konfigurasi beberapa VM untuk kebutuhan developer. Let's go.

Kenapa Proxmox VE untuk Homelab?

Sebelum masuk ke teknis, coba pahami dulu kenapa Proxmox jadi pilihan favorit buat homelab:

  • Gratis dan open-source Tidak perlu bayar lisensi. Pakai langsung, tanpa trial period atau batasan fitur.
  • Web UI yang powerful Semua bisa dikelola lewat browser. Install OS, manage VM, backup, restore, sampai akses console semua dari web.
  • KVM + LXC Mendukung full virtualization (KVM) untuk menjalankan Windows, Linux, atau OS lainnya, PLUS container lightweight (LXC) untuk workload yang butuh performa tinggi.
  • Built-in clustering Kalau nanti punya lebih dari 1 server, bisa di-cluster dan di-manage bareng lewat satu UI.
  • ZFS support Filesystem enterprise-grade yang bisa langsung dipakai untuk storage pool. Snapshots, deduplication, compression semua built-in.
  • API lengkap Proxmox punya REST API yang bisa dipakai untuk automasi. Cocok banget buat developer yang suka scripting.

Singkatnya: kalau kamu mau belajar infrastruktur, DevOps, atau sekadar punya playground pribadi, Proxmox VE adalah starting point yang solid.

Hardware yang Dibutuhkan

Nggak perlu server rack mahal buat mulai homelab. Berikut rekomendasi minimal berdasarkan pengalaman saya:

Setup Minimum (Budget)

  • CPU: Intel Core i5 atau AMD Ryzen 5 (generasi ke-8 ke atas) sudah support VT-x/VT-d untuk virtualisasi
  • RAM: 16GB DDR4 (minimum. Lebih bagus 32GB kalau mau jalan banyak VM)
  • Storage: SSD 256GB untuk Proxmox OS + HDD 1TB untuk data/VM disk
  • Network: Ethernet 1Gbps (built-in di motherboard sudah cukup)

Setup Recommended

  • CPU: Intel Core i7/i9 atau AMD Ryzen 7/9 dengan minimal 8 core / 16 threads
  • RAM: 64GB DDR4/ECC
  • Storage: NVMe SSD 512GB untuk OS + 2x HDD 4TB (RAID 1 untuk data)
  • Network: 2.5Gbps atau dual NIC untuk dedicated management + VM traffic

Tip penting: Cek apakah motherboard kamu mendukung VT-x (Intel) atau AMD-V (AMD) di BIOS. Tanpa hardware virtualization, Proxmox tidak bisa menjalankan KVM dan itu artinya kamu cuma bisa pakai LXC container, bukan full VM. Pastikan juga VT-d / IOMMU aktif kalau mau pakai GPU passthrough nanti.

Installasi Proxmox VE

Step 1: Download ISO

Download Proxmox VE ISO Installer dari situs resmi: https://www.proxmox.com/en/downloads. Pilih versi terbaru (saat artikel ini ditulis, versi terbaru adalah 8.2). File ISO-nya sekitar 1.2GB.

Step 2: Buat Bootable USB

Pakai Rufus (Windows) atau dd (Linux/Mac) untuk flash ISO ke USB drive minimal 2GB:


# Linux/Mac - hati-hati pilih device yang benar!
sudo dd if=proxmox-ve_8.2-1.iso of=/dev/sd bs=4M status=progress conv=fsync

Warning: /dev/sd di atas perlu diganti dengan device USB kamu (misal /dev/sdb). Cek dengan lsblk sebelum menjalankan perintah ini. Salah pilih device = data hilang.

Step 3: Boot dan Install

Boot dari USB di mesin target. Proxmox installer akan langsung muncul. Langkah-langkahnya:

  1. Accept License Agreement scroll ke bawah, klik Accept
  2. Select Target Disk pilih HDD/SSD untuk install Proxmox. Kalau mau ZFS, pilih "ZFS (RAID1)" kalau ada 2 disk
  3. Country, Time Zone, Keyboard set ke Indonesia, WIB (Asia/Jakarta)
  4. Admin Password + Email ini password root untuk Proxmox. Gunakan yang kuat! Email untuk notifikasi
  5. Management Interface pilih ethernet port yang akan dipakai untuk akses web UI
  6. Hostname misal proxmox.homelab.local atau IP statis yang bisa diakses
  7. IP, Netmask, Gateway, DNS set IP statis. Contoh: IP 192.168.1.100, Netmask 255.255.255.0, Gateway 192.168.1.1

Proses install cuma butuh 5-10 menit. Setelah selesai, reboot dan akses Proxmox UI di: https://192.168.1.100:8006

Step 4: Login ke Web UI

Buka browser, akses https://[IP-PROXMOX]:8006. Login dengan:

  • User: root
  • Password: password yang di-set saat install

Proxmox akan menampilkan dashboard dengan info server CPU usage, RAM, storage, dan daftar VM/container yang sudah dibuat.

Membuat Virtual Machine Pertama

Mari buat VM pertama Ubuntu Server 24.04 LTS yang bisa dipakai buat ngoding, running Docker, atau jadi web server.

Upload ISO Image

Di sidebar kiri, klik Datacenter local (proxmox) ISO Images Upload. Upload file ISO Ubuntu Server yang sudah didownload.

Create VM

Klik tombol "Create VM" (kanan atas). Isi form berikut:

  • General: Name = ubuntu-dev, OS = pilih ISO yang sudah di-upload
  • System: BIOS = Default, SCSI Controller = VirtIO SCSI (recommended)
  • Disks: Size = 50GB, Storage = local-lvm, Cache = Write Back
  • CPU: Cores = 4, Type = host (untuk best performance)
  • Memory: 4096 MB (4GB)
  • Network: Bridge = vmbr0, Model = VirtIO (paravirtualized, fastest)
  • Confirm: Klik Finish, centang "Start after created"

VM akan langsung boot dan menampilkan installer Ubuntu. Ikuti proses installasi Ubuntu seperti biasa. Setelah selesai, kamu bisa akses VM tersebut dari Proxmox console (klik VM Console noVNC) atau langsung SSH ke IP VM.

Konfigurasi Networking di VM

Setelah install Ubuntu, pastikan IP statis dikonfigurasi agar bisa diakses konsisten:


# Edit netplan config
sudo nano /etc/netplan/00-installer-config.yaml

# Contoh konfigurasi static IP:
network:
 version: 2
 ethernets:
 ens18:
 dhcp4: false
 addresses:
 - 192.168.1.201/24
 routes:
 - to: default
 via: 192.168.1.1
 nameservers:
 addresses:
 - 8.8.8.8
 - 1.1.1.1

# Apply konfigurasi
sudo netplan apply

Memaksimalkan LXC Container

Salah satu keunggulan Proxmox yang jarang dimanfaatkan adalah LXC container. Berbeda dengan KVM yang virtualize seluruh hardware, LXC berjalan di kernel yang sama dengan host. Artinya: lebih ringan, lebih cepat, dan nggak boros RAM.

Contoh kasus: kamu mau running PostgreSQL database. Kalau pakai KVM, minimal butuh 2GB RAM dan beberapa menit boot time. Pakai LXC? Cukup 256MB RAM dan boot dalam hitungan detik.

Membuat LXC Container Ubuntu


# Di Proxmox host, download template
pveam update
pveam available | grep ubuntu-24.04

# Download template
pveam download local ubuntu-24.04-standard_24.04-1_amd64.tar.zst

# Create container via CLI (atau lewat UI)
pct create 200 /var/lib/vz/template/cache/ubuntu-24.04-standard_24.04-1_amd64.tar.zst \
 --hostname ubuntu-db \
 --memory 512 \
 --cores 2 \
 --rootfs local-lvm:8 \
 --net0 name=eth0,bridge=vmbr0,ip=192.168.1.210/24,gw=192.168.1.1 \
 --password PasswordKuat123

# Start container
pct start 200

# Enter container
pct enter 200

Di dalam container, kamu bisa install PostgreSQL atau service lainnya seperti biasa:


apt update && apt install -y postgresql postgresql-contrib
systemctl enable postgresql
systemctl start postgresql

Hasilnya: PostgreSQL berjalan di container dengan footprint minimal. Kamu bisa buat banyak container seperti ini satu untuk database, satu untuk Redis, satu untuk Nginx semua di satu server yang sama tanpa boros resources.

Backup dan Restore

Fitur backup di Proxmox termasuk yang paling saya suka. Bisa backup seluruh VM/container ke local storage, NFS, atau bahkan S3-compatible storage.

Backup Manual


# Backup VM ID 200 (lxc container)
vzdump 200 --storage local --compress zstd

# Backup VM ID 100 (KVM virtual machine) 
vzdump 100 --storage local --compress zstd

# Backup semua VM/container
vzdump --all --storage local --compress zstd

Scheduled Backup

Di Web UI: Datacenter Backup Add. Set jadwal harian/mingguan, pilih storage target, dan centang VM/container yang mau di-backup. Proxmox akan otomatis backup sesuai jadwal.

Restore dari Backup


# List semua backup
ls /var/lib/vz/dump/

# Restore LXC container
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-*.tar.zzt

# Restore ke VM baru (different ID)
pct restore 300 /var/lib/vz/dump/vzdump-lxc-200-*.tar.zzt

Scripting & Automasi dengan API

Proxmox punya REST API yang lengkap. Kalau kamu developer, ini gold mine untuk automasi:


# Dapatkan authentication ticket
curl -sk -d "username=root@pam&password=PasswordKuat123" \
 https://192.168.1.100:8006/api2/json/access/ticket

# List semua VM/container
curl -sk https://192.168.1.100:8006/api2/json/nodes/proxmox/lxc \
 -H "Authorization: PVEAPIToken=..."

Bisa juga pakai library Python seperti proxmoxer:


from proxmoxer import ProxmoxAPI

# Connect
prox = ProxmoxAPI('192.168.1.100', user='root@pam', password='PasswordKuat123', verify_ssl=False)

# List all containers
containers = prox.nodes('proxmox').lxc.get()
for ct in containers:
 print(f"ID: {ct['vmid']}, Name: {ct['name']}, Status: {ct['status']}")

# Start a container
prox.nodes('proxmox').lxc(200).status.start.post()

# Create snapshot
prox.nodes('proxmox').lxc(200).snapshot.post(
 snapname='before-update',
 description='Snapshot sebelum update'
)

Tips Optimasi untuk Homelab

Beberapa tips yang saya pelajari dari pengalaman setting homelab selama hampir 2 tahun:

  • Pakai VLAN Pisahkan management network dari VM traffic. Ini bikin lebih secure dan performa lebih konsisten. Router Mikrotik atau TP-Link managed switch sudah mendukung VLAN.
  • Monitor dengan Grafana + Prometheus Pasang agent node_exporter di Proxmox host dan VM, lalu visualisasi semua metrik di Grafana. Jadi tahu kapan harus upgrade RAM atau storage.
  • ZFS dengan RAID1 Kalau ada 2 disk, langsung pakai ZFS RAID1 (mirroring). Dapat redundancy + snapshots. Worth the disk space sacrifice.
  • Gunakan cloud-init Untuk VM yang sering di-deploy ulang (misal testing environment), pakai cloud-init template supaya bisa spin up dalam hitungan detik.
  • Jangan install GUI Proxmox host dan server VM sebaiknya headless (tanpa GUI). Hemat RAM dan lebih stabil. Akses semua lewat SSH dan web UI.

Homelab Scenario untuk Developer

Berikut setup homelab yang saya rekomendasikan untuk developer yang mau punya environment mirip production:

  • VM 1 Ubuntu Dev Server (KVM, 4 core, 4GB RAM): Running Docker, Jenkins/GitLab CI, dan development tools
  • LXC 1 PostgreSQL (256MB RAM): Database untuk project development
  • LXC 2 Redis (128MB RAM): Cache dan session storage
  • LXC 3 Nginx Proxy Manager (512MB RAM): Reverse proxy dengan automatic SSL
  • LXC 4 Portainer (256MB RAM): Docker container management UI
  • VM 2 Windows 10 (KVM, 4 core, 8GB RAM): Kalau butuh testing di Windows environment

Total resource usage: sekitar 8 core CPU dan 13GB RAM. Masih bisa jalan di mesin mid-range dengan 16GB RAM.

Kesimpulan

Homelab dengan Proxmox VE bukan cuma sekadar "main-main server di rumah". Ini adalah investasi belajar yang serius kamu akan memahami virtualisasi, networking, storage management, dan automation dari sisi praktikal, bukan cuma teori.

Yang paling penting: mulai dari yang kecil. Satu PC bekas atau mini PC seharga 2 jutaan sudah cukup buat mulai. Nanti kalau kebutuhan meningkat, tinggal tambah RAM atau disk. Proxmox sendiri nggak akan minta upgrade dia tetap ringan bahkan di hardware lama.

Pernah coba setup homelab sendiri? Atau masih ragu mulai dari mana? Tulis di kolom komentar saya bantu jawab pertanyaan kamu soal Proxmox atau homelab setup.


You may also like


0 Comments


Leave a Reply

Comments with links or spam keywords will be rejected.
Scroll to Top