Verdict

Self-Hosted Git in 2026: Forgejo vs Gitea vs GitLab CE

Our verdict: Forgejo is the self-hosted git server to run for most solo devs and small teams. Stay on Gitea if it already works for you, and pick GitLab CE only if you need full DevOps in one box.

Self-hosted git used to mean GitLab. Now the choice splits three ways, and the lightweight forks have caught up on the features most people use: repos, issues, pull requests and built-in CI.

A compact mini PC and a single-board computer with green status lights on a wooden shelf, a laptop and a coffee mug on the desk nearby
Your own forge: a lightweight git server fits on a mini PC, a single-board computer or a cheap VPS. Illustration: TechVerdict.
Compared Forgejo Gitea GitLab CE Codeberg sourcehut

What each one needs to run

Infographic: GitLab CE needs 16 GB RAM and 8 vCPU as a single-node baseline, 8 GB minimum in memory-constrained setups; Gitea needs about 1 GB RAM and 2 CPU cores for small teams and a Raspberry Pi 3 handles small workloads; Forgejo publishes no minimum, uses an order of magnitude less resources than other forges and ships a new major version every 3 months
The hardware gap: figures from GitLab's installation requirements, Gitea's docs and Forgejo.org. Infographic: TechVerdict.

That gap decides most setups. Forgejo and Gitea run happily on a Raspberry Pi or a low-cost VPS, while GitLab wants a proper server before you push your first commit.

The 5 options at a glance

Forgejo
Best for most self-hosters
Free open source
  • Very light, runs on a Raspberry Pi
  • Forgejo Actions, GitHub Actions-compatible
  • Community-run, new major version every 3 months

The catch: federation is still experimental.

Gitea
Fine if you already run it
Free open source
  • 2 CPU cores and 1 GB RAM for small teams
  • Gitea Actions and a package registry
  • Actively maintained

The catch: company-backed governance.

GitLab CE
All-in-one DevOps
Free open source
  • Full CI/CD, container registry, Pages
  • Wiki, package repository, security scanning
  • One installer for everything

The catch: 16 GB RAM and 8 vCPU baseline.

Codeberg
Hosted Forgejo
Free non-profit
  • Forgejo without running a server
  • Forgejo Actions for CI
  • No commercial pressure

The catch: not self-hosted.

sourcehut
For email workflows
$4 /mo and up
  • Mailing-list patches, no web PRs
  • builds.sr.ht for CI
  • All plans get every service

The catch: alien to GitHub-trained devs.

Prices and hardware

Prices checked October 15, 2026, on each project's own site.

OptionPriceHardwareBuilt-in CIBest for
ForgejoFree, open sourceVery light, runs on a Raspberry PiForgejo Actions (GitHub Actions-compatible)Most new self-hosters
GiteaFree, open sourceVery light: 2 CPU cores and 1 GB RAM for small teamsGitea ActionsExisting Gitea installs
GitLab CEFree, open source16 GB RAM and 8 vCPU baseline (8 GB minimum)Full CI/CD, registry, PagesAll-in-one DevOps
CodebergFree (hosted, non-profit)None, it's hostedForgejo ActionsHosted Forgejo without a server
sourcehutFrom $4/mo (hosted)None, it's hostedbuilds.sr.htEmail-driven workflows

What each one can do

FeatureForgejoGiteaGitLab CECodebergsourcehut
Free✓✓✓✓Paid
Built-in CI✓✓✓✓✓
GitHub Actions-style workflows✓✓✗✓✗
Web pull request review✓✓✓✓✗
Container registry–✓✓––
Runs on light hardware✓✓✗HostedHosted

– means we couldn't confirm it on the project's own site.

The 2022 fork that changed the pick

Gitea was the default lightweight forge for years. In 2022, the creation of Gitea Ltd., a company, raised governance concerns over trademarks, contributor agreements and ownership. A community fork called Forgejo launched late that year.

Today Codeberg e.V., a non-profit, owns Forgejo's domains, while Forgejo's own governance stays independent. Since 2024 the fork has shipped faster, and it's now the usual recommendation in self-hosting communities.

Forgejo: the 2026 default

