proxmox docker homelab
Setup Homelab dengan Proxmox dan Docker
Panduan lengkap setup homelab menggunakan Proxmox VE untuk virtualization dan Docker untuk containerization.
Homelab adalah cara terbaik untuk belajar dan experiment dengan teknologi enterprise tanpa kos yang tinggi.
Kenapa Homelab?
Dengan homelab, kita boleh:
- Belajar virtualization — Proxmox, VMware, Hyper-V
- Test deployment — Sebelum deploy ke production
- Self-host services — Media server, NAS, web apps
- Improve skills — Hands-on experience dengan real hardware
Hardware Setup
Untuk homelab yang cost-effective:
| Component | Recommendation |
|---|---|
| CPU | Intel i5/i7 atau AMD Ryzen (min 4 cores) |
| RAM | 32GB recommended (boleh start 16GB) |
| Storage | SSD untuk OS, HDD untuk data |
| Network | Gigabit ethernet |
Tip: Mini PC lebih jimat elektrik berbanding tower server. Dell OptiPlex atau HP EliteDesk secondhand adalah pilihan bagus.
Proxmox VE Installation
Step 1: Download & Install
- Muat turun ISO dari proxmox.com
- Create bootable USB
- Boot dan install
Step 2: Post-Install Configuration
# Remove subscription nag
sed -i.bak "s/data.status !== 'Active'/false/g" \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
# Add no-subscription repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-no-subscription.list
# Update system
apt update && apt upgrade -y
Docker dalam LXC Container
Untuk Docker, saya prefer guna LXC container berbanding VM — lebih lightweight.
Create LXC Container
Settings yang diperlukan:
- Memory: 4GB+
- Disk: 50GB+
- Features: Nesting enabled
Enable Docker Support
Edit container config di Proxmox host:
# /etc/pve/lxc/<CTID>.conf
features: nesting=1
lxc.apparmor.profile: unconfined
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
Install Docker
# Install Docker
curl -fsSL https://get.docker.com | sh
# Add user to docker group
usermod -aG docker $USER
# Install Docker Compose
apt install docker-compose-plugin -y
Essential Services
Portainer — Docker Management
services:
portainer:
image: portainer/portainer-ce
container_name: portainer
restart: always
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Nginx Proxy Manager — Reverse Proxy
services:
npm:
image: jc21/nginx-proxy-manager
container_name: npm
restart: always
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Uptime Kuma — Monitoring
services:
uptime-kuma:
image: louislam/uptime-kuma
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- ./data:/app/data
Tips & Best Practices
- Backup regularly — Guna Proxmox Backup Server
- Use static IPs — Elak IP conflict
- Monitor resources — Proxmox built-in atau Grafana
- Document everything — Apa yang install dan configure
- Separate networks — VLAN untuk management vs services
Kesimpulan
Homelab dengan Proxmox dan Docker adalah kombinasi yang powerful. Start small, experiment banyak, dan expand bila perlu.
Kalau ada soalan, boleh reach out melalui LinkedIn atau email.