Proxmox VE has become one of the most powerful open-source virtualization platforms for homelabs and enterprises. This guide takes you from bare-metal installation to running virtual machines, containers, backups, clustering, and secure remote access via Cloudflare Zero Trust.
Whether you’re a new homelabber or an experienced sysadmin, this guide covers everything you need.
1. Preparing for Proxmox Installation
System Requirements
- 64-bit CPU (Intel VT-x or AMD-V required)
- 8GB RAM minimum (16GB+ recommended)
- 32GB+ SSD or NVMe (Proxmox performs best on SSD/NVMe)
- Optional: additional disks for ZFS RAID, LXC storage, backups

Download Proxmox VE ISO
Get the latest ISO: https://www.proxmox.com/en/downloads
Use Proxmox VE Installer ISO.
Prepare USB Installer
Use any tool such as:
- BalenaEtcher
- Ventoy
- Rufus (DD mode recommended)
Flash the ISO to your USB.
2. Installing Proxmox VE
- Boot from the USB
- Select Install Proxmox VE
- Accept license
- Choose filesystem (recommendations):
- ZFS RAID1 if you have two disks (best reliability)
- ext4 or xfs for single-disk setups
- Set:
- Country & keyboard
- Strong root password
- Email (used for notifications)
- Configure network:
- Pick your main NIC
- Give Proxmox a static IP
- Example: 192.168.1.100
Click Install.
After installation, remove USB and reboot.
3. First Login to Proxmox Web Interface
Open your browser:
https://YOUR-PROXMOX-IP:8006
Example: https://192.168.1.100:8006
Login as:
- Username: root
- Password: the one you set
Ignore the SSL warning (you can fix it later).
4. Post-Install Configuration
Change default update sources (no subscription warning)
Run:
nano /etc/apt/sources.list.d/pve-enterprise.list
Disable the enterprise repo by adding #.
Create the no-subscription repo:
nano /etc/apt/sources.list.d/pve-no-subscription.list
Add:
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
Update system:
apt update && apt dist-upgrade -y
5. Fix Proxmox Repository Warning Popup
Optional but recommended:
wget https://raw.githubusercontent.com/foundObjects/pve-nag-buster/master/pve-nag-screen.sh
bash pve-nag-screen.sh install
6. Networking Setup (Important for VMs & Containers)
Proxmox uses a Linux bridge (vmbr0) to connect VMs to your network.
Default config looks like:
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
This allows VMs and containers to behave like devices on your LAN.
7. Creating a Storage Layout
By default Proxmox includes:
- local → ISO & snippets
- local-lvm → VM disks
You can add more storage types:
- Directory storage (best for containers)
- ZFS pools (best for redundancy)
- NFS shares (NAS backup)
- USB disks (backup to external drive)
8. Creating Your First Virtual Machine (VM)
Steps:
- Click Create VM
- Set VM name
- Upload an ISO (Ubuntu, Windows, etc.)
- Choose storage (local-lvm)
- Assign:
- CPU cores
- RAM
- Disk size
- Select network: vmbr0
- Finish and start VM
Install OS normally.
9. Creating LXC Containers (Lightweight Virtualization)
LXC containers are extremely lightweight compared to VMs.
To create one:
- Download LXC template (e.g., Ubuntu, Debian)
- Click Create CT
- Assign:
- Hostname
- Password
- Resources
- Use vmbr0 for networking
- Start container — extremely fast boot
10. Adding Proxmox Backups
Proxmox Built-In Backups:
- Destination: local, NFS, or external
- Modes: snapshot or stop mode
- Scheduled backups supported
Recommended:
- Daily backups of important VMs
- Weekly offsite backups (Cloudflare R2, Google Drive, Backblaze B2 via scripts)
11. Proxmox Snapshots & Clones
Snapshots:
- Capture VM state instantly
- Useful before updates or risky changes
Clones:
- Full clone → new independent VM
- Linked clone → shared base, fast and small
12. Optional: PCI Passthrough (GPU, NIC, USB)
For GPU passthrough:
- Enable IOMMU
- Edit GRUB
- Add device drivers
- Pass GPU to VM (e.g., Windows gaming VM or AI workloads)
13. Exposing Proxmox Securely with Cloudflare Tunnel
⚠️ Never expose Proxmox directly to the internet.
Instead, use Cloudflare Zero Trust:
Steps:
1. Install Cloudflare Tunnel on any machine:
cloudflared tunnel login
cloudflared tunnel create proxmox
2. Create route:
cloudflared tunnel route dns proxmox proxmox.yourdomain.com
3. Add ingress rule:
url: http://YOUR-PROXMOX-IP:8006
No rule
4. In Cloudflare Zero Trust:
- Access → Applications → Add Application → Self-hosted
- URL:
https://proxmox.yourdomain.com - Assign policies (email/PIN/device)
5. Add One-Time PIN or Passkey authentication
Now your Proxmox is fully protected behind Zero Trust with no public exposure.
14. Proxmox Useful Tools & Enhancements
Recommended add-ons:
- Proxmox Dark Theme
- Proxmox VE Helper Scripts
- Proxmox Firewall rules
- Monitoring with Grafana
- ZFS auto-scrub schedules
15. Final Thoughts
With this full guide, you now have:
- Installed Proxmox
- Configured networking & storage
- Created VMs and containers
- Enabled backups and snapshots
- Secured access with Cloudflare Zero Trust
- Optional GPU/NIC passthrough
- Ready-to-use homelab or production setup!
