All-in-one virtualized vs bare metal solutions

I know this has been asked before but some of the threads I found dated back a good few years. SFF/Mini PCs new and old seem to be recommended for various bare metal implementations of things such as a NAS.

I am at a bit of a stop here because I’m not sure what I should and shouldn’t virtualize. I’ll pop here what I have currently that I want to throw some money/time at to improve.

Replace Archer 2300C router with OPNSense

I need vlans so it seems like a good point to ditch the consumer hardware and start using purpose made software on a box of some kind. To replace this I need to purchase an AP.

I already have a 4 way switch up stairs that go to 2 offices and an AP upstairs that is purely for my Meta Quest VR setup. I would need a switch downstairs due to having a Hue hub, Hive hub, Steam Deck and some other crap my wife has bought over the years.

Replace a 6-7 year old Lenovo laptop that is my server/transcoder/media player

I hate this thing. It currently runs Ubuntu and has docker containers for the following:

  • Home Assistant
  • Pihole
  • Jellyfin + supporting software (radarr, sonarr etc etc)
  • Prob other things I never use/forgot about

What I think I want to do

Proxmox all the things. I believe this is possible? Or should I at a bare minimum out OPNSense on bare metal? Is it ill advised to virtualize a transcoding setup?

I want to minimize the number of devices I am running. 5 years ago I ran an old Dell Poweredge server but I kept dishing out compute to friends/friends of friends for Minecraft/Factorio/Valheim servers and Plex logins and it got to the point the power bill was starting to hurt because the thing was just pegged at 99% CPU practically all the time. All this ran in Proxmox just fine.

This question is going to give a lot of subjective answers I know. The amount of information out there is staggering and I want to start down the right path. The first hardware purchase is going to decided that path.

Thoughts?

Welcome to Serverbuilds!

Most of the things you list can be virtualized without any issues. Home Assistant, Jellyfin, the Arrs, and PiHole run quite nicely as docker containers under just about any virtualization host. Your Jellyfin container will need access to the GPU or if you have a dedicated VM for it then you will need to pass your GPU through to it.

The two things that are often recommended to run bare metal are your router, and your NAS although both can technically be virtualized successfully if you are careful.

Virtualizing your router can enable a lot of ways to make a small configuration error that will either open you up to serious security issues, or just break your internet connection in ways that are difficult to troubleshoot; especially without access to the internet. The other downside is just that basic maintenance to your virtualization host will also break the internet for everyone in the building. Something like needing to re-build your drive array could take you offline for hours.

As for a NAS you could certainly use Proxmox as a basic NAS. Just put your disks in a ZPool and share it on the network via NFS / SMB.

You can also virtualize a more robust NAS solution like Unraid or TrueNAS without issue so long as you pass not just the drives through to the VM but the entire SATA controller. However most modern NAS OSs are not just a NAS but a fully converged NAS / Virtualization Host which would be redundant. You don’t really want to run a virtualization host on top of another virtualization host so in this case Unraid / TrueNAS would just be running as a basic NAS and you would virtualize everything in Proxmox. If you want to use all the features of a NAS OS I would recommend just running it bare metal and using it as your main virtualization host.