I have been running a home server for about some years now.
And no, it's not an Intel dual-Xeon or anything crazy like that. My home server has actually always been an ARM box.
The first one I ever did, was with the Raspberry Pi 1 Model B with 512 MB RAM (I think it was). It's job was to serve my Samba shares to my other devices and be a torrent seed box for some Linux distributions.
It has been switched out a couple of times over the years, ranging from other Raspberry Pis, Odroids, even a RockPro64 and it's now a Raspberry Pi 4 with 8 GB RAM. But it's also running way more stuff now, than it was back in the day.
Let me give you a quick overview of what the server is actually doing these days:
- Jellyfin server
- Home Assistant
- This very blog!
- A backup of my website
- My test matrix (synapse) server
- Test Nextcloud server
- Traefik reverse proxy
All these things are running in docker containers and I try to keep the configurations on external volumes, for easy backup and re-installation.
But let me tell you. The Raspberry Pi is not even breaking a sweat over this. Only when a couple of people are watching stuff that needs transcoding on Jellyfin, does the Pi actually need to do serious work.
The box itself is a Raspberry Pi 4 Model B with 8 GB of RAM, a case with a fan in it, USB-C power supply, an 8GB SD card, a 2 TB external USB3 harddrive and a Gigabit ethernet cable plugged into my home consumer-grade switch. So it's by no means a professional setup, but it's great for home use. I keep the box in the attic of my house, because that's where the switch is, it means less wires down in the living area and the fan in the Raspberry Pi case actually makes a fair bit of noise, that would annoy my wife.
The attic do get hot in the summer, but that's why it has a fan, but it's really cool in the wintertime. It's running Manjaro ARM of course, but I set it up with the btrfs filesystem. Not because I needed to, but because snapshots are handy on a server.