The original post: /r/selfhosted by /u/Bill_Guarnere on 2024-11-10 16:38:00.
It’s been a while since people seems to prefer miniPC to ARM SBC as home servers, and honestly I don’t really understand this trend, ARM SBCs still are relevant and in most case are the best solutions imho.
I live in a country where electricity is not cheap at all, and I think my use case can be extended to many other people in the same continent (EU), and because we’re talking about a system with 24/7 uptime power consumption is a priority at the same level as decent performance.
For a fair comparison I will consider only NEW hardware.
As miniPC platform I think we all agree that today the most interesting one is N100, while a complete idle N100 system can absorb around 6W, a more realistic setup with things running on it will absorb around 14-20W. But N100 prices are no joke, at least in my country:
- an N100 motherboard cost is between 120 and 140 €
- +20 € for 8GB of DDR4
- +20-30 € for an external PSU or a cheap ATX PSU
At the end of the day you’ll spend at least 160 €, and I’m not considering the cost for a case.
As SBC ARM platform I still consider Raspberry PI as the reference board, the reason is quite simple, its support and its reliability still are the best imho, but as we know there’s plenty of different produces and platform at lower costs.
- RPi5 8GB can be easily found for 85 € in EU (or 80$ in the USA)
- +6 € for the official cooler+fan
- +13 € for the official PSU
The total cost starts from around 104 €
Now let’s take a look to a real RPi5 8GB power consumption, included a USB SATA SSD, as you can see we’re under 5W
You may think this is a completely idle system, let me show you what I’m running constantly on this RPi5:
- Authentik (+ dedicated Redis + dedicated Cloudflare daemon + dedicated PostgreSQL)
- Bookstack (+ dedicated MySQL)
- Gitea (+ dedicated MySQL)
- Grafana
- Prometheus
- Got Your Back instance 1
- Got Your Back instance 2
- Got Your Back instance 3
- Home Assistant
- Immich (+ ML + dedicated PostgreSQL + dedicated Redis)
- Jellyfin
- PhpIPAM (+ dedicated MySQL + Cron application)
- Pihole
- Roundcube
- Syncthing instance 1
- Syncthing instance 2
- Syncthing instance 3
- Ubiquiti Unifi Network Application (+ dedicated MongoDB)
- Vaultwarden (+ dedicated Cloudflare daemon)
- Watchtower
- Wireguard
- Wordpress website 1 (+ dedicated MySQL + dedicated Cloudflare daemon)
- Matomo website (+ dedicated MySQL + dedicated Cloudflare daemon)
- Wordpress website 2 (+ dedicated MySQL + dedicated Cloudflare daemon)
- Wordpress website 3 (+ dedicated MySQL + dedicated Cloudflare daemon)
- Nagios
On top of that my RPi5 act as:
- nas server for the whole family (samba and nfs)
- backup server repository for the whole family (+ night sync on a 2nd nas server turned on via wake on lan and immediately turned off after sync + night sync on Backblaze B2)
- Collectd server
- frontend webserver for all the other services with Apache httpd
You may think performance is terrible… well
This is an example of SMB transfer rate from and to the RPi5 while running all the things I listed before.
The websites and services response rate is… how can I say… perfect.
Previously I used VPS from OVH, from Hetzner, from other service providers, and honestly my websites performance were way worst, moving those sites to docker containers on RPi5 was a huge upgrade in terms of performance.
Considering the average cost of the electricity in my country:
- a RPi5 will cost around 5,36 €/year
- a N100 will cost 16 €/year for 15W of absorbed power, 21,43 €/year for 20W
This may not seems a lot of difference, but if you consider that in this scenario these two systems have no real performance difference, the power cost is very significant imho.
Some will argue the N100 can be easily expanded, fine but we’re still talking about a single RAM slot with 2 SATA ports, and a single PCIe slot, in case of a RPi5 we have a PCIe expansion with plenty of hat boards (and also a 5 sata slots hat board available on the market), so the expandability argument is less and less significant imho.
Even the RAM expandability of a miniPC platform is not such a strong argument considering this kind of usage, 8GB is a good amount of RAM.
Just to have a comparison this is the RAM consumption of all the stuff I’m constantly running over my RPi5 I reported before, and as you can see from the sw list I’m not doing any optimization or service consolidation (any service requiring a database has it’s own database instance, same for cloudflared)
As you can see at the end of the day a good old RPi can still be a strong contender as a home server:
- it’s easily available almost everywhere (luckily the shortage phase is ended a long time ago)
- it’s not as expensive as many people think
- its performance are perfectly in line with a miniPC platform as home server
- it’s much more compact and easy to place everywhere in your home, and thanks to its power consumption you can place it even in a drawer if you want
- it’s way more flexible in terms of expandability compared to previous generations SBCs
Imho we have to be more honest and don’t exclude ARM SBCs as home server platforms, in most case they’re still the best solution imho.