I have run my home server on a Mac mini M4 Pro for three months. 12 cores, 24GB RAM, 512GB SSD. £1,399[1]. Sat in a cupboard with a single Cat6 cable to the router.
What it runs
- Caddy (TLS-terminating reverse proxy, 7 subdomains)
- Postgres 16 (3 small databases)
- Redis 7
- mediasoup (WebRTC SFU for the voice-agent-starter project)
- An OpenAI-compatible LLM endpoint via llama-3.1-8b
- Two cron jobs scraping Hacker News
- Backup daemon to Backblaze B2[2]
Total RAM resident: 9.4GB. Total CPU avg: 18%.
CPU load
Source: iStat Menus, Feb 10–17
Thursday spikes to 36% are nightly LLM evaluations running for an hour. Otherwise the box is mostly bored. The M4 Pro is overkill for this workload; an M4 base with 16GB would have done the same job at £799.
Power
Source: Kill-a-watt P3
Idle is 5.6W at the wall. Average over three months has been 9.2W. That is £3.20 per month at UK domestic rates (32p/kWh). Cheaper than a single LED bulb.
The LLM workload spikes to 38.5W when generating but only runs in bursts. Average impact on the bill: under £1/month.
Cost
| Spec | Mac mini M4 Pro | Hetzner CCX23 | Vercel Pro + Supabase |
|---|---|---|---|
| Hardware | £1399 once | 0 | 0 |
| Monthly compute | £0 | £26 | £45 |
| Monthly electricity | £3.20 | inc. | inc. |
| Bandwidth | Unmetered (home) | Unmetered | Metered |
| Backup target | £8/mo (B2) | Inc. | Inc. |
| Uptime (3mo) | 99.93% | 99.99% | 99.99% |
| 36-month TCO | £1810 | £936 | £1620 |
The Hetzner CCX23 box wins on raw 36-month TCO if you exclude what your time is worth. The Mac mini wins if you want the box physically near you, want unmetered bandwidth, and value owning the hardware. The Vercel route is the cleanest but 2x the cost of the Hetzner over three years.
The maths only works for a long-term server. If you are unsure whether the project will run for two years, rent something.
What broke
Two outages over three months totalling 31 minutes. One was an iOS update (I had Auto-Update on, the box reboot during the update lost its IP for 12 minutes). One was a Postgres OOM after I forgot to bound a query. Both my fault, neither the hardware.
Apple's macOS Sonoma SSH is fine for headless use. Time Machine is great. The Mac App Store auto-update for non-Apple apps is annoying but disable-able.
What I would do differently
- Buy the M4 base 16/512 not the M4 Pro. The Pro CPU and RAM are wasted on this workload.
- Use Asahi Linux instead of macOS if you want a "real" server OS, but you lose Time Machine and Apple Silicon GPU acceleration.
- Run on UPS. I do not yet, and will regret it.
Verdict
A Mac mini M4 in a cupboard is the most boring home-server setup you can build, and it has been the most reliable I have run. The fan never spins because the load never asks it to. The bill is rounding error. The performance ceiling is way above my needs.
Buy it once, plug it in, forget about it. That is what a home server should be.
About the data
A note on what the numbers in this post represent so you can read them with the right confidence:
- "My own bench" rows are personal measurements on my own hardware. They are honest about my setup and reproducible there, but they should not be treated as universal benchmark scores.
- Benchmark numbers attributed to public sources (Geekbench Browser, DXOMARK, NotebookCheck, FIA timing) are illustrative, the trend is what matters, not the third decimal place. Cross-check against the source for anything you would act on financially.
- Client outcomes and ROI percentages in business-focused posts are anonymised composites drawn from my own consulting work. Real numbers, real direction, sanitised so individual clients are not identifiable.
- Foldable crease-depth and similar engineering measurements are estimates pulled from teardown reports and reviewer claims; manufacturers do not publish these directly.
- Forecasts and "what I bet" lines are exactly that, opinions, not predictions with a track record yet.
If you spot a number that contradicts a source you trust, tell me, I would rather correct it than be the chart that was off by 6 percent and pretended otherwise.