The advice you get about self-hosting splits into two camps that are both useless. One says pay for a VPS immediately because home hosting is unserious. The other says never pay for anything because free tiers can do everything now.

Both skip the only question that matters: what specifically does free fail to provide, and does your project need that thing?

Here is that question answered concretely. Nothing below is an argument for spending money — most home setups genuinely never need to. It is an argument for knowing in advance which line you will eventually cross, so that when you cross it you recognise it instead of blaming your own configuration.

What free actually covers

More than people expect, and it is worth being precise, because vague gratitude toward free tiers is how people end up paying for things they already had.

Getting online at all. A tunnel service publishes a machine at home to the public internet with no public IP address, no forwarded ports, and no static address. This is fully solved and it is free. If your reason for considering a VPS is "I cannot get in from outside", you do not need a VPS.

HTTPS. Certificates are free and automatic, both through tunnels and through Let's Encrypt directly. This has not been a reason to pay for anything in years.

Bandwidth, for anything text-shaped. A content site, a personal dashboard, a git remote, an API for your own use: the traffic is negligible. Free tiers are not going to notice you.

Compute. A four-bay NAS or a second-hand mini PC will out-specify a $5 VPS on every axis — more cores, far more RAM, vastly more disk. Even a locked-down consumer NAS can run a long-lived service once you know the walls. You are not short of compute at home. You are short of something else.

What free cannot promise

Four things, and they are all the same shape: they are properties of the building, not the software.

Power. One supply, no generator, no UPS unless you bought one. A cut means the site is down until you are physically present or the scheduled task does its job at boot — assuming the boot itself succeeds.

Connectivity. One residential line. Your ISP does maintenance whenever it likes and owes you nothing. Upload is asymmetric and modest, which does not matter for text and matters immediately for video or large downloads.

Presence. Something that needs a hand — a stuck process, a full disk, a failed drive — needs your hand, in that room. This is the constraint people underestimate most, because it is invisible until you are away.

A separate failure domain. Your backups, your tunnel, your monitoring and the thing being monitored all live on one box in one room. When that room has a problem, you lose the ability to observe the problem at the same moment you gain the problem.

Notice what is not on this list: performance, reliability of the hardware, software capability, or professionalism. Those are not what you would be buying.

The four signals you have outgrown free

Not thresholds you should aim for. Signals to watch for, in rough order of how often they actually arrive.

1. Someone other than you is depending on uptime. The moment a real user, a client, or a paying customer is affected by an outage, "I will fix it when I get home" stops being an acceptable answer. This is the signal that arrives first and matters most, and it has nothing to do with traffic volume.

2. You are about to be away. Travel, a move, a hospital stay. A setup that requires your physical presence is fine right up until it does not, and this one you can see coming.

3. Your uploads are the bottleneck. If you are serving video, large binaries, or an image-heavy site to an audience in another region, residential upload is the wall — and no configuration change moves it.

4. Your backups are not somewhere else. If the answer to "what if the NAS is stolen or the flat floods?" is a shrug, the thing you need is not a VPS, it is off-site storage. That is a cheaper purchase than a server and it is more urgent than one. Do not conflate the two.

If none of those apply, you are done. Stay free. The rest of this article is not for you yet.

What to buy, in the right order

Assuming a signal has actually arrived, the mistake is to buy a server first. Spend in this order:

  1. Off-site backups. Cheapest, highest value, and it addresses signal 4 completely. Object storage costs a few dollars a month for a personal-sized dataset.
  2. A UPS. Addresses brief power cuts, which are most power cuts. A one-time purchase, no subscription, and it also protects the disks you already own.
  3. External monitoring. A free uptime checker that lives outside your house tells you the site is down before your readers do. It fixes the observability half of signal 1 for nothing.
  4. A small VPS. Only now, and only for the specific thing that needs to be in a different building. Frequently that is not the whole service — it can be just the tunnel endpoint, or a mirror of the static site, while the heavy storage stays at home.

Steps 1 to 3 handle most of what people buy a VPS to solve, at a fraction of the cost. If you skip them and buy the server, you will own a server and still have your original problem.

A note on what this site has not tested

This article deliberately names no VPS provider. I run at home, and I have not personally put this site's workload on a paid host, so any provider comparison from me would be repackaged marketing copy rather than experience. That would be worth less than nothing to you.

When that changes, the write-up will be of an actual migration with actual numbers, and it will say what went wrong.

When it's worth paying

Free is not a compromise for self-hosting at home. It is the correct default, and it covers getting online, encryption, bandwidth, and compute completely.

What money buys is not capability. It is someone else's building — their generator, their redundant connection, their staff at 3am. That is the entire transaction. It becomes worth it the moment your own presence stops being a reasonable dependency, and not one day before. Until then, the cheapest and most honest infrastructure decision available to you is the one you are already running.