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.
| Feature | Forgejo | Gitea |
|---|---|---|
| Deploy effort | Under-an-hour setup | ≈5-minute setup |
| Category | Git Hosting & Forges | Git Hosting & Forges |
| License | GPL-3.0 | MIT |
| Language | Go | Go |
| Setup difficulty | Easy | Easy |
| Min. RAM | 256 MB | 256 MB |
| Deployment | docker, binary, bare-metal | docker, binary, bare-metal |
| GitHub stars | ★ 5,000 | ★ 58,120 |
| First released | 2022 | 2016 |
| Replaces | GitHub, GitLab | GitHub, 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
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
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
| You | Pick |
|---|---|
| Values-driven choice, community governance | Forgejo |
| Copyleft licence preference | Forgejo |
| Maximum ecosystem/tutorial coverage | Gitea |
| Possible future commercial support | Gitea |
| Already on Gitea, no complaints | Stay put |
| Fresh personal forge in 2026 | Forgejo |
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
Choose Gitea if…
- Very lightweight
- Easy to deploy
- Familiar GitHub-like UI
Watch out for
- Fewer features than GitLab
- Governance concerns spurred a fork
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.