Proxmox is a free (community paid tier for support) hypervisor. While Proxmox is not an officially supported Packet OS, this guide will help you get it up and running.

Provision a Server with Debian 9

For this demonstration, we'll use Packet's t1.small bare metal configuration running Debian 9.  When deploying the server (which are available in Packet's core datacenters), please select Debian 9 and then add extra elastic IP's to the server using the custom subnet option.  Assign a custom subnet size of /28 via the options slide out on the deploy screen:


Setting Up & Installing Proxmox

Once the device has provisioned and is reachable, login as "root" and update the Debian installation to the latest and greatest:

apt-get update && apt-get upgrade -y

To allow virtual machines access to the interwebs, a bridge must be created on the server.  The first step is to install the necessary bridge utilities:

apt-get install bridge-utils

The device hostname must include the 147.x IPv4 address in /etc/hosts 

$ cat /etc/hosts
root@prox:~# cat /etc/hosts prox

# The following lines are desirable for IPv6 capable hosts

::1localhost ip6-localhost ip6-loopback




If your management IP (147.x) is missing, please add it as shown above. If it is present, you can verify it's inout correctly by running hostname --ip-address 

$ hostname --ip-address

To setup a bridge the following is my example. I moved vmbr0  to the top and pushed bond0 & bond0:0 towards the bottom. Review & make changes/additions to your /etc/network/interfaces 

auto lo
iface lo inet loopback

auto vmbr0
iface vmbr0 inet static
    bridge_ports bond0
    bridge_stp off
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12

iface vmbr0 inet6 static
    address 2604:1380:1:7200::1
    netmask 127
    gateway 2604:1380:1:7200::

auto vmbr0:0
iface vmbr0:0 inet static
    post-up route add -net gw
    post-down route del -net gw

auto bond0
iface bond0 inet manual
    bond-downdelay 200
    bond-miimon 100
    bond-mode 5
    bond-updelay 200
    bond-xmit_hash_policy layer3+4
    bond-slaves enp0s20f0 enp0s20f1

Please Note: the IPs above are examples. Ensure you are using your management (147.x), IPv6, and private network IPs as shown in your network interfaces file.

Reboot the device.  After the reboot, you should find ip configuration on vmbr0 and the output of the bridge configuration brctl show 

user@pve$  brctl show
bridge namebridge idSTP enabledinterfaces

Next, create the repo necessary to download packages for Proxmox

echo "deb stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

To ensure the repo is the validated one, it is necessary to install the key: 

wget -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

Update to include the new repository :

apt update 

Install the Proxmox packages: 

apt install proxmox-ve postfix open-iscsi

Cleanup and Final Reboot

Configure postfix according to your network. If you have a mail server in your network, you should configure postfix as a satellite system, and your existing mail server will be the 'relay host' which will route the emails send by the proxmox server to the end recipient. If you don't know what to enter here, choose local only.

When installation has completed, reboot the server, after which you should be able to access the Proxmox UI via url: http://your.device.ip:8006.  Ta da! 


Creating an alternate user

By default the root user is restricted by accessing the device via specific SSH keys utilized during provisioning. Password authentication is also disabled. It's suggested to create a wheel user (other than root) to access not only the UI of Proxmox but also the command line. 

Create admin group

pveum groupadd admin -comment "System Administrators"

Add necessary permission

pveum aclmod / -group admin -role Administrator

Add wheel user to group

pveum usermod yourwheelusernamehere@pam -group admin

From this point on, the newly created wheel user will have access to the UI. 

403 Unauthorized

This error is common, it suggests your device has not yet been setup for a paid subscription to the enterprise repo. You are welcome to remit payment to obtain this access, or you can remove the enterprise repo & then setup the repo to pull from the non-subscription repo. 

rm /etc/apt/sources.list.d/pve-enterprise.list

echo "deb stretch pve-no-subscription" > /etc/apt/sources.list.d/pve.list

Once  updated, run apt update without the resulting error.

Creating your first VM / Container

Now comes the fun part, creating your first container or virtual machine. 

Download / Upload Container Template

Proxmox comes with ready to download/install container templates, to obtain a list you can do this via UI 


Once Templates is clicked a window will appear, with the ever growing list of available templates. 


If you have you own, you are welcome to upload through the UI as well. Once you have found the template you require or uploaded your own, click the Create CT and process with the necessary steps to complete your first container. 


To create VM, please see their documentation surround that. To use our block storage with your Proxmox Installation, please see here.