Skip to content Skip to footer

Proxmox: Step-by-Step From Install to Secure Remote Access

Proxmox: Step-by-Step From Install to Secure Remote Access

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

  1. Boot from the USB
  2. Select Install Proxmox VE
  3. Accept license
  4. Choose filesystem (recommendations):
    • ZFS RAID1 if you have two disks (best reliability)
    • ext4 or xfs for single-disk setups
  5. Set:
    • Country & keyboard
    • Strong root password
    • Email (used for notifications)
  6. 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:

  1. Click Create VM
  2. Set VM name
  3. Upload an ISO (Ubuntu, Windows, etc.)
  4. Choose storage (local-lvm)
  5. Assign:
    • CPU cores
    • RAM
    • Disk size
  6. Select network: vmbr0
  7. Finish and start VM

Install OS normally.


9. Creating LXC Containers (Lightweight Virtualization)

LXC containers are extremely lightweight compared to VMs.

To create one:

  1. Download LXC template (e.g., Ubuntu, Debian)
  2. Click Create CT
  3. Assign:
    • Hostname
    • Password
    • Resources
  4. Use vmbr0 for networking
  5. 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:

  1. Enable IOMMU
  2. Edit GRUB
  3. Add device drivers
  4. 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!

Leave a Comment