Forgejo is a single Go binary that runs on a Raspberry Pi, a cheap VPS or a container on a NAS. It covers what most people use GitHub for: repos, issues, pull requests, code review, webhooks, LDAP, OAuth and OIDC sign-in, plus Forgejo Actions for CI.

It ships a major version every three months. v17.0 arrived on October 15 with issue and pull request auto-completion, Actions job summaries and migration from Bitbucket Data Center. ActivityPub federation is coming but still experimental.

Forgejo Actions run with a job summary showing a passing test table and a git graph above the job steps
Actions job summaries: test results and charts above the logs, new in v17.0. Image: Forgejo.
Forgejo comment editor suggesting issues and pull requests after typing a hash sign
Auto-completion: type # to link an issue or pull request. Image: Forgejo.

GitLab CE: when CI/CD is the requirement

GitLab Community Edition puts every DevOps feature in one box: CI/CD, container registry, package repository, wiki, Pages, security scanning and monitoring. You pay in hardware. GitLab's docs set 16 GB of RAM and 8 vCPU as the single-node baseline, with 8 GB as the floor.

For a small team that wants CI without bolting on Jenkins or external runners, it's the only option here that does it all in one installer. If your CI lives elsewhere, it's overkill.

GitLab pipeline page showing a passed pipeline with sync, prepare, build-images and lint stages
GitLab pipelines: stages, jobs, tests and security tabs in one view. Image: GitLab.

Gitea: fine if you're already there

Gitea is still actively maintained and capable, with Gitea Actions and a package registry. Its docs say a Raspberry Pi 3 can handle small workloads. The case against it for new installs is governance, not features.

If your Gitea instance works, keep it. Just check your version before you plan a move.

Gitea repository Actions tab showing a running check-and-test workflow with its job steps
Gitea Actions: a workflow run inside a repository. Image: Gitea.
Moving from Gitea? Forgejo's upgrade guide supports a drop-in upgrade only from Gitea v1.22 or earlier: go to Forgejo v10.0 first, then to the latest. On a newer Gitea, plan to move repos with Forgejo's migration tool instead, and take a full backup either way.

What about Codeberg and sourcehut?

If you want to leave GitHub without running a server, Codeberg is free hosted Forgejo run by a non-profit. sourcehut is minimal, email-driven hosting at $4, $8 or $12 a month, and every tier gets every service. It uses mailing-list patches instead of web pull requests.

Which one should you use?

You're setting up a new server
Forgejo
You need CI/CD and a registry in one install
GitLab CE
Your Gitea instance already works
Stay on Gitea
You want off GitHub but no server
Codeberg
Your team works by email patches
sourcehut

The verdict

Forgejo is the self-hosted git server to run in 2026: light, community-run and shipping every three months. Choose GitLab CE only when built-in CI/CD is worth 16 GB of RAM, and use Codeberg if you'd rather not run a server at all.

FAQ

Which self-hosted git is best in 2026?

Forgejo is the right pick for most self-hosters. It's a community-led fork of Gitea, runs on modest hardware and ships a new major version every three months. GitLab CE is the pick if you need built-in CI/CD and a registry in one install. Gitea is fine if you already run it.

What's the difference between Forgejo and Gitea?

Forgejo forked from Gitea in 2022 over governance concerns after Gitea Ltd. was formed. Forgejo is community-run, and Codeberg e.V., a non-profit, owns its domains. The codebases have diverged, and Forgejo's guide supports direct upgrades only from Gitea v1.22 or earlier.

How much resources does Forgejo need?

Forgejo doesn't publish a hardware minimum, and it says it needs an order of magnitude less resources than other forges. A small personal instance fits on a low-cost VPS or a Raspberry Pi. GitLab is far heavier: its docs set 16 GB of RAM and 8 vCPU as the single-node baseline and say it can run on at least 8 GB in memory-constrained setups.

Should I self-host git or stay on GitHub?

Stay on GitHub for collaboration with anyone outside your team, since that's where everyone already is. Self-host for private projects, internal tools and archives. Many self-hosters do both: GitHub for public work, Forgejo for private.

Does Forgejo or Gitea have AI / Copilot integration?

Neither has built-in AI features like Copilot. Pair them with Cursor, Zed or any editor with its own AI, or wire up pull request review yourself with a webhook and an AI API. GitLab's AI features are tied to paid tiers.