> ## Content Index
> Fetch the complete content index at: https://ditchthesaas.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Gitea vs GitHub Teams: Self-Hosting Git to Cut the Per-Seat Bill
- URL: https://ditchthesaas.com/gitea-vs-github-teams-self-hosting-git-to-cut-the-per-seat-bill/
- Published: 2026-09-19T14:00:00.000Z
- Updated: 2026-09-30T03:51:17.000Z
- Description: GitHub's free tier already includes unlimited private repos and collaborators, so this isn't really a repo-hosting savings story. The real bill shows up in CI minutes — and that's where self-hosting actually changes the math.
- Author: Jordan Cole
- Tags: Self-Hosted Stack

I need to correct the premise in my own title before I get into this: GitHub's free plan already includes unlimited private repositories and unlimited collaborators. If you're paying for GitHub Team purely to get private repos for your team, you don't need to — that part's been free for a while now. So this isn't a repo-hosting savings post. It's about what actually costs money: CI minutes.

## Where GitHub Team's $4/seat actually goes

GitHub Team is $4/user/month (annual billing) and mainly buys you protected branches, required reviewers, and 3,000 GitHub Actions minutes/month per organization (up from Free's 2,000). Past that allowance, Actions minutes are metered: $0.006/minute on Linux runners, $0.062/minute on macOS runners, plus a flat $0.002/minute platform charge on every workflow run, hosted or self-hosted.

For a team actually running CI on every push — tests, builds, deploys — it's easy to blow past 3,000 minutes a month. Say your team uses 10,000 minutes/month on Linux runners: that's 7,000 minutes over the included allowance, or about $42/month in overage, on top of $4/seat for however many people are on the team.

## What Gitea changes

[Gitea](https://about.gitea.com/?ref=ditchthesaas.com) is a self-hosted, lightweight Git server — repos, issues, pull requests, wikis, the same core workflow GitHub covers, and genuinely light on resources (it's a single Go binary, comfortable on the same small VPS tier as most of this stack). Repo hosting was never the expensive part, so that's not the pitch here.

The actual change is **Gitea Actions** — Gitea's built-in CI system, which uses the same workflow YAML syntax as GitHub Actions, so existing workflow files mostly just work. Point it at a self-hosted runner (your own VPS compute, or a dedicated CI box) and there's no per-minute meter at all. You're paying for the server, not the build minutes.

|                        | GitHub Team                         | Self-hosted Gitea                    |
| ---------------------- | ----------------------------------- | ------------------------------------ |
| Repo hosting           | Free either way                     | Free either way                      |
| CI at 10,000 min/month | \~$42/month overage (Linux runners) | $0 — covered by existing VPS compute |

## What you're giving up

- **The GitHub ecosystem.** Marketplace Actions, Dependabot, code scanning, Copilot integration — Gitea has some equivalents, but the ecosystem is smaller and less polished.
- **Runner capacity is now yours to provision.** GitHub's hosted runners scale automatically; a self-hosted Gitea runner is exactly as fast as the hardware you give it, and if ten builds queue up at once, they queue.
- **No free managed uptime.** GitHub.com just works. A self-hosted Gitea instance is one more service you're responsible for keeping alive.

If your team's CI usage comfortably fits in GitHub's free or Team-included minutes, there's no cost problem here to solve. This is worth doing once your Actions bill is the line item that's actually growing — not because repo hosting itself is expensive, because it isn't.

I run this on the same kind of small [Vultr](https://www.vultr.com/?ref=9922680) instance as the rest of the stack — see [the full cost roll-up](https://ditchthesaas.com/how-i-cut-my-saas-bill-by-90-by-self-hosting-everything/) for how it all fits together.

*Disclosure: this post contains an affiliate link to Vultr. If you sign up through it, I may earn a commission at no extra cost to you. I only link to providers I actually use.*