Skip to content

Command Palette

Search for a command to run...

Code hosting · head-to-head

Gitea vs Forgejo

Updated Jun 2026prices checked · Jul 2026
The verdictOur pick: Forgejo

Pick Gitea for the larger ecosystem and longest track record. Pick Forgejo — a community hard fork under the Codeberg nonprofit — if independent, community-first governance matters to you; day to day the two are near-identical.

Side by side

Gitea
Forgejoour pick
Category
Stack
License
Min RAM
Governance
Difficulty

Open one and then the other and you would struggle to tell them apart: the same repository view, the same pull requests and issues, the same lightweight Git server that boots from a single binary. That is not a coincidence — one is a hard fork of the other, and day to day they remain near-twins. So the decision here is unusually clean. It is not about features or speed; it is about which stewardship model you want to trust with the place your code lives.

The same application, forked

Both are Go applications that ship as a single self-contained binary (plus an official Docker image), both are MIT licensed, and both give you repos, pull requests, issues, a package registry, and a built-in CI runner. Forgejo began as a hard fork of Gitea after Gitea's project and trademark moved under a company structure. A group of contributors who wanted the project to stay in community hands took the codebase and continued it independently under the umbrella of the Codeberg nonprofit. Because it started from the same source, everything you know about running one transfers directly to the other.

For a while Forgejo tracked Gitea closely, essentially a governance-driven mirror with patches on top. Over time it has grown its own identity and roadmap, but the shared DNA means migrating between the two remains straightforward rather than a rewrite.

The difference that actually matters: governance

This is the whole ballgame, and it is why the spec table above marks governance as the only real split.

  • Gitea is backed by a company. That brings resources, a long track record as the original project, and the larger surrounding ecosystem of guides, integrations, and third-party tooling built up over years.
  • Forgejo is stewarded by the Codeberg e.V. nonprofit and run as a community-first project. Its promise is that no single commercial entity controls the software or its trademark — decisions are made in the open by the people who maintain and use it.

If you have no strong feelings about who holds the reins, Gitea's maturity and ecosystem are genuine advantages. If independent, community-owned governance is something you actively want to support — the same instinct that leads people to Codeberg over a commercial forge — Forgejo is the project built around exactly that principle, and that is our pick.

Features and compatibility

Feature-wise this is close to a tie, and honestly so. You get the same core on either side:

  • Repositories and collaboration — pull requests, issues, code review, branch protection, and wikis, essentially identical between the two.
  • Automation — a bundled Actions-style CI runner with a workflow syntax close enough to GitHub's that many pipelines port with minor edits.
  • Package registry — container and language package hosting built in.
  • Federation — Forgejo has invested in ActivityPub-based federation as a longer-term differentiator, fitting its community ethos; treat it as evolving rather than a finished headline feature.

Because the data model is shared, moving a Forgejo instance to Gitea or the reverse is realistic, which lowers the stakes of picking "wrong."

Resources and performance

There is nothing to separate them here, and the table reflects it: both are frugal Go services with a 512 MB floor and the same easy 2/5 difficulty to stand up. A single small server runs either without strain, SQLite keeps the simplest setup to one container, and you can move up to Postgres or MySQL when a team grows. Whichever you choose, expect the same light footprint — this is not a resource decision.

Which should you self-host?

Pick Gitea if…

  • You want the original project with the longest track record and the largest surrounding ecosystem of guides and integrations.
  • Company backing reads as stability and resources to you, not a red flag.
  • You would rather follow the most well-trodden path, with the most existing answers when you hit a question.

Pick Forgejo if…

  • Independent, community-first governance under a nonprofit is something you actively want to back with your choice of tooling.
  • You like where the community roadmap is heading — including its bet on federation — and want to grow with it.
  • You want everything Gitea offers today with a stewardship model that cannot be quietly steered by a single commercial owner.

Running either on a VPS

Both run comfortably on the smallest servers worth renting — same Go binary, same 512 MB floor, same one-container start with SQLite — so there is no performance penalty for choosing on principle. Point either at a data volume, front it with HTTPS, and add a Postgres or MySQL database only when a team outgrows SQLite. The step-by-step setups are linked below, and any of the VPS options here has plenty of room for the app plus its database; since the two are so close under the hood, you can even start on one and migrate later if your thinking changes.

Other comparisons with these apps