How to Install Proxmox on the Raspberry Pi

In this tutorial, you will learn how to install the Proxmox Virtual Environment on the Raspberry Pi.

Raspberry Pi Proxmox

Proxmox Virtual Environment is an open-source virtualization platform that has an incredibly powerful and useful web interface.

You can easily manage virtual machines and containers on your Raspberry Pi using the built-in web interface.

This web interface even allows you to set up software-defined storage, network, and more. If you want to run VMs on your Raspberry Pi, Proxmox is one of the go-to solutions.

Thanks to recent advancements in Proxmox VE, it has support for ARM systems. The downside is that the team does not provide any builds for ARM64. Luckily, we can use a third-party package repository that has everything pre-compiled for us.

The version of the Proxmox Virtual Environment that we will be installing in this guide is Proxmox 8. This version of Proxmox has been built for the Bookworm operating system, meaning we can use Proxmox on a Raspberry Pi 5.

Remember that while running virtual machines on your Raspberry Pi, avoid using anything too heavy. The Raspberry Pi’s aren’t the strongest machines but should be able to handle a few little VMs.

Please note that for this tutorial to work, you must be running the 64-bit version of Raspberry Pi OS Lite Bookworm. Using other operating systems is not guaranteed to work and likely cause issues.

Equipment

Below is a list of the equipment we used when setting up the Proxmox Virtual Environment on our Raspberry Pi.

Recommended

Optional

This tutorial was last tested on a Raspberry Pi 5 running the latest version of Raspberry Pi OS Lite Bookworm 64-bit.

Installing Proxmox on the Raspberry Pi

Over the following sections, we will walk you through installing the Promox virtual environment on your Raspberry Pi.

We highly recommend that you follow these steps using a clean installation of Raspberry Pi OS Lite. In particular, you should be using the 64-bit Bookworm version.

A non-clean version of the operating system may cause the Proxmox installation process to break.

Preparing your Raspberry Pi for Proxmox

1. Our first task before installing Proxmox onto the Raspberry Pi is to update the package list cache and upgrade any out-of-date packages.

You can perform both tasks by using the following two commands within the terminal.

sudo apt update
sudo apt upgrade

2. Your next step is to ensure that curl is installed on your Pi. We will be using curl to grab the GPG key for the Proxmox ports repository that we will be relying on.

You can install this package by using the following command within the terminal.

sudo apt install curl

3. Before proceeding with this tutorial, you must set up your Raspberry Pi to use a static IP address.

The best way to do this is using DHCP reservation in your router. However, we have a guide that shows you how to do this through your Raspberry Pi if you don’t have access to your router.

Modifying your Hosts File for Proxmox

4. After setting up a static IP address, we must now edit the hosts file. Proxmox expects your hostname to point to the IP address of your Raspberry Pi.

You can begin editing the hosts file on the Raspberry Pi using the nano text editor by running the following command.

sudo nano /etc/hosts

5. With the hosts file open, you should see a line similar to the one below. Our hostname is set to the default “raspberrypi“, but yours might differ.

127.0.0.1            raspberrypi

After finding this line, you will want to replace “127.0.0.1” with the local IP address of your Raspberry Pi.

In our case, our Pi’s IP is “192.168.0.32” so we changed the line to look like the following.

192.168.0.32            raspberrypi

6. After making these changes, save and quit by pressing CTRL + X, Y, and then the ENTER key.

7. To verify that our changes are working, we can use the hostname command to output the IP address of our Raspberry Pi.

hostname --ip-address

If you have configured everything properly, the static IP of your Pi should be returned.

192.168.0.32

Set a Password for the root User

8. The next thing we must do to use Proxmox on our Raspberry Pi is set a password for the “root” user. If we don’t set a password for this user we will be unable to login through the Proxmox web interface.

You can set a password for the root user using the command below within the terminal.

sudo passwd root

9. To set a password, you must enter it twice, as shown below. We recommend that you set a strong password for this.

A password manager such as NordPass (Affiliate Link) makes generating and storing strong passwords significantly easier.

New password:
Retype new password:

Adding the Proxmox Port Repository to your Raspberry Pi

10. We are finally at the stage where we can begin adding the Proxmox Ports repository to our Raspberry Pi. This repository is managed by a third-party but allows us to install versions compiled for the Raspberry Pi’s hardware.

Our first step in this process is to add the GPG key for the repository. This key helps verify that the packages legitimately come from the Proxmox ports repository.

curl -L https://mirrors.apqa.cn/proxmox/debian/pveport.gpg | sudo tee /usr/share/keyrings/pveport.gpg >/dev/null

11. With the GPG key added, we can now add the repository itself to our sources list.

Use the command below to save the repository link into a file called “pveport.list“.

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.list

