Gitea vs Forgejo vs GitLab

Updated

October 30, 2026

Gitea vs Forgejo vs GitLab

After this page you can choose among the three from the constraint you actually have, not from a feature checklist.

Same afternoon, different contracts

Gitea and Forgejo are one architectural family. GitLab is a different product that also hosts Git. Versions below are the ones this book checked in September 2026.

Forgejo 15 LTS Gitea 1.27 GitLab CE
Steward Codeberg e.V. Gitea Ltd GitLab Inc.
License of the server you run GPL-3.0-or-later MIT MIT (CE). Paid tiers are a separate license
Process model one Go binary one Go binary Omnibus: many processes (chapter 24)
Default database SQLite file SQLite file Postgres
CI Forgejo Actions, external runner Gitea Actions, external runner CI in the product
Paid tier none Enterprise Premium and above
Public hosted twin Codeberg Gitea.com GitLab.com
Support window 15.0 LTS through 15 July 2027. 16.0 is the short cycle (through 29 October 2026) upstream releases your own upgrade calendar

Forgejo 15.0.9 and 16.0.5 both shipped on 17 September 2026. The lab uses the 15 image tag so a reader is on the LTS line. Track 16 only if you intend to move every quarter.

What is not a difference

Push, fetch, branches, and review comments are Git plus a database row. A developer who learned chapters 8–11 does not relearn them here. The UI names a pull request; Gerrit (chapter 27) names a change. Under both, the bytes are still a branch on a remote.

Webhooks out of either lightweight forge are the same idea as GitLab’s: HTTP to your CI when a ref moves. Chapter 32 is that integration. This chapter does not stand up a runner.

How to read the license row

Pick Forgejo when the operator must be able to show that the forge itself stays free software, with a non-profit holding the name and no Enterprise fork of the same tree.

Pick Gitea when the MIT terms are a requirement (you need to ship a closed product derived from the forge) or you are already paying for Gitea Enterprise and the company build is the point.

Pick GitLab when the requirement is CI, a container registry, and security scanning inside one installer, and you can afford the machine that installer expects. A 2 GB lab VM is a Forgejo conversation. It is a bad GitLab conversation.

The next page is how the lightweight shape is deployed, and where SQLite stops being the right database.