Back to Blog
Setup Homelab dengan Proxmox dan Docker
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:

ComponentRecommendation
CPUIntel i5/i7 atau AMD Ryzen (min 4 cores)
RAM32GB recommended (boleh start 16GB)
StorageSSD untuk OS, HDD untuk data
NetworkGigabit 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

  1. Muat turun ISO dari proxmox.com
  2. Create bootable USB
  3. 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

  1. Backup regularly — Guna Proxmox Backup Server
  2. Use static IPs — Elak IP conflict
  3. Monitor resources — Proxmox built-in atau Grafana
  4. Document everything — Apa yang install dan configure
  5. 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.