← All Articles

Homelab vs. Cloud: The Real Cost After 2 Years of Self-Hosting

Two years ago I projected self-hosting would beat my cloud subscriptions in under a year. Here is the actual 24-month ledger, including the costs I did not predict and the subscriptions I went back to paying.

cost-analysisself-hostinghardware

Some links in this article are Amazon affiliate links. If you buy something, I get a small commission at no extra cost to you.

Two years ago I ran the numbers on self-hosting and concluded I would break even somewhere between month seven and month ten. Then I actually did it, kept receipts, and let 24 months go by.

The projection was right about the direction and wrong about the shape. I did come out ahead. I did not come out ahead on the schedule I predicted, and the reasons why are more useful than the final number.

This is the retrospective. If you want the forward-looking projection instead, that lives in self-hosting vs. the cloud, and the year-one accounting is in how much a homelab actually costs.

What I predicted

The original model was simple. One N100 mini PC at $155, amortized over 36 months. About 15 watts continuous. A domain. Open source software at zero.

Line itemProjected monthly
Hardware amortization$4.31
Electricity$1.40
Domain$0.71
Software$0.00
Projected total$6.42

Against a cloud stack I put at $22 to $27 a month. Break-even in under a year, then indefinitely net positive.

What I actually spent

Here is every dollar that left my account for homelab purposes across 24 months. Not the plan. The receipts.

ItemCostWhen
Beelink S12 Pro (N100, 16GB, 500GB)$155Month 0
2TB SATA SSD for bulk storage$95Month 3
16GB to 32GB RAM upgrade$48Month 8
Managed 8-port switch$42Month 11
UPS$135Month 14
External USB drive for offsite rotation$68Month 16
Second mini PC (used ThinkCentre)$85Month 19
Domain renewals (2 years)$34Ongoing
Electricity (24 months)$41Ongoing
Total 24-month outlay$703

That is $29.29 a month averaged across two years, which is worse than the cloud stack I was replacing.

Except that number is misleading in the other direction, because most of it is hardware I still own and will keep using for years. This is the part cost comparisons usually get wrong in one direction or the other: raw outlay overstates the cost, and pure amortization understates it while you are still in the buying phase.

The three line items I did not predict

Storage was not optional. The original 500GB drive was fine until Immich started ingesting a decade of phone photos. That was month three. Anyone self-hosting photo backup will hit this. Budget for it up front rather than treating it as a surprise.

The UPS was not optional either. I lost a Proxmox host to an ungraceful shutdown in month 13. It came back, but the ZFS pool needed attention and I spent an evening I did not want to spend. The UPS in month 14 was a direct response. If you are running anything you would be annoyed to lose, read the UPS breakdown before you learn this the way I did.

The second machine was entirely my fault. Nothing required it. I wanted somewhere to break things without taking down the services my household actually uses. That is the upgrade spiral, and it is real. I flagged it as a risk in the hidden costs piece and then did it anyway.

Electricity, notably, came in under projection. I budgeted $1.40 a month and averaged closer to $1.70 across two machines by the end, which is still nothing. Power is the line item people worry about most and it consistently matters least at this scale. The full measurement method is in homelab power usage.

What the cloud side actually cost

The other half of the ledger is what I stopped paying. Here is what actually got cancelled and stayed cancelled:

ServiceReplaced withMonthly saved
Google One 2TBImmich + local storage$10.00
1Password FamilyVaultwarden$5.00
Commercial VPNTailscale free tier$4.00
Document scanning subscriptionPaperless-ngx$6.00
Note sync serviceSyncthing$3.00
Total monthly avoided$28.00

Over 24 months that is $672 I did not spend on subscriptions.

The honest caveat: I did not cancel all of these on day one. Realistically each one ran in parallel with its self-hosted replacement for a month or two while I convinced myself the replacement was trustworthy. Call it $60 of overlap across the whole migration. That is a real cost and nobody includes it in their break-even math, including me, two years ago.

The subscriptions I went back to

Two of them.

Email. I tried self-hosting it. I lasted about six weeks. Deliverability is a full-time adversarial problem and losing a single important email costs more than a decade of the subscription. I pay for hosted email and I expect I always will.

Off-site backup. I run local backups and I rotate an external drive, but I also pay about $2 a month for cloud object storage as the third copy. Self-hosting does not exempt you from 3-2-1, and the cheapest correct answer for the off-site leg is renting someone else’s disk. That $2 a month buys a category of protection my homelab structurally cannot provide itself.

Neither of these is a failure of self-hosting. They are the two places where the cloud is genuinely the better product, and pretending otherwise is how people end up with a homelab that is worse than what they replaced. What is actually worth running at home goes through this category by category.

The 24-month ledger

Amount
Total spent on homelab$703
Subscription overlap during migration$60
Subscriptions I resumed (24 mo)$48
Total cost$811
Cloud subscriptions avoided (24 mo)$672
Net position at month 24-$139

Two years in, I am about $139 down.

That is not the result the projection promised. It is also not the result it looks like, because $703 of that spend bought hardware with years of life left in it. Strip out the second mini PC I did not need and the picture at month 24 is roughly break-even. Run the same hardware forward another 12 months with no new purchases and the position swings positive by around $300, because the recurring side is now about $2 a month against $28 avoided.

The break-even I predicted for month nine actually lands somewhere around month 27 to 30, and it lands there because I kept buying things, not because the underlying math was wrong.

What the second year actually changes

Year one is a hardware year. You buy the machine, discover what it cannot do, and buy the thing that fixes that. Almost every cost model, including the one I wrote, treats year one as representative. It is not.

Year two is where the model becomes true. My month-24 recurring cost is about $2. The savings rate is about $28. Nothing in year two required a purchase except the drive I chose to buy. That is the steady state everyone projects from day one, and it takes roughly 18 months to actually arrive at it.

If you are deciding right now whether to start, the useful reframe is this: you are not buying a monthly saving, you are buying an asset with a long payback and a running cost near zero. That is a fine thing to buy. It is just a different thing than the one the break-even charts advertise.

Would I do it again

Yes, and I would do three things differently.

Buy the storage with the machine instead of three months later. Buy the UPS before the outage rather than after it. And be honest that the second host was a hobby purchase, not an infrastructure one, so it belongs in a different budget line entirely.

The $139 I am down at month 24 buys me photo backup nobody mines, a password vault I control, documents that are searchable and mine, and a working understanding of how all of it fits together. I would pay more than $139 for that, which is ultimately the answer to whether the math works.

For what the stack looks like now, see my current homelab stack. If you are starting from zero, how to start a homelab covers the hardware decision through the first running service.