[Guide] DietPi on ProxMox

Hi,

I just wanted to share my experience with setting up a DietPi on a ProxMox box. (that’s fun to say!)

[Pre-requisites]
Proxmox Virtual Environment

[Guide]

Ok! So you have setup proxmox and connected through the webinterace at [your.prox.mox.ip]:8006
Now we want to setup a VM with dietpi, the process of which is outline as such:

  • Upload installer ISO


  • Setup qemu/kvm


  • Install DietPi


  • Reboot VM


  • Finish install

Step 1: Get familiar with interface & upload ISO
This was my first ProxMox and I spent some time at first wondering how I didn’t have any disk space. What happens through a standard install is that the ProxMox installer uses LVM and makes one Physical Volume of the whole boot drive and then makes one Logical Volume Group with three Logical Volumes on it:
Boot
Root
Data

When you open up the web interface you will see something like this:

On the left you have a drop down menu with a tree menu below. Make sure you are in Server View, and click local (pve). If you names you proxmox something other than pve it will have that in brackets instead.

Then select ISO Images:

and upload the DietPi Native PC UEFI iso.

  1. Create the Virtual Machine (qemu/kvm)

Click “Create VM”

Give it a name.

Select which OS to install with the ISO you just uploaded.

Select Graphic Card: SPICE or VNC depending on preference.
Select BIOS: OVMF (UEFI)

In the same menu point the install to local-lvm which is the “data” partition mentioned earlier.
You can also pass through a physical SSD, but this is outside of this guide’s scope.

Set the Machine to q35:

Hard Disk: If you want to give it a separate data drive (to move dietpi_userdata) you can add that here. You can also do that later and just go “Next”

I did this particular install with ony one CPU but would recommend more if possible. I am not a superpro with proxmox yet but from what I know it treats cores as cores, meaning the number you set here is not the numbers of threads you want to give it.

Give it some RAM, preferable more than standard 2048 but whatver you can afford.

Leave the network settings as is.

Confirm and Start after created:

Wiieeee! you have a virtual machine ready for DietPi:

Wait for a little bit and go into the server list on the left again, then select your DietPi and click “Console” to connect through the web interface:

Select either VGA or KMS (if you want HW passthrough with GPUs etc go for KMS. To know more checkout: https://wiki.archlinux.org/index.php/Kernel_mode_setting

Then some clonezilla magic happens at the end of which the VM will shut down.

Select ISO:

Select BOOT/ROOT drive:

Clonezilla magic:

Waiting…

Reboot VM by clicking start above the console window.
That’s a familiar look:

And voila!

You have a virtual dietpi on proxmox!
I would finish the dietpi install and then do a baclkup and/or snapshot before moving ahead with anything as this saves you the trouble to do these steps in the future.

Next project is this one inverted:

Proxmox on DietPi!

That looks interesting. I tried this a while back but failed miserably.

I’ll have to try again although most of my ‘servers’ on Proxmox are running in LXC containers.

Very cool!!!

I bought a newish to me Dell i5 box to create a proxmox virtual server environment…but it got hijacked by my kids…LOL

I have several OrangePi and DietPi boxes up doing practically nothing…would LOVE to setup proxmox inside a working distro!

Thanks for the write-up. I am currently running dietpi in a VM on a windows machine. Recently got a tiny PC with an i5 and running proxmox on it, will eventually transfer dietpi over to it, but did some tests with this guide and got dietpi running great.

I need to figure out the whole reverse proxy thing so I can access multiple apps on my network with a domian. Right now I am just opening ports so 80 and 443 and dedicated to the IP of the dietpi VM, works for that VM but can’t use 443 for any other VM at the moment.

well this is more a question on setting up a revers proxy and not really related to ProxMox, VM or DietPi :wink:

Great guide. Something for our install docs, I think: https://dietpi.com/docs/install/ :slight_smile:

Thanks a lot for this guide! Good work

Have you ever tried resizing a attached hard disk in proxmox?

I’m just trying to accomplish this, on the proxmox side it’s not a problem, but i can’t get it to work inside DietPi.
Can’t even resize the drive with reformating it inside DietPi, which obviously wouldn’t be very helpful anyway, but still… ^^

Is it even possible…?!

I installed DietPi as a VM on ProxMox too. That was pretty easy.
But I wonder how I can customize the installation beforehand. For the Raspberry Pi I could change the dietpi.txt file. But how do I do that on the ISO??

thanks for this guide, just switched from ESXi to Proxmox and this has got me up and running really quick - thanks for taking the time to put it together.

Btw, using the default SeaBIOS does not work with the BIOS image? I’m thinking about providing a Proxmox image, so that it is also seen internally as VM and not as native PC and has some unnecessary packages less (WiFi tools and firmware, minimal initramfs etc).

Another thing about the Clonezilla selection: Whether you select VGA or KVM or something else doesn’t matter for the final OS but only for the install procedure. Since this is only the whiptail we may remove that selection entirely and preselect the most compatible one instead. Also using one of the in-RAM choices seema to not work (on my last tests).

That would be awesome

I would also be pleased !
maybe you could do it like here ?
https://github.com/ej52/proxmox-scripts/blob/main/lxc/nginx-proxy-manager/README.md

I use this because Nginx Proxy Manager under Docker always refuses to work after some time.

As a whole VM, Dietpi unfortunately consumes too much of my little space. There are a few things that should run in their own container.

I’ve tried this guide on Proxmox 7.1, but fails everytime, changed all settings. No luck

After many tries I got it working…

The steps I took:

I Installed NetDebian Image, all standard settings
Upped memory and started install
I dont need a GUI, just standard system utilities & openSSH server

You have to edit SSH to use Putty
In the proxmox console enter nano /etc/ssh/sshd_config
find PermitRootLogin and remove the #
change PermitRootLogin prohibit-password to PermitRootLogin yes
Save with CTRL X, Y,enter
restart SSH with /etc/init.d/ssh restart

get IP with ip a
Use Putty to login

After login
enter apt update
enter apt install -y curl ca-certificates systemd-sysv
enter bash -c “$(curl -sSfL ‘https://raw.githubusercontent.com/MichaIng/DietPi/master/PREP_SYSTEM_FOR_DIETPI.sh’)”
select master image
enter a name
enter a pre-image name → debian
select nr. 20 - x86_64 Virtual Machine
choose Wifi if you need it
choose Bullseye
sit back and relax.
finished? then reboot
Done, DietPi on Proxmox

please excuse my asking:
you have installed it as VM and not as LXC container ?

You’re right - it really doesn’t work with the current image. But with the one from Buster it does:
DietPi_NativePC-BIOS-x86_64-Buster_Installer
You just have to update everything…

While I’m here:
@MichaIng
Where can I download older versions ?
I have already searched for it

We don’t offer older images by purpose. There is nothing like an archive.

Instead of building images with outdated Debian versions, which will cause you issues and us additional support efforts in the mid/long term, probably you guys want to help debugging why it doesn’t work with the current Bullseye image? E.g. providing error messages, details what/where exactly it “doesn’t work” or so? Just an idea :slight_smile:.

You are right.
I should have posted that - sorry
I promise to do better :wink:

the problem with Proxmox (v.6.4) is, that the bullseye version doesn’t give an error message and simply aborts the hard disk scan. dietpi is my absolute favourite, but it couldn’t be reinstalled. luckily I still had the buster version and it ran through. then update everything again and I’m back with you.

With the upcoming DietPi v8.2 we will have

In the past we focused a bit on “Virtual Machinering” and added VM images for the desktop virtualization products Parallels Desktop (macOS), VMware Fusion (macOS) and UTM (macOS). Before we already coped VMware, VirtualBox and Hyper-V.
Also for virtualisation appliance servers like VMware vSphere (ESXi Hypervisor) as well as Proxmox PVE we spend some time.

We hope that the images and descriptions help to use virtualization environments in an easy way.
The descriptions referenced in the former post replies helped a lot to work on these issues.

I think it’s worth to mention that it is recommended to install dbus …
I installed several instances of DietPi on a Proxmox server and had the problem, that Proxmox was not able to freeze / stop / suspend the VMs for backup or rebooting.
Even with installed guest Agent. It turns out, that the dbus package was missing for communicating between host and the VMs.

we will have a look if it could become part of the default ProxMox image

MichaIng
FYI