12. Since we made changes to the sources list, we must update the package list cache again by running the following command.

If we don’t do this, the package manager will be unaware of the repository we just added.

sudo apt update

Installing Proxmox to the Raspberry Pi from the Repository

13. With everything in place, we can finally begin installing Proxmox on the Raspberry Pi.

The first package that must be installed on our system is “ifupdown2“. Proxmox uses this package to handle the network.

sudo apt install ifupdown2

14. Finally, you can install Proxmox VE and a few required packages by typing the following command in the terminal.

This installation process can take a few minutes, so be prepared to wait a few minutes. Additionally, there are a few prompts you will have to go through during installation.

sudo apt install proxmox-ve postfix open-iscsi pve-edk2-firmware-aarch64

15. During installation, you will be asked to configure Postfix. You can navigate this menu using the ARROW keys to move and ENTER to select.

If you are unsure what you are doing here, select the “Local only” option.

Choose Postfix Setup Choice

16. Next, you will be asked to set the mail name for Postfix to utilize (1.).

Again, if you don’t know what you are doing here, leave the default name and press ENTER to continue (2.).

Set System Mail name

Accessing the Proxmox Web Interface

17. Once Proxmox finishes installing to your Raspberry Pi, it should be safe to access its web interface.

All you need to access the web interface is the IP address of your Raspberry Pi.

hostname -I

18. With your IP address in hand, you will want to go to the following address in your favorite web browser.

Ensure that you replace “<IPADDRESS>” with the IP of your Raspberry Pi.

https://<IPADDRESS>:8006

19. With the Proxmox web interface now open in your web browser, you must log in to your account.

Start by typing in the username as “root” and then use the password you set earlier for this user (1.).

Once you have filled in your information, click the “Login” button (2.).

Login to Proxmox VE on the Raspberry Pi

20. You should now have access to the Proxmox web interface.

You can begin to set up new VMs through this interface as well as configure Proxmox VE itself.

Proxmox Dashboard

Conclusion

Hopefully, at this stage in the tutorial, you will now have Proxmox VE installed on your Raspberry Pi.

You can utilize this tool to set up and manage virtual machines on your Pi. It is a powerful hypervisor, especially for those dealing with multiple virtual machines.

Please feel free to leave a comment below if you have run into any issues with getting this software to work on your device.

If you found this tutorial to be helpful, we highly recommend checking out our many other Raspberry Pi projects.

Leave a Reply

Your email address will not be published. Required fields are marked *

13 Comments

  1. Avatar for save
    save on

    Great: this guide is clear and useful

  2. Avatar for Joe
    Joe on

    Thank you so much for this

  3. Avatar for Jason Best
    Jason Best on

    I don’t know if anyone else has had this problem but any changes made to the network interface doesn’t work and access to the proxmox (raspberry pi) is lost. Given that Proxmox uses ifupdown2 to write the network config to the /etc/network/interfaces file, it seems to be incompatible with the raspberry pi. If anyone has this problem and found the solution please reply.

    1. Avatar for Wolfy
      Wolfy on

      You are using bookworm right? that’s the issue with this proxmox on the rpi, I found when i altered the network from static to DHCP it would break as well, like everybody else, but i left it at static for the network settings on the CT and VM and I used the crontab to run on startup the following…. works like a treat… any other version aka bullseye fedora etc was fine without having to do this..
      crontab -e
      @reboot /usr/bin/systemctl restart systemd-networkd
      then it will pick up on the DHCP by itself….

  4. Avatar for Wolfy
    Wolfy on

    Well documented and thx for your efforts… cheers….

  5. Avatar for Flynn
    Flynn on

    Thanks

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi John,

      Thank you for posting about that. I had tested this several times and never realised that I had typed in “dev” instead of “arch”.

      Much appreciated.

      Kind regards,
      Emmet

  6. Avatar for Declan
    Declan on

    Boom….it works. Thanks very much Emmet. Great instructions. Clear, consise and best of all work!!! Thank you…thank you….thank you

    1. Avatar for Declan
      Declan on

      Can i suggest a follow up to the series…..containers v vm’s…..and how to for both

  7. Avatar for Tu
    Tu on

    Thank you Emmet, what a great tutorial, both clear and detail enough.

  8. Avatar for Oadslug
    Oadslug on

    Great tutorial. Thank you. Proxmox up and running on RPi5 on NVMe!

    One question. During install process I was asked by installer if I wanted to replace source list with one provided by package developer. I answered no, but in retrospect, this may have been a mistake. Was it? I have since run a post-install script I found elsewhere to fix resource lists, which seems to be working. But any advice here for next go around. Thx.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Oadslug,

      You are safe not to override the source list with the provided one. They should be essentially the same thing and both refence the official Promox repository.

      King regards,
      Emmet