Skip to main content
Infrastructure Strategy9 min read

How Much Does Self-Hosting Actually Cost? A Realistic Breakdown

What self-hosted infrastructure really costs at 20, 50, and 100 people — and the setup and ongoing costs most comparisons quietly skip.

Most cost comparisons for self-hosting either lowball the setup or skip the operations entirely. The number you usually see — "$25 a month for a server" — is technically accurate and practically misleading. It's the infrastructure cost. It's not the cost of running the thing.

The conversation that surfaces this usually starts the same way. A finance lead looks at the SaaS renewal quote for a 50-person team and notices the total has crept past $1,500/month — Google Workspace, Slack, Notion, a marketing tool, a few automation subscriptions, all scaling with headcount. Someone asks "what's the alternative" and ends up googling. What they find online is mostly tutorials that talk about server costs in isolation, or vendor blogs that show a $25 server next to a $1,500 SaaS bill and let the reader draw the obvious conclusion.

The math gap is real. The framing is incomplete. Here's the honest version.

The three categories you're actually paying for

A complete self-hosted migration has three cost components, and you need all three to compare apples to apples with your current SaaS bill:

  1. Infrastructure — the server, backups, domain, occasional small services. Public pricing, anyone can verify, easy to estimate exactly.
  2. Setup — one-time work to deploy the stack, migrate your data, configure deliverability, and onboard the team. Highly variable depending on what's being replaced.
  3. Ongoing operations — the work to keep it running. Updates, backup verification, monitoring, incident response. Either someone in-house does it, or you outsource it.

The first one is what every comparison shows. The second is what most comparisons skip. The third is what determines whether self-hosting actually works for your team or quietly falls apart six months in.

Infrastructure: the part with public pricing

This is the easy part. A VPS from a reputable provider — Hetzner, DigitalOcean, Vultr — runs the full stack for most teams. The numbers below cover the server itself, automated backups, and object storage for data backups. Domain costs are negligible (~$15/year).

Team sizeServer specsApproximate monthly cost
20 people4 vCPU / 8 GB RAM / 160 GB$20–30
50 people4–8 vCPU / 16 GB RAM / 320 GB$40–60
100 people8 vCPU / 32 GB RAM / 500 GB+, often two servers$80–120

