Intro
After having my Synology volume crash out of the blue I came to some realizations that having a fragmented setup that evolved with me is unwise and creates many different points of failure. It dawned on me that I’ve been running my homelab in a degraded state for 3 weeks now as I’ve been migrating data off Synology and spending an inordinate amount of time trying to figure out how to use Proxmox. That’s because Proxmox has built-in capability to connect different setups together assuming they’re all running Proxmox There is a learning curve though. Proxmox is interesting. It looks easy; it sounds easy; it’s not easy. That’s because Proxmox has their way of doing things and if you don’t like it… tough.
Synology
Prior to the using Synology as my daily driver I had 2 Supermicro servers that were consuming too much power. The real reason I leaned into Synology though is because I was fed up with unRAID and in hindsight I think Synology was a rebound. It’s easy to see why anyone would choose Synology if they had a frustrating NAS experience because of all the raving reviews, the Synology suite of apps and the alluring UI. I was promised an Apple-like experience where things would just work with little oversight and just be a happy pappy camper. I got that some of the time. I will admit it’s possible that my nightmare occurred because I used third-party new ECC RAM (recommended on reddit). If that’s the case then Synology is rather quite fragile and I still can’t recommend it to anyone especially for the premium price tag it demands.
Some gripes I have with using Synology as my daily driver is that the latest and greatest Synology devices use AMD CPUs instead of Intel ones, which don’t have an integrated GPU meaning they have terrible video transcoding performance. One 1080p stream maxed my CPU usage. I decided to splurge and get a cheap Beelink NUC to transcode while the Synology ran the majority of other services. On paper that sounded great. In practice it’s a terrible idea because in hindsight the Synology has a beautiful UI that is superficial at best with an underlying operating system that is not as awesome as I had hoped. This is compounded by the fact that because docker, lxc, and podman have become mainstream (for enthusiasts) there is less and less of a reason to even use the Synology suite when self-hosted apps are as easy to setup and have a dedicated and passionate developer base working on them. Synology apps don’t get updated frequently.
Proxmox
When looking for a new system I wanted something that would be future proof. My options that I was aware of were Proxmox, Synolgoy, QNAP, Unraid, TrueNAS, OpenMediaVault, and stock Debian/Ubuntu. I have dabbled in QNAP and TrueNAS and ran instances of all the others. QNAP shares the Synology issue. TrueNAS sounds great, but is immediately off-putting as a homelab that does incremental spend (I can’t requisition an entirely new array at a moment’s notice) and wants to maximize value. This is especially true when we’re in a storage renaissance where we’re getting bigger and better drives for cheaper and cheaper. With TrueNAS you effectively lock yourself into a moment in time. I’d venture to bet the people buying those used 1TB HDDs off of eBAY are home labbers running TrueNAS setups. It’s also perfectly okay for them to do this because of ZFS’s data integrity feature set. To me it seems like a waste because you can get 3 to 4 times the storage for the same price. Stock Debian/Ubuntu—been there done that and I’ll pass. OMV is great, but it didn’t feel like a full NAS operating system and instead more of a storage manager of sorts (I use it for that purpose inside of Proxmox for that sexy UI). unRAID has some terrible performance issues once you start scaling up and they also use a flavor of Linux that has issues supporting legacy hardware (old supermicro servers) so if I want to not spend days and days troubleshooting I’m stuck on an older version of unRAID. I’ll talk about it in a future post.
That leaves Proxmox and it looks fantastic. It has everything you could want and is futureproofed by design. Having CEPH and High Availability built-in means that Proxmox can grow as you grow. If you only need 1 server that’s fine. If you don’t need distributed storage that’s also fine. However, when you eventually want more there’s a path ready for you to go down. My biggest gripe with Proxmox is how it seems like they intentionally make it difficult for consumers and noobs to get into.
The staff is of course very helpful (even moreso if you buy a support subscription), but it seems like they have a philosophy and methodology that you either follow or you can take a hike. For example, they could easily support DHCP because it’s literally adding one toggle in the UI. However, that would be too easy so you have to go to the command line if you want to use DHCP. If you decide to use DHCP you have also effectively gimped the networking tab because any changes to an interface will disable DHCP and bring you back to square one.
There are also some major differences between Docker and LXC. With docker your containers share an IP with the host and you use different ports. With LXC you get psuedo-virtual machines that are lightweight and have their own IP address. This is where networking is a pain because you’ll want to setup VLANs. It also seems intimidating because there isn’t just a single command-line that you input to get a fully setup container—oh wait there is. Proxmox Helper Scripts is a fantastic resource to quickly setup working containers making LXC arguably easier to setup than Docker. It’s brilliant. You can even run a script to setup a docker inside an LXC container. This is something I used when I migrated by Bitwarden instance over from Synology. I tried to manually set it up and I was having user permission issues. Using docker wasn’t the most efficient method, but it did the trick. The negatives have been negligible.
Did I mention the good folks at Proxmox (or their representatives) hate that it makes your life easier?
The silver-lining is that because it runs on top of Debian there is quite possibly the largest Linux community that has many of your questions already answered. The challenge is there’s alot of noise and so you’ll look through a dozen or so pages just to find the answer that is approximately what you’re looking for, but not quite. Just getting Proxmox’s infrastructure and network setup took me an entire weekend. However, once I got it all setup and figured out the ins and outs running it is like a dream.
Conclusion
As of now I thoroughly enjoy using Proxmox, but boy prepared to be gatekept. I actually recommend practicing your set-up inside of a virtual machine first before you go all in because nothing sucks more than having to pull out a monitor, keyboard, and mouse and physically go repair your server because you screwed up a configuration file (speaking from experience). This has only scratched the service of my “new” and ongoing “adventure”. Stay tuned for more updates and some tips and tricks I learned along the way.
Hi John, I'm John, I have been using proxmox in an IT setting for over 10 years, and just wanted to chime in... I am in agreement with the title of your article. But some of your content is a little demeaning to the product. The intention of Proxmox was a enterprise grade hypervisor for IT professionals. As a VMWare admin it would be important to have intermediate skills in the underlying OS (Linux), same would be true for HyperV (M$), so Proxmox users should be familiar with Linux servers and enterprise networks, or they should take a crash course on those before diving in to proxmox. An enterprise server generally would not use DHCP, since they are catering to "enterprise", that is how they build it. The best option if you want to harmonize with DHCP at home would be to set a static ip on your server and set a DHCP lease on your router so there are no conflicts. You could call that an industry best practice, I could not slight them for following that practice, the Proxmox network stack is actually very simple, you could make a couple backups of the interfaces file with different configs and easily quickly swap network locations if you are often moving around subnets. Also the people on reddit are not representatives of Proxmox at all - if you look those people up on the proxmox forums, you wont find them, so I would not bash the product for the practices of a 3rd party forum... Now as an enterprise sys-admin, I find myself in the same boat as you as far as home storage (its not a lab), and I wonder from your article what you ended up with for a final solution for home NAS, you seem to indicate OMV, but it was not very clear what all you ended up accomplishing, if you shared your final design and what apps or containers you used, this article would be pretty sweet. What are you doing for RAID/disk management, backups, any cloud backup functionality? For instance I am hunting a replacement for Google Photos, and Synology DSM offers a photo app with public album sharing, I could run DSM on Proxmox using xpenology, I wonder if you do any work with photo albums on Proxmox?