Find us on social media
ProxmoxVirtualization10 min read
Install Proxmox VE for virtualization
Turn your Bare Metal into a hypervisor with Proxmox to create VMs and LXC containers.
Overview
Proxmox VE is an open-source virtualization platform that combines KVM virtual machines and LXC containers with a web-based management interface. It's ideal for turning your Bare Metal server into a multi-tenant hypervisor.
Requirements
- Bare Metal server with at least 16 GB RAM (32+ recommended)
- CPU with virtualization support (Intel VT-x or AMD-V)
- At least 2 storage devices (one for OS, one for VMs)
- A dedicated IP or IP range for VMs
Step 1: Install Proxmox VE
Option A: Install from ISO (recommended)
- Download the Proxmox VE ISO from the official site
- Mount it via IPMI virtual media
- Boot from the ISO and follow the installer
- Set the management IP, hostname, and root password
Option B: Install on existing Debian 12
Add the Proxmox repository:
bash
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt update && apt full-upgrade -y
apt install -y proxmox-ve postfix open-iscsi chronyReboot:
bash
sudo rebootStep 2: Access the web interface
Open your browser and navigate to:
terminal
https://YOUR_SERVER_IP:8006Log in with root and your password.
Step 3: Configure repositories
Disable the enterprise repository (unless you have a subscription):
bash
sudo nano /etc/apt/sources.list.d/pve-enterprise.list
# Comment out the lineEnable the no-subscription repository:
bash
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve-no-sub.list
apt updateStep 4: Configure storage
Add storage for VM disks and backups:
- Go to Datacenter → Storage → Add
- For local NVMe/SSD: Add as Directory or LVM-Thin
- For backups: Add a separate directory mount
Example LVM-Thin setup:
bash
# Create a thin pool on a dedicated disk
pvcreate /dev/sdb
vgcreate vg-data /dev/sdb
lvcreate -l 100%FREE -T vg-data/thin-poolThen add it in the web UI as LVM-Thin storage.
Step 5: Create a virtual machine
- Click Create VM in the top right
- Set name and VM ID
- Upload or select an ISO (Ubuntu, Debian, etc.)
- Configure hardware:
- CPU: Set cores and type (host for best performance)
- Memory: Allocate RAM (enable ballooning for dynamic allocation)
- Disk: Select your storage pool, set size
- Network: Select bridge (vmbr0)
- Start the VM and install the OS via the console
Step 6: Create an LXC container
Containers are lighter than VMs and boot in seconds:
- Download a template: local → CT Templates → Templates
- Click Create CT
- Set hostname, password, and resources
- Select network configuration (static IP or DHCP)
- Start the container
bash
# Or via CLI
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst
pct create 100 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname mycontainer \
--memory 2048 \
--cores 2 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--storage local-lvm
pct start 100Step 7: Backups
Configure automated backups:
- Go to Datacenter → Backup
- Click Add to create a backup job
- Select schedule, storage, and VMs/CTs to include
- Choose compression mode (zstd recommended)
Network tips
- Use vmbr0 as the main bridge for VM networking
- For isolated networks between VMs, create additional bridges
- Configure NAT if you have limited public IPs
Security
- Enable the Proxmox firewall from the web UI
- Restrict web interface access to your IP
- Set up 2FA for the web login
- Keep Proxmox updated:
apt update && apt dist-upgrade
Was this guide helpful?