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
- Download and install Raspberry Pi Imager: https://www.raspberrypi.com/software/
- Select Raspberry Pi OS (64-bit, Lite preferred). Lite is recommended if you don’t need a desktop environment.
- Choose your SD card or SSD as the target.
- Optionally enable SSH in Raspberry Pi Imager under “Advanced Options” for headless setup.
- Flash the OS and wait until complete.
Boot and Prepare Raspberry Pi
- Insert the SD card (or connect SSD via USB).
- Power on the Pi and SSH into it (default user:
pi, password:raspberry) or use console. - Connect to the internet (Ethernet or WiFi)
- Update the OS:
sudo apt update && sudo apt upgrade -y
sudo reboot- Ensure your Pi is 64-bit:
uname -mShould return aarch64
Modify Hostname: Proxmox-VE services need to resolve IP addresses using hostname. We need to configure the correct hostname.
Assuming your current IP is 10.10.10.10 and hostname is pxvirt
Modify the /etc/hosts file
127.0.0.1 localhost
# Add hostname information below
10.10.10.10 pxvirt.local pxvirt
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersInstall ifupdown2 (Skip if already installed)
PVE uses ifupdown2 for network configuration. Some distributions might have installed NetworkManager, so we need to disable its service.
systemctl disable NetworkManager
systemctl stop NetworkManagerThen execute the commands
apt update
apt install ifupdown2 -y
rm /etc/network/interfaces.newConfigure static IP using ifupdown2. You can check your network interface using ip link show
root@nas:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP mode DEFAULT group default qlen 1000
link/ether d0:50:99:d1:13:02 brd ff:ff:ff:ff:ff:ff
4: enp5s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether d0:50:99:d1:13:03 brd ff:ff:ff:ff:ff:ffAssuming the network interface is enp5s0f0
# Edit /etc/network/interfaces
nano /etc/network/interfaces
# Enter the following information
auto enp5s0f0
iface enp5s0f0 inet static
address 10.13.14.109/24
gateway 10.13.14.254If your network configuration is incorrect, a restart may prevent remote access. Ensure that you have connected a monitor or a serial cable.
Then restart the machine to ensure the network is properly applied. If the network configuration is incorrect, it might cause installation interruption due to network disconnection, making the machine inaccessible remotely.
Install PXVIRT / Proxmox
Download and install the Proxmox repository signing key:
curl -L https://mirrors.apqa.cn/proxmox/debian/pveport.gpg | sudo tee /usr/share/keyrings/pveport.gpg >/dev/nullAdd the Proxmox ARM64 repository to APT sources:
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/pveport.gpg] https://mirrors.apqa.cn/proxmox/debian/pve bookworm port" | sudo tee /etc/apt/sources.list.d/pveport.listRefresh APT so it recognizes the new repository:
sudo apt updateNow install Proxmox and required packages:
sudo apt install proxmox-ve postfix open-iscsi ifupdown2 pve-edk2-firmware-aarch64 -yDuring installation:
- Choose Local only for the Postfix configuration
- Use default mail settings if unsure
After installation, open a browser on your PC and go to:
https://<STATIC_IP>:8006The web UI uses a self-signed SSL certificate, your browser will warn you. Proceed anyway.
Log in with:
- Username:
root - Password: the one you set earlier
You may also see an “invalid subscription” notice, dismiss it to continue.
Post-Install Notes and Recommendations
- Change default ports or enable UFW if exposed to a network.
- Raspberry Pi is experimental hardware for Proxmox, performance is limited compared to servers.
- Use lightweight VMs and containers.
- Keep the system updated cautiously, unsupported ARM packages may not follow official Proxmox release cadence. Upgrade only when PXVIRT releases compatible updates. Avoid blindly using proxmox documentation for upgrades.
- Optional: Connect storage (USB SSD, NFS, or SMB) for VMs/containers.