If you go with Hetzner (European pricing, very competitive), these numbers can be 30–50% lower. If you go with AWS or Google Cloud (which we don't recommend for this use case), they can be 2–3× higher. The middle band above reflects what most teams actually deploy.

What's included in this number: the server, NVMe storage, generous bandwidth (most providers give 20 TB/month), automated daily backups, an off-site backup target. What's not included: setup work, ongoing operations, or any human time.

What the team is paying for SaaS today

For comparison, here's what a typical SaaS stack costs at three team sizes. Pricing reflects annual billing (the lower rate teams negotiate) for the standard tier each service offers in 2026.

Tool20 people50 people100 people
Google Workspace Business Standard$280$700$1,400
Slack Pro$145$363$725
Notion Plus$200$500$1,000
Mailchimp Essentials (10k / 25k / 50k contacts)$135$270$400
Monthly SaaS total$760$1,833$3,525

Most teams have more than four SaaS subscriptions — add Zapier, a password manager, a CRM, a video conferencing add-on, and the total climbs higher. The four above are the consistent ones, present in nearly every business at this size. (What a complete Google Workspace replacement looks like goes into the specific tools that replace each piece of the SaaS stack.)

The savings story compares your SaaS bill ($760–$3,525/month depending on team size) against your infrastructure bill ($20–$120/month). At 20 people the gap is roughly $700/month; at 100 people it's roughly $3,400/month. Those are infrastructure-only numbers, and they're the cleanest comparison anyone can make.

But the comparison isn't complete until you account for setup and operations.

Setup: the cost most comparisons skip

Deploying a working self-hosted stack means more than running a few Docker commands. A production-ready deployment involves: configuring the server, deploying each application with appropriate security settings, setting up SPF, DKIM, and DMARC for email deliverability, migrating data from existing tools (file storage, email history, calendars, contacts, sometimes documents with custom formatting), configuring backups and verifying they restore, training the team on the new tools, and running old and new systems in parallel through cutover.

Done in-house by an experienced systems engineer, this is 20–40 hours of focused work — and the cost of getting it wrong is higher than the cost of the time. A misconfigured email server damages deliverability for weeks. A skipped DKIM step lands legitimate mail in spam. A backup configuration that runs but doesn't restore is worse than no backup at all.

Done as a managed migration, this is what TrySelfHost (and other firms in this space) does as a one-time engagement. The exact scope depends on what you're replacing, how much data is moving, and how many systems are involved. Rather than publishing a number that sounds precise but isn't, the assessment call produces a specific quote for your specific situation — what gets migrated, what doesn't, what the timeline looks like, what's included.

Ongoing operations: the part that decides whether this works

The risk people underestimate isn't the setup. It's what happens six months later.

Self-hosted email has a property that makes ongoing operations particularly important: deliverability is fragile and slow to recover once it's damaged. A missed update, an unmonitored bounce rate spike, a feedback loop complaint that nobody saw, an SSL certificate quietly expiring — any of these can affect inbox placement for weeks. By the time someone notices the open rate dropping, the damage is several campaigns deep.

The same logic applies to the rest of the stack. An unpatched Nextcloud instance is a security incident waiting to happen. A backup that's running but failing silently is the worst kind of failure. A user account that doesn't get cleaned up when an employee leaves is a compliance issue.

You have two realistic options for ongoing operations:

In-house. Estimate 2–4 hours per month of focused attention from someone who knows the stack — applying updates, verifying backups, monitoring logs, handling occasional user issues. The cost is the time. The risk is what happens when that person is on vacation, leaves the company, or just gets too busy to keep up with the maintenance window.

Managed operations. A monthly retainer that covers updates, backup verification, monitoring, incident response, and being the person you call when something looks wrong. This is what we offer at TrySelfHost as a separate optional service from the setup engagement. The cost depends on the stack complexity and scale — quoted as part of the assessment.

For most teams without dedicated infrastructure staff, managed ops is the right tradeoff. The whole reason to self-host is to stop renting access to your own tools — not to inherit a second job.

The hidden costs people miss

Migration disruption. Both systems run in parallel for two to three weeks during cutover. The team uses the new tools while the old ones stay live as a fallback. There's some adjustment time per person — typically a week of light friction, not a month.

Team adoption. Some people pick up new tools instantly. Others want a guided walkthrough. A live onboarding session for the team reduces this friction substantially; without one, expect more support questions in the first month.

The cost of doing it wrong. This isn't a hypothetical. A self-hosted email server with misconfigured DNS will land in spam folders. A Nextcloud instance without proper SSL renewal will start throwing certificate warnings to every user. A backup configuration that "runs" but doesn't actually restore is the worst kind of false comfort. Getting the setup right the first time is worth paying for — or being very careful if you're doing it yourself.

When self-hosting actually makes sense

The math works clearly at 30 people and above. Below 20, infrastructure savings exist but the operational overhead can outweigh them unless data ownership is a specific requirement. Above 100 people, savings get large enough that the conversation usually shifts to whether to bring some infrastructure work in-house entirely.

The decision isn't purely financial. Teams self-host for three distinct reasons: cost (the math at scale), control (the data lives on infrastructure they own, governed by their own terms), and consistency (a business whose values include data ownership extending that to the infrastructure their own work runs on). Each of these is a legitimate reason. Each is sufficient on its own. The teams that get the most from self-hosting usually have at least two of them.

Teams that probably shouldn't self-host yet: fewer than 15 people, no in-house technical capacity AND no budget for managed operations, deeply integrated with Google services beyond Workspace (Ads, Analytics, complex Apps Script workflows), or in a regulatory environment where a specific certified SaaS is the only acceptable option.


If your SaaS bill has grown into a meaningful line item and you want a specific quote — for your stack, your team size, your data volume — the free assessment covers it. Infrastructure costs are public, setup and operations are scoped to your situation. Honest answer either way; if the math doesn't work for you, we'll say so.

TrySelfHost

We design, deploy, and operate production-ready open-source systems — replacing costly SaaS tools or building internal platforms tailored to your operations. Control, without operational complexity.

Explore solutions

Related solutions

We help with this

More perspectives