I’ve been planning out a proxmox server for when I eventually have money. (Shut up. It can happen. Shut up!) but I saw something today that got me thinking. Minisforums makes some pretty nice shit at a reasonable price. The entire minis market has actually become pretty great while I wasn’t looking.
I need proxmox hosting opnsense, frigate, jellyfin, homeassistant, BitTorrent, immich, sunshine, steam, and i2pd.
So there are obvious advantages to building my own shit with a trip to microcenter. But maybe these micro machines could actually handle this shit anymore. Opinions?
You can find 8500t nuc on eBay for extremely cheap, just search 8500t/9500t.
Of course you can always build a good PC or server.
I could have done that too, but I wanted my first real homelab-do-it-all-yourself setup to be a little more on the cautiously small side. I didn’t want to have too much noise in my apartment and also didn’t want to stress my electricity-bill and wallet too much, so I opted to build small and reuse what I had lying around.
I already had 2 Mini-PCs and a raspberry pi from earlier experiments with selfhosting. I just bought some disks and RAM. If you don’t have any mini-PCs, they’re relatively cheap in comparison with full PCs. Or you could use some older PC you still have but do not use.
My motto more or less was you can always spend more money and build bigger later
The final Hardware
- Mini-PC: Zotac ZBox CI665 nano
- RAM: 32 GB DDR4 RAM (according to specs, CI665 cannot go beyond 32GB sadly)
- SSD: 1x 2TB Samsung SATA SSD
- external USB HDD (6TB)
What I host on my Proxmox VE
- CheckMK Monitoring
- GitLab Runner
- pihole (network-wide, DNS-based adblocker)
- Nextcloud (production and staging instance for testing new updates before rolling out to production with my data)
- nginx proxy manager
- syncthing server
The 2nd Mini PC (some old intel NUC with 4 cores and 16 GB RAM) + a USB HDD is my Proxmox Backup Server for all this. And what’s really important (my data from nextcloud + some configs) gets backed up to my Hetzner Storage Box with restic.
The raspberry pi is now my WiFi Access Point :)
Conclusion
Homelab doesn’t need to be big or small, it can be whatever you want it to be or whatever you can afford or are willing to have and maintain. From my experience, if you’re not hosting anything CPU-intensive, older or smaller machines will do just fine.
For example, my nextcloud could easily use more resources than the whole Zotac ZBox could house, if there were more users. But as my services are only used by me, most of them are idle most of the time.
Tip at the end about your opsense-VM on Proxmox
I tried letting Proxmox host my pfSense too, but that got old pretty fast. Whenever Proxmox needed a Reboot, my internet was gone too for that time, as the pfSense VM on Proxmox was the gateway to my ISP-modem. In the end, I just bought a real Netgate pfSense appliance.
Have a look at Patrick Kennedy’s reviews on yoochoob under ServeTheHome - there’s some fantastic hardware available now
I ended up buying something from AliExpress, which I was initially reluctant to do - but Patrick’s reviews convinced me
For detailed reviews his site’s got the details from the videos: https://www.servethehome.com/
I run a beelink mini, not the weakest one, not the most powerful one, and it handles docker containers and VMs fine. I don’t have a tkn of integrated storage, but rather this machine handles apps while a separate NAS does all the file storage. Most I ever had running was 2 VMs and a handful of negligible docker containers but I still had plenty of ram and CPU to spare. I also think the minisforum stuff looks good. Their n5 pro nas just came out and would have made a good server with room to grow. I decided against it because I have parts and I want to use them :-) so the beelink is holding down the fort while I Frankenstein together a rig from my old gaming PC in a huge case that will host all my apps and less critical media. Home assistant which will stay on the beelink because it needs high availability. I’ve been curious how the lowest priced minisforum models would fare.
I recently watched a video about Beelink’s factory and was surprised as how high-quality their production process is. Great video. https://youtu.be/ohwI3V207Ts (and if you enable captions, it explains what each process is).
If you have the money for it, buy a dedicated mini PC for Home Assistant and run it on bare metal, you can get one for 65€ from AliExpress.
Having the thing that controls your lights & temperature etc. Separate from everything else is nice
I have a little mini server I built that fits into an old power mac G4 cube shell. I want to do something with GPUs now so that shell isn’t going to be an option anymore. I like the idea of having one box in the basement that does all the heavy lifting and everything just calls into.
For Frigate you can just add a Coral TPU to offload the heavy lifting but with Jellyfin you’ll likely need a GPU/iGPU (Intel) that can handle transcoding. I don’t know what specific models you’re looking at but you might try to determine their passmark score. I think it’s recommended at least 2000 score for a single 1080p transcode. Alternatively you can stick to specific file formats that won’t need transcoding but this might be some work.
You could get a used Dell Optiplex micro. They have i3/i5 processors and can be found for around $100. This will at least get you going and you can always build something later.
Passmark isn’t that useful for measuring transcoding performance, as as far as I know it doesn’t benchmark iGPU performance? Transcoding is done nearly entirely on the iGPU.
My jellyfin works just fine with CPU. It’s an Intel core 7, not a cheap one, but the GPU is not mandatory
Your intel core7 has an iGPU which is what QuickSync is. Its one of the best for transcoding. Even without hardware acceleration the Intel CPU will handle this workload just fine but most of these Chinese mini PCs have ARM chips which won’t come with these benefits.
Edit: I see these Miniforum PCs do have Intel and AMD chips so I was making an incorrect assumption here.
I want to avoid Intel CPUs. I also don’t generally need transcoding for my setup but want the option and aside from Apple, Intel has the best encoders out there right now. AMD has better rendering GPUs but they have historically had absolutely terrible encoders. Nvidia is not getting my business. They can fuck right off.
I’m sorry but you’ll need the Intel cpu if you want jellyfin. You can’t control what devices your users will play the media from, and eventually transcoding will be needed. I think the amd field isn’t doing great just yet on this regard. Any old Intel cpu past the 8xxx series will have enough transcoding ooomph to handle a bunch of simultaneous transcodes, once set. But yeah you need to make sure you have acceleration for the transcodes.
Why do I need an Intel CPU if they sell Intel GPUs separately that have their own encode/decode engines?
That might really limit your options as Quicksync is pretty much the gold standard for efficiency and performance. A discrete GPU works too but you might have trouble finding them in a Chinese mini PC.
I used AMD for years (RX580) but it wasn’t always the best quality and having a separate GPU really sapped a lot more power. I don’t believe ARM processors are really optimized for transcoding either. Under the hood, Jellyfin, Emby, and Plex all use ffmpeg to do their transcoding so maybe you can research more about its performance with each platform.
Again, used is always an option. You’re not giving money to any of these companies by buying used parts and it sounds like this would get you more ‘horsepower’ from your budget than buying a bunch of new stuff.
I am thinking a Ryzen with lots of cores I just pin shit to and an Intel GPU for most things. Supposedly there is work going into SR-IOV support on battlemage but it’s not out yet. The 9000X Ryzen chips supposedly have iGPUs on them too so I wonder if I could throw them at frigate. The encoder just can’t be done on the CPU because AMD has by far the worst encoders, though I’ve heard the new AV1 encoders aren’t terrible.
You can find used Thinkcenters pretty cheap with AMD CPUs. I recently got an M75s Gen2 with a Ryzen 3 4350G for around $100.
Almost my entire (excessive) setup is a bunch of used, off lease tiny/mini/micros.
Most ive bought for about $100, then tossed some minor upgrades to like an m2 ssd, maxing out ram, etc, so under $200 altogether historically. Clustered with proxmox, so I even have high availability.
Yes, minis are great. Just do storage elsewhere, which can be a NAS or a generic box you load up with drives.
But I can’t throw a GPU into a mini for sunshine.
Lots of ppl deploy sunshine on n100 mini PCs with quicksync, you dont really need a gpu that way.
An N100 is not going to do what I want to punish this thing with. I have an N100 build going now. It’s good but it is what it is and it’s not going to handle steam games.
If you’re talking about streaming steam games at 4k, then maybe. But at that point build a dedicated machine.
Sunshine works fine with n100 quicksync for 1080p streaming, plus frigate. I’m running both of these on an 11th gen i5 with a coral tpu for frigate.
Not sure what your “punishment” is for hardware, but your current list really isn’t that demanding.
Throw zenamor and suricata at the OPNsense VM
IDS, L4 firewall and video streaming from the same machine? It can be done.
Should you do it? That’s a lesson I’m gonna leave to you to learn yourself. For personal growth.
With 2 pinned CPU cores, pci passthru of an Intel dual port NIC, RAM disk for logs, it should be fine. I see no issue.
I’ve got three with quadros in them.
There are definitely options. No youre not shoving a full size GPU in there, but there are options.
I’m looking ant intel and AMD GPUs. What fits in these minis?
Depends on the model.
I can say for jellyfin transcoding, the igpu is plenty. The quadros only get used for transcoding and some misc cad use and other such things.
Given the recommended GPU w/ HDR specs for Sunshine - Intel HD Graphics 730 or higher - thats easily accomplished, even used. I couldn’t say how well it runs though as I don’t use it myself.
I wish SR-IOV support was more common. I suspect I will end up with an Intel GPU most things and an AMD GPU on passthru for the games. So needlessly inefficient.
Sr-iov is electrically expensive to implement. You can have it, you’ll just pay more.
I mean, thats what my quadros are. There is an Intel igpu plus the quadro, I find it more efficient because I can dedicate them to tasks more easily.
I agree sr-iov being better adopted would be great, but I also realize I’m not really a candidate either, I find the split approach best for my needs.
NVIDIA is not an option for me. The hardware is great but the company is evil and I won’t give them my money.
I have a Minisforum B550 for various server tasks. It came with a kit that allows you to use full-size GPUs with it.