I use a headless Raspberry Pi 4 connected via USB to an external 2TB SSD and host
- Nextcloud
- Pihole w/Unbound
- Transmission
- Jellyfin
- Webmin
- Apache webserver with a personal static webpage
- Soon to host my own Lemmy instance
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I use a headless Raspberry Pi 4 connected via USB to an external 2TB SSD and host
A colleague at work said he was running a Raspberry Pi but in the end had to move to a more powerful system because he needed more power. AFAIK he’s use case is lighter than what i plan so i thought it wasn’t a viable solution. What you describe sounds very nice, especially because of the price of the Pi.
Would love to hear more people’s experiences with this setup.
While PI prices are starting to come back down to earth, they are still heavily inflated if you want enough RAM. then you usually want to add the cost of an enclosure and SD card, power supply, HDMI adaptor if you need a screen etc.etc.
I got an intel N95 powered miniPC with 8gb ram and 128gb ssd for less than the current going rate of a PI4 8GB, so sometimes they aren't the best option. great little chip
I'll be replacing a pi4 and 2 pi3's with that little guy.
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.
You're essentially paying for an extra server though.
Ah, I suppose so. For me, it was something I already had for other purposes.
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.
Maybe stating the obvious, but don't skip over older laptops if you can get your hands on them. Especially because the CPUs are already optimised to be power efficient. They also come with a built in UPS that even in bad cases will still be good enough for 15 minutes or so, which is good enough for 99% of the power cuts. Only down-side: lack of SATA ports, but that is more or less the same with mini-PCs.
I'd be a bit wary of using a laptop. I use one (Dell XPS 13 9310) for a development DB server, and despite all the Windows power saving features being turned off, it goes to sleep after a few hours unless I keep an RDP connection open.
Obviously you would install Linux on it. Absolutely no difference to a regular server then.
Yeah that would no doubt help.
I'd also be a little concerned about laptops not being designed to be on 24/7. The fans and the heat dissipation wouldn't be as good as in a dedicated box, so components might not last as long.
You can usually buy replacement fans pretty cheap. I run an old framework laptop motherboard as my server and if the fan ever craps out I can get a new one for 40 bucks.
I agree that other components might not last that long due to heat but if you already have the equipment sitting around and its not a production environment why not use the hardware until it fails?
My plan is whenever I upgrade the motherboard in my laptop I will add the old one to my proxmox cluster. Double upgrade! Faster laptop and more compute for the homelab :)
The Framework laptop is interesting with its removable motherboard that you can put in a separate case when you upgrade the laptop.
https://www.theverge.com/2023/3/23/23652939/framework-cooler-master-sff-pc-case
Have someone 3d print a custom encloser for you that can also house an independent cooling system. It could even be made temperature sensitive if you choose.
You can usually buy replacement fans pretty cheap. I run an old framework laptop motherboard as my server and if the fan ever craps out I can get a new one for 40 bucks.
I agree that other components might not last that long due to heat but if you already have the equipment sitting around and its not a production environment why not use the hardware until it fails?
My plan is whenever I upgrade the motherboard in my laptop I will add the old one to my proxmox cluster. Double upgrade! Faster laptop and more compute for the homelab :)
I've had mostly good luck with lower end NUCs. I say mostly because of 3, one died a hard and abrupt death after 2 years; but the other 2 have been fine going on 2 years now. The only problem with NUCs in general is they tend to be over priced. If you can find them on sale they are totally worth it. As others have pointed out, you should have a plan for more storage. Personally I've found a good usb hub and some external disks work great for what I do. As to why I like them: 1) form factor, low profile cube, 2) they happily run headless, 3) hardware seems to be of decent quality (ignoring my i3 box that never turned back on after a reboot), 4) most models have enough I/O to fit your needs.
I got myself a used/refurbished Lenovo ThinkCentre M910q Tiny, which works pretty well. Put in more ram and bigger storage and it is pretty beefy now as well as silent.
Sam here, its just M710q I believe, got ir second hand. It came with 16GB RAM and 512GB nve and 1TB SSD, added an external 8TB drive for storage, and ir works fine.
Intel NUC is probably the best choice - silent, possible to have two SSDs, pretty low powered.
Personally, I did settle with 13 Dell optiplexes 9020 SFF
If you buy used clean out the fan on em. Decent amount of them just get a caked layer of dust blocking the fan
I replaced my aging NUC with a Minisforum SFF box and am also very happy with it. Footprint is slightly larger, but actually find it much quieter. The NUC was basically silent 90% of the time too, but it had an annoying high pitched whine if you were doing something very CPU-intensive.
Depending on model they can support up to 2 m.2s and a 2.5" drive.
A few years old prebuilt for the office can work well, I have an HP 290 and HP S01 that work great as servers.
That’s what I did as well. Got one with a sixth gen i7 for $100 on eBay a few years ago. It’s been chugging along nicely.
Same here. I have everything running on an ex-lease HP EliteDesk. Small footprint, and quite upgradable. Think I paid about £150 for it and it's been running quite happily for a couple of years. Runs everything I can throw at it.
I don't know why people buy RPIs anymore, unless the tiny form-factor is a must have.
You can also use hosts like linode with $100 credits to try out self hosting with no investment at all. If you need a coupon code, let me know.
I have a big enough house to be able to put this machine somewhere out of the way but there are plenty of cheap server gear on classifieds. I paid ish 300 euros for a 32 core machine with 40gb ram. I can host all the things without it even breaking a sweat.
Probably uses a lot more electricity, but I haven't really noticed it on my power bill
I use a few used Dell Optiplex 7050 Micros, they’re great for the price (and have a small footprint too!)
Edit: for storage I have a HP MicroServer Gen. 10 plus
I went with a used Optiplex for my Plex server. I rarely transcode anything so I didn't need much power
Originally I had planned to do what you’re doing and use a mini PC to upgrade from my pi4 eventually what I did was get a Mac Mini and keep the pi for pihole and dhcp.
Not saying you should get a Mac mini m2 but the power consumption was the main push for me to go down that route cause remember you’re running the thjng 24/7 for years and depending where you live electricity isn’t cheap. (I pay 32.5p per kWh)
Considering the cost the same as a decently mid range mini pc (i got mine for £500 new) it makes sense.
If you’re looking at a cheaper budget try finding something at least 8th gen intel and up for better power savings
I bought a Morefine N100 recently, it's a great device. Support 1 NVMe and 1 SSD 2.5, you can use both combined in RAID and even backup options in the cloud or on an external disk through the USB3.0 ports.
Quicksync for Plex/tdarr works great on the latest version of Debian Bookworm.
Depending on where you're at in the IT space it's entirely possible to start with an old desktop system and build from there. If you get into things heavily though memory space can quickly become a bottleneck. I just recently upgraded a couple parts of mine so the principal host is a Dell R820 which has the potential for 4 multi-core processors and around 1.5TB of memory, should cover everything for a while outside of the storage and security side of things. Going to a place like the site above is a fine way to get some low cost hosting gear custom built to your specs. I think with reusing the drives I had already it was under $800 all told and has plenty of room to grow.
Another vote for Asrock Deskmini. I’ve had an A300 going for a while now. It started off just doing a few things on Docker, it’s now been repurposed as a Proxmox host. The nvme plus 2x 2.5” sata is very useful for storage options, and you can put some reasonable desktop CPUs in - subject to cooling, of which you can get a very low profile replacement if you need to. As there’s no video on the motherboard and no space to fit a PCIe (let alone the video card) you are restricted to CPUs with onboard video, which I think is more of a restraint for the AMD version than the intel, but even so there are enough options in the AMD lineup if you need firepower.
The Noctua NH-L9a-AM4 is an excellent cooling solution that juuuust fits in the case. One thing to just clarify is that the deskmini requires a GPU - it can't be run headless at all.
It really is excellent. It's my home server and it hasn't broken a sweat running dozens of services. Jellyfin can use the GPU for video transcoding on the fly too, so that helps make that not a complete waste.
I'd recommend to start with a mini-pc, or something like Odroid H3. I love my Odroids and can highly recommend them. It has two SATA, NVME, supports up to 64 GB RAM and dual 2.5 GBe - I couldn't imagine a better machine to start with at that price.
Intel NUCs are a great mini PC option (while a little expensive)
Asrock Deskmini x300. Great little home server :)
I would head over to https://forums.serverbuilds.net/ and chat with the nice people there. They specialize in used hardware, both consumer and server-grade stuff.
There's lots of ways you can take this, but from my perspective the best place to start is a NAS (preferably one with Docker and VM capabilities like Unraid). That will open up a big rabbit hole for you to explore.
My worries with a NAS is their very small RAM (on NAS of reasonable price). When running several docker containers i fear that might be an issue if suddenly several *arr are downloading, pihole, tailgate... all running at the same time might mean that the NAS with 1GB (and t these are already expensive, most I've seen more on my budget are half of that) of memory might not be enough (i think).
Ah, yeah, I suppose if you're talking about an off-the-shelf NAS, that would be a concern. I'm more talking about a custom build like the NAS Killer line from serverbuilds.net (https://forums.serverbuilds.net/t/guide-nas-killer-5-0/3072)
It's really a proper server that includes NAS functionality along with whatever else you want to do with it.
I am running openmediavault on a HP workstation I bought off ebay. I paid less than $100 dollars for it I think 10 years ago. I have jellyfin set up for media. I should probably upgrade as it is an old Core 2 Quad.
If you just want something small and fun to play with Linux and containers try looking for used Chromeboxes. Just bear in mind that going down the *arr app rabbit hole usually means building something with more storage.
I just built a Server using J5040 board. With 16gb ram (yes it works) a 500gb m.2 as system , 2x4tb ironwolf as ZFS mirror pool, 350 W power supply all in the node 304 fractal case for 550 euro.
Runs proxmox as hypervisor for VM or Container. As example LXC container for motioneye and syncthing
sounds like you need newegg.com. I build a new PC every few years and they have most things you want. tom's hardware usually has reviews and lists. couple sites I can't remember help with parts compatibility. use the search https://www.newegg.com/
Newegg is unfortunately not as good a source as in years past. I have two good friends who got burned by them with very suspicious defective product return problems. When it happened I read about many more similar complaints.