I’m looking at various single board computers ( think raspberry pi) to host a server on. Namely for hosting media, an email, and perhaps a web site/fediverse instance/blog/forum on.
I’m under an assumption that a SBC and some hard drives could handle this on the hardware side. Am I totally off the mark? And what kind of os and other soft wear should I consider using?
spoiler
You’re not off the mark. It’s a great idea for a low traffic server that doesn’t guzzle electricity.
I suggest an SBC with 4GB RAM (or more) and 4 cores, though you could probably get by with a bit less. If you use a Raspberry Pi, make it version 4. If you’re going to use mechanical hard drives (good value for bulk storage) consider a board with native SATA or PCIe for lower interrupt overhead and better SMART access than a USB bridge would provide.
Debian is a great server OS. There are derivative distributions (e.g. Armbian & Raspbian) for boards that aren’t supported by mainline Debian.
Software will depend on your needs as a user and your preferences/experience as an admin. If you end up wanting something like Docker, you might want to try Podman instead, as it’s less resource-hungry.
Also, check out the self-hosting forums. You’re likely to find more people doing the same sort of thing.
With the price of a lot of the SBC’s you will probably be better of going for something like as dell 3050 with a gen7 or above in it. I picked up a gen7 dell 3050 with 4Gb and a 500Gb disk for £50. Threw in a 1tb nvme a 120gb ssd and a spare 500GB ssd I had. Installed Debian with KDE , then i set up the drive shares via sftp, installed Docker and setup the various docker containers such as freshrss, kodi, Firefox ,Pi-Hole etc.
What ever route you go have fun starting you journey in the world of self hosting.
That’s what I started on! Honestly, RAM is likely to be your biggest bottle neck. Pretty much anything will be doable though, with enough swap and a fast drive. Just don’t expect great performance.
There are small form factor PCs that you can get used and they will have more power, IO, better compatibility, and be cheaper than a raspberry pi.
There are YouTube videos about it and they are not much bigger than the size of a pi.
Their initial cost might be more, but if you get a case and sd card and micro-hdmi adapter you can totally get a better system.
An Orange Pi 5 Plus would work well for a small web server and some storage.
It’s got an 8 core CPU, 16GB of RAM, dual 2.5G ethernet, an M.2 slot for an NVMe SSD, and 2 USB 3 ports.I have a few thoughts,
- Self hosting email sucks. Unless you just want the learning experience, pretty much major email service will mark your address as spam. I’d just get the lifetime account on mxroute (pretty sure it’s still available).
- I have tried using raspberry pi (3B) as media / file server. It’s running, but for some reason, the HDD won’t spin down even when no one’s accessing the drive. The drive is extremely hot and loud. Gave up on that.
- That said, everything else would work just fine. My pi is running pihole, octoprint, and CUPS. And it barely need any maintenance.
I run a full blown home server rather than a raspi server so take my opinion with a grain of salt. But Ive heard of alot of people say yes thats possible. But i can imagine it overloading very quickly though. Not the same, but the VPS im running my lemmy instance from couldnt handle the matrix server i was testing with bots and other integrations (2 vcores, 2gb ram). You could get away pretty well an i3 or i5 if power consumption isnt a massive concern, doesnt even need to be new hardware either. You might even find a second hand machine for as much as a raspi as well.
Being a desktop CPU, you will have more available power should you outgrow your current needs from an SBC/raspi.
An additional advantage is if you are hosting your own videos, you can use quicksync on 8th gen intels (and onwards) without needing a gpu, and you can transcode multiple streams at once.
A different kind of advice: be vigilant with security updates, and remove services you’re not using.
Using insecure software makes it likely you’ll get hacked sooner or later, especially if automated scans can find your server. (For example because it’s listed in a search engine, or part of some network like the fediverse).Yeah, a pi could probably do that, I know everything except the fediverse instance will work, and the fediverse instance may, I’ve just never tried it, so I don’t know!
One suggestion I’d make is this: A lot of tutorials these days will have you set things up in Docker. Docker is a great tool, and at some point in your journey you should learn how to use it, but it does sort of abstract away a lot of the services you’re running.
I had an old MacBook Pro laying around so I put docker on it for fun.
it’s currently running an apache web server for me (with php) and has been rock solid. (I used to use mamp.)
I also run homebridge for my Apple Home on the mbp. homebridge uses brew (from brew.sh) for install/dependencies/etc.