Looking for recommendations for a mini pc server to start self hosting
With all this migration i’ve been inspired to start self hosting some services.
I am looking for a mini pc to ideally run linux and host a media server with radarr and sonarr, pihole and some other stuff as i start getting more into self hosting.
Any recommendations / experiences that you can give? Or some general guidelines on what i should look for or things to avoid.
Make sure you have a plan for hard drive space. Mini computers tend to not have as many bays for hard drives. And since you're doing the media server thing, you'll want to be able to easily drop in more drives at a later time. You could do this with like an external USB hdd enclosure with multiple bays, but if you go with a desktop form factor that wouldn't necessarily be required.
Speaking of hard drives, checkout MergerFS, you can use this to pool multiple hard drives into a single mountpoint so you don't have to worry about moving files around to maximize disk usage. Also, the nice thing about mergerfs opposed to say RAID is all of the drives can be different manufacturers and sizes.
Also, I would personally recommend going with proxmox as your baremetal install and then spin up VM's for the various things you plan to run.
And if you think you might get more into the *arrs (like readarr or lidarr), it's probably worth your time to setup prowlarr.
And if you haven't yet, I recommend learning how to use Docker and docker-compose. There's a bit of a learning curve to start, but you'll save a lot of time and headaches in the long run. Linux-server has some good docs and images to get you started: https://docs.linuxserver.io/
And don't expose your *arrs to the internet, if you plan to share your Plex/jellyfin, then setup Overseer to support requests for new content.
Hopefully this all helps. Feel free to ask me any follow up questions as I have a similar setup (albeit with a bit more going on).
You could use a network drive for this. My server only has 250GB of storage, but I have an 8TB RAID that stores my media. This gets mounted to my server at boot using samba. I did this by adding an entry in /etc/fstab. The network drive (Synology) and my server are connected via a 2.5 Gbps switch.
Thank you for the comprehensive answer! I can see that storage is going to be a big issue here for all the media, I've been recommended in this thread to go for a NAS but their low RAM/high cost plus having to use their proprietary software is holding me back.
Is a mini PC attached to a HDD enclosure a good solution? Won't the USB speed be too slow or that isn't an issue for a media server and the other utilities (I'm more focused on the media server as I am assuming that is the more taxing use case)
Regarding the NAS; I totally agree. Pretty much the same reason I didn't go with one. Maybe it makes sense for folks who aren't comfortable with the Linux command line, but that's really the only time I would recommend a NAS over a regular computer of some sort.
As for speeds over USB, I've been using an external USB drive bay for a few years now and haven't had any issues, and I even stream 4k Blu-ray remuxes over the LAN from it. But it's worth mentioning that my enclosure supports USB 3.2 and wasn't exactly cheap. Link to the one I'm using is below:
https://www.amazon.com/gp/aw/d/B07ND3JNZ6
Oh and regarding the taxing part: yeah, pihole is going to be pretty lightweight (it's designed for raspi after all). Sonarr and radarr aren't too bad either, but probably a bit heavier than pihole. You can certainly expect a lot of reading and writing from whatever your *arrs will use for downloading (nzb or torrent client). And I'm assuming you'll be using Plex or jellyfin, these will probably be heavier than any of the rest, again you'll have a lot of disk I/o activity, but even more so, if you end up needing to transcode your media. Plex/jellyfin by default does this on the fly and will be massively CPU intensive. UNLESS you're able to setup hardware transcoding. You'll want to check Plex/jellyfin's support for hardware transcoding and make sure you get a CPU that is supported by either or plan to get a supported GPU. In the case of Plex I think you'll need the Plex pass or whatever. Otherwise, you can just make sure your media and whatever device you're streaming to support direct playback, but I wouldn't rely too heavily on that, especially if you're sharing access with friends/family.