Forgejo vs Gitea

A side-by-side comparison of two self-hosted git hosting & forges options — licensing, setup difficulty, resource needs, and what each one replaces.

Not the right match-up?
FeatureForgejoGitea
Deploy effortUnder-an-hour setup≈5-minute setup
CategoryGit Hosting & ForgesGit Hosting & Forges
LicenseGPL-3.0MIT
LanguageGoGo
Setup difficultyEasyEasy
Min. RAM256 MB256 MB
Deploymentdocker, binary, bare-metaldocker, binary, bare-metal
GitHub stars★ 5,000★ 58,120
First released20222016
ReplacesGitHub, GitLabGitHub, GitLab

What are Forgejo and Gitea?

Forgejo

Forgejo is a community-governed fork of Gitea providing a self-hosted Git forge with issues, pull requests, and CI. It targets developers wanting a fully community-controlled code platform. It is deployed via Docker or a single binary.

  • Community-governed Gitea fork
  • Forgejo Actions CI
  • Federation in development
  • Lightweight single binary

Read the full Forgejo guide →

Gitea

Gitea is a lightweight, self-hosted Git service offering repositories, issues, pull requests, and CI integration. It targets developers and teams who want a fast, easy-to-run code platform. It is deployed via Docker or a single binary.

  • Fast single-binary Git server
  • Issues, PRs and wiki
  • Built-in package registry
  • Gitea Actions CI

Read the full Gitea guide →

Forgejo vs Gitea: key differences

Both projects are written in Go. Licensing differs — GPL-3.0 for Forgejo versus MIT for Gitea. Gitea is the more established project (first released 2016), while Forgejo arrived in 2022. Gitea has the considerably larger community, at 58,120 GitHub stars versus 5,000.

Last reviewed Aug 22, 2026 · 588 words

Forgejo began in 2022 as a fork of Gitea, triggered when Gitea's trademark and control moved to a for-profit company — so this comparison is less about features (the overlap is still enormous) and more about whose stewardship you trust with the place your code lives. Day to day, both give you the same thing: a fast, GitHub-shaped forge — repos, issues, pull requests, wiki, package registry, CI — in a single Go binary that runs contentedly on 256 MB of RAM.

Where the code still matches, and where it's drifting

For a self-hoster's core workflow the two remain functionally equivalent: clone, push, review, merge, mirror; SQLite for small installs; the same familiar UI. Both run Actions-style CI with broadly GitHub-compatible workflow syntax (Gitea Actions and Forgejo Actions, each with their own runner). But the fork is no longer cosmetic — Forgejo switched to a GPL-3.0 licence (Gitea remains MIT) and became a hard fork in 2024, meaning changes no longer flow automatically between them. Divergence shows at the edges and grows each release: Forgejo invests in federation work (ForgeFed) and community-driven priorities, Gitea in company-driven ones. Migration friction is asymmetric and worth knowing: moving Gitea→Forgejo is officially supported and routine for adjacent versions; the reverse path is not maintained, so a Forgejo instance is a one-way door you should walk through on purpose.

The star-count trap, and what to read instead

Gitea's 57,000 stars against Forgejo's 5,000 is the least informative number on this page: Forgejo lives on Codeberg (which runs on Forgejo), where casual star traffic doesn't accrue the way it does on GitHub. Better signals: Forgejo is the software behind Codeberg's hundreds of thousands of users, releases on a steady cadence with long-term-support versions, and its governance is a documented multi-stakeholder arrangement rather than a single company's roadmap. Gitea's counter-signal is just as real: a decade of production deployments, the bigger third-party ecosystem — more tutorials, Helm charts, integrations tested first against it — and commercial support if you ever want a throat to choke.

Operations are a tie, migration is trivial

Both deploy identically (one container, one volume, map a spare port like 222 for SSH clone URLs), sip resources, and upgrade with a pull-and-restart plus the usual update discipline. Both import from GitHub/GitLab cleanly, and because Forgejo tracks Gitea's data model closely, a test migration between them is an evening, not a project. Backup story is identical too: dump the database, tar the data volume, done. Whichever you pick, the self-hosted git forges tour places both against GitLab and the minimalist options if you want the full field.

Decision table

YouPick
Values-driven choice, community governanceForgejo
Copyleft licence preferenceForgejo
Maximum ecosystem/tutorial coverageGitea
Possible future commercial supportGitea
Already on Gitea, no complaintsStay put
Fresh personal forge in 2026Forgejo

What I'd do

Fresh install for personal or community use: Forgejo — same software experience, governance that can't be sold out from under you, and the momentum of the Codeberg ecosystem behind it. Established Gitea shop: staying is entirely defensible; the fork's practical differences remain small enough that migration is a values decision, not an emergency. Either way you get the quiet luxury this category offers — a full forge that costs less RAM than a browser tab.

Why pick each one

Choose Forgejo if…

  • Strong community governance
  • Lightweight and fast
  • Active development

Watch out for

  • Smaller ecosystem than Gitea
  • Federation still maturing
Forgejo details

Choose Gitea if…

  • Very lightweight
  • Easy to deploy
  • Familiar GitHub-like UI

Watch out for

  • Fewer features than GitLab
  • Governance concerns spurred a fork
Gitea details

Frequently asked questions

Is Forgejo or Gitea better?

Neither is universally better. Gitea has the larger community; both share a easy setup difficulty, so the decision comes down to features and licensing.

Are Forgejo and Gitea free and open-source?

Yes. Forgejo is licensed under GPL-3.0 and Gitea under MIT. Both can be self-hosted at no software cost.

Can I run Forgejo and Gitea with Docker?

Forgejo: yes. Gitea: yes.

Related comparisons