Skip to main content

Installing Proxmox VE on a Raspberry Pi

Introduction

Proxmox VE (Virtual Environment) is a powerful, open-source virtualization platform typically designed for x86_64 servers. Official Proxmox does not support ARM architectures like the Raspberry Pi.

PXVIRT is a community-maintained fork of Proxmox VE for ARM64 devices, enabling you to run LXC containers and lightweight VMs on Raspberry Pi 4 or 5. While it won’t match the performance of a full server, it’s perfect for small homelabs, testing, or learning virtualization concepts.

This guide walks you through flashing the OS, preparing the Pi, installing PXVIRT, and accessing the web interface, with tips for safe updates and storage.

Installing Proxmox on a Raspberry Pi isn’t officially supported. PXVIRT makes it possible by providing ARM-compatible Proxmox packages. Performance is limited compared to x86 hardware, but you can still run containers and lightweight VMs.

This guide assumes:

  • Raspberry Pi 4 or 5 (4GB+ recommended)
  • MicroSD card or SSD storage
  • Wi-Fi or Ethernet network connection

Flash Raspberry Pi OS

  1. Download and install Raspberry Pi Imager: https://www.raspberrypi.com/software/
  2. Select Raspberry Pi OS (64-bit, Lite preferred). Lite is recommended if you don’t need a desktop environment.
  3. Choose your SD card or SSD as the target.
  4. Optionally enable SSH in Raspberry Pi Imager under “Advanced Options” for headless setup.
  5. Flash the OS and wait until complete.

Boot and Prepare Raspberry Pi

  1. Insert the SD card (or connect SSD via USB).
  2. Power on the Pi and SSH into it (default user: pi, password: raspberry) or use console.
  3. Update the OS:
sudo apt update && sudo apt upgrade -y
sudo reboot
  1. Ensure your Pi is 64-bit:
uname -m

Should return aarch64

Set a Static IP or DHCP Reservation

Proxmox works best when the host IP does not change. You can achieve this in two ways.

Option A: DHCP Reservation (recommended)

  • Log in to your router or firewall
  • Create a DHCP reservation for the Raspberry Pi using its MAC address
  • Assign a fixed IP address

This keeps networking simple and avoids manual config changes on the Pi.

Option B: Static IP on the Raspberry Pi

If your Raspberry Pi is using NetworkManager, you can configure a static IP address using the nmcli command-line tool. This method avoids manual file editing and works well for Proxmox hosts.

List active network connections:

nmcli connection show

Note the name of the active Ethernet connection, usually something like Wired connection 1.


Configure the Static IP. Replace the values below to match your network.

  sudo nmcli connection modify "Wired connection 1" \
  ipv4.method manual \
  ipv4.addresses your_IP/subnet \
  ipv4.gateway your_gateway \
  ipv4.dns your_dns

  # Example: 
  # sudo nmcli connection modify "Wired connection 1" \
  # ipv4.method manual \
  # ipv4.addresses 192.168.1.50/24 \
  # ipv4.gateway 192.168.1.1 \
  # ipv4.dns 192.168.1.1

Apply the Changes. Bring the connection down and back up:

sudo nmcli connection down "Wired connection 1"
sudo nmcli connection up "Wired connection 1"

Verify the IP Address

ip a

Confirm the Raspberry Pi now has the configured static IP.