SelfHostCost

What self-hosting actually costs

Every comparison here prices the server, the backups and the hours it takes to look after, then puts that against the vendor's own published price. Sometimes self-hosting wins by an enormous margin. Sometimes it loses. We publish both, because a comparison that always reaches the same conclusion is not a comparison.

Comparisons
24paid product against self-hosted tool
Tools priced
30with a published sizing model
Prices read from vendors
8on 2026-09-12
Where self-hosting loses
14of those comparisons, at 10 people

Where the gap is widest

Largest 36-month saving at 10 people, your own time already deducted.

Instead ofRunTheir priceYoursSaved over 36 months
Zendesk FreeScout $638 $51.90 $20,934
Zendesk Chatwoot $638 $283 $11,579
Zendesk Zammad $638 $283 $11,579
Notion BookStack $226 $51.90 $6,119
Notion Outline $226 $141 $2,601
Notion Docmost $226 $141 $2,601
Notion AFFiNE $226 $141 $2,601
Atlassian Statuspage Gatus $99.00 $42.30 $1,891

And where it does not pay off

These are the comparisons where the paid product is cheaper once your hours are priced at $75. Self-hosting them is a choice about control, not about money.

ProductSelf-hosted optionTheir priceYours
Google Analytics 4 PostHog $0.00 $340 why
Google Analytics 4 Plausible Analytics $0.00 $141 why
Google Analytics 4 Matomo $0.00 $141 why
Zapier Activepieces $29.99 $141 why
Zapier Windmill $29.99 $141 why
Zapier n8n $29.99 $127 why
Typeform Formbricks $56.00 $141 why
Google Analytics 4 Umami $0.00 $51.90 why

By category

How this works

A paid seat has no floor and a steep slope: ten people cost ten times one person. A server has a high floor and almost no slope: the same machine serves ten people or a hundred. Every comparison on this site is really just the point where those two lines cross, and that point moves depending on how heavy the tool is and what your time is worth.

We size each tool from its own documented requirements where they exist, pick the smallest server plan that actually fits, add backups, and add the hours. Prices carry the date they were read and a link to the page they were read from. When we have not checked a price, we do not publish a figure that depends on it. The full method is here, including everything the model deliberately ignores.