A five-developer team running GitHub Codespaces six hours a day, five days a week, pays roughly $714 a quarter in raw compute and storage on a standard 4-core machine. Put the same team on owned Hetzner hardware behind a self-hosted Coder deployment, and the server bill alone drops to somewhere between $309 and $618 a quarter — a 2x-to-2.3x discount that looks like an easy call.
Except that comparison is missing a line item, and it's the one that actually decides the outcome: who patches the box. Add a realistic estimate for the labor to keep a self-hosted devcontainer host running — OS updates, Coder upgrades, the occasional 2 a.m. node failure — and the self-hosted total climbs to $819–$1,128 a quarter, which is not obviously cheaper than Codespaces at all. The honest answer for a five-person team standing up self-hosting from a cold start is: it's close, and it can go either way.
The real savings show up somewhere else — either once the team grows past about six to eight developers, or the moment a team already operates shared infrastructure it can bin-pack devcontainers onto for free. Here's the full math.
How GitHub Codespaces Actually Bills
Codespaces meters by the core-hour, and the rate scales linearly with machine size:
| Machine | Rate |
|---|---|
| 2-core | $0.18/hour |
| 4-core | $0.36/hour |
| 8-core | $0.72/hour |
| 16-core | $1.44/hour |
Storage adds $0.07/GiB per month on top of compute. None of this is exotic — it's the same "pay for what you use" model as most managed dev-environment products. The part that trips teams up is the free allowance, because it doesn't work the way most developers assume.
Personal accounts get free core-hours; organizations don't. A GitHub Free personal account includes 120 core-hours and 15GB of storage a month; Pro bumps that to 180 core-hours and 20GB. But once Codespaces usage is billed to an organization on a Team or Enterprise Cloud plan — the normal setup for a company, not an individual side project — GitHub's own billing documentation doesn't carry over a bundled per-seat allowance the way personal plans do. A team onboarding through individual Pro accounts might see a grace period on paper; a team billing centrally through its GitHub organization is metered from the first core-hour.
That distinction matters because it's the difference between "Codespaces is basically free for light use" and "every session is a line item." For a professional team running devcontainers as a daily tool rather than an occasional convenience, assume the second case.
The quarterly bill for a 5-developer team
Take a team of five engineers, each running a 4-core Codespace six hours a day, roughly 63 working days in a quarter:
- Compute: 6 hours × 63 days × $0.36/hour = $136.08 per developer, per quarter
- Storage: 32GB codespace volume × $0.07/GiB × 3 months = $6.72 per developer, per quarter
- Team total: ($136.08 + $6.72) × 5 = $713.98/quarter (≈$2,856/year)
That's the number the TODO title is built around, and it's real — it's what a mid-sized team on a 4-core box, billed centrally, actually sees on an invoice. It's also the number that scales linearly: double the team, or double the hours, and the bill doubles with it. There's no volume discount and no ceiling.
Sizing the Same Team on Owned Hardware
A self-hosted equivalent runs Coder — free and open-source as a control plane — scheduling devcontainer workspaces onto a Hetzner box the team owns outright. Two honest sizing options, after Hetzner's third 2026 price adjustment (June 15) pushed dedicated-vCPU pricing up sharply in the US:
- 1× Hetzner CCX23 (4 dedicated vCPU, 16GB RAM): $102.99/month post-hike, tightly bin-packed to hold five developers' devcontainer sessions concurrently. $308.97/quarter.
- 2× CCX23 for comfortable headroom, so a CPU-heavy test run on one developer's machine doesn't starve everyone else's: $205.98/month. $617.94/quarter.
Coder's control plane itself is lightweight enough to run alongside the workspaces on the same node, so there's no separate control-plane line item to add. On server rental alone, this is a clean win: even the headroom option costs 13% less than Codespaces, and the tight option costs 57% less.
The line item the naive comparison skips
Coder's own documentation is candid about what self-hosting actually requires: the platform is "tightly tied to Kubernetes, Terraform templates, and constant tuning," and one 2026 comparison of self-hosted dev-environment tools flagged it as "a poor fit for small teams without dedicated DevOps." That's not a knock on Coder specifically — it's true of any self-hosted service — but it's a real cost, and waving it off as "someone will just handle it" is exactly the kind of hand-wave that makes a self-hosting pitch untrustworthy.
Estimate it honestly instead. Patching the OS, upgrading Coder, watching disk and memory, and responding when a node needs a reboot is roughly 2 hours a month of a platform engineer's time for a stack this size. At a blended loaded rate of $85/hour, that's $170/month, or $510 a quarter — a fixed cost that doesn't care whether the team has five developers or fifteen.
Add it to the infrastructure cost, and the full picture looks different:
| Infra only | + Ops labor ($510/qtr) | |
|---|---|---|
| 1× CCX23 (tight) | $308.97 | $818.97 |
| 2× CCX23 (headroom) | $617.94 | $1,127.94 |
| GitHub Codespaces (5 devs) | — | $713.98 |
At five developers, a self-hosted stack built from scratch is not the clear winner. The tight single-node option comes in $105 a quarter more expensive than Codespaces once labor is counted honestly; the headroom option is $414 more expensive. That's the finding a reader deserves before anyone tells them "just self-host it and save."
Where the Math Actually Tips
The ops-labor line is close to fixed — the same 2 hours a month covers a node whether it's serving five developers or fifteen, up to the point where you need to add a second node for capacity. Codespaces' cost, by contrast, is genuinely linear: every additional developer, and every additional hour a day, adds directly to the bill with no ceiling and no amortization.
That asymmetry is what determines the winner, and it resolves in two distinct ways:
1. Team size. Codespaces costs $142.80 per developer per quarter at this usage level ($136.08 compute + $6.72 storage). A single tightly-packed CCX23 plus labor costs $818.97 regardless of headcount, up to the node's capacity. Set the two equal and the breakeven lands at roughly six developers — below that, Codespaces is competitive or cheaper once labor is honestly counted; above it, self-hosting pulls ahead and the gap widens with every additional hire. The 2-node headroom option pushes breakeven to about eight developers, trading a higher fixed floor for more room before a second node is needed.
2. Usage intensity. The same asymmetry runs the other direction on hours per day. A team running devcontainers ten hours a day instead of six sees its Codespaces bill grow by two-thirds; the self-hosted node's fixed cost doesn't move until the additional load actually exceeds its capacity. Heavier daily usage — the exact pattern a team building AI-agent workflows or running long CI-adjacent devcontainer sessions tends to have — makes self-hosting's case stronger faster than team size alone does.
3. Whether the infrastructure already exists. This is the case the linear math understates. The $510/quarter ops-labor estimate assumes a team standing up Coder and a Hetzner node specifically to save money on devcontainers. A team that already operates a self-hosted platform — patching nodes, watching a fleet, running an on-call rotation for production workloads — isn't buying that labor a second time. Scheduling devcontainer workspaces onto capacity a platform team is already operating is close to zero marginal cost, because the patching, monitoring, and on-call function was already a sunk cost against something else. In that scenario, the honest comparison collapses back to the infra-only numbers — $309–$618 a quarter — and self-hosting wins outright at any team size, not just past a breakeven point.
Coder and Gitpod Flex Already Proved This Without a PaaS
None of this requires betting on a full deploy-from-git platform to make the point. Coder's Community Edition ships free and open-source specifically so a team can run its own devcontainer control plane without a per-seat SaaS fee. Gitpod made the same architectural bet more explicitly: Gitpod Flex — its 2026 rearchitecture, now folding into a plain "Gitpod" branding with a self-hostable Core tier — runs compute inside the customer's own cloud account (bring-your-own-cloud) rather than Gitpod's, with the fixed self-hosted control-plane cost landing around $8 a month, low enough to sit inside most clouds' free tier. Variable cost from there is just whatever compute the workspaces actually consume, billed by the customer's own cloud provider, not marked up by Gitpod.
Both products prove the same thing independently of any deploy-from-git platform: a hosted-vendor line item for dev environments is a choice, not a technical requirement. What Coder's own operational candor and this piece's labor math add is the honest second half of that claim — it's a choice with a real labor cost attached, one that only nets out favorably once a team is either big enough to amortize it or already paying it for something else.
That "already paying it for something else" case is exactly where a Cluster-API-managed, git-push platform changes the equation. A team running one on owned Hetzner hardware is already operating the patch cadence, the monitoring, and the on-call rotation that production apps require. Scheduling devcontainer workspaces as one more workload type onto that same fleet doesn't add a second ops burden — it reuses the first one. That's a materially different pitch than "stand up a new self-hosted service to save money on dev environments," and it's the version of this math that actually favors self-hosting from developer number one.
Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own. Star the repo on GitHub or deploy your first app today.
Sources
- GitHub Codespaces billing — official per-core-hour rates and storage pricing.
- Hetzner Price Adjustment 15 June 2026 — official notice of the June 2026 CCX/CPX repricing.
- Hetzner June 2026 Price Shock: CCX and CPX Are Different Now — CCX23 US before/after pricing.
- Coder vs Gitpod vs DevPod: Cloud Dev Environments Honest Review 2026 — Coder's Kubernetes/Terraform operational overhead.
- Introducing Gitpod Flex: FAQs for Gitpod Enterprise and Gitpod Classic customers — self-hosted BYOC fixed-cost figure.
- Naming is hard: taking 'Flex' into the future — Gitpod Flex's rebrand into Gitpod Core.



