Self-Hosted Git Forges
Gitea, Forgejo, GitLab CE — your own GitHub.
The candidates
- ★ Forgejo — community fork of Gitea; copyleft license; Codeberg's choice. Active, friendly, fast. The default for new self-hosted forges in 2026.
- ★ Gitea — original Go forge; lightweight; mature; many integrations.
- GitLab Community Edition — full-featured; CI / Pages / registry / wiki built in. Heavyweight.
- OneDev — newer; CI built in; clean UI.
- Sourcehut (
sr.ht) — minimalist; mailing-list-shaped workflow; runs on any hosting. - Codeberg — hosted Forgejo for OSS; not self-hosted but worth knowing.
- Phabricator / Phorge — older; Phorge is the maintained fork.
Forgejo vs. Gitea (the active fork question)
- ★ Forgejo — copyleft license; community-governed; pure OSS focus.
- Gitea — the original; now backed by a for-profit company (Gitea Ltd) which prompted the Forgejo fork in 2022.
- API-compatible; you can switch back and forth.
- For new installs: pick Forgejo unless you have a specific reason for Gitea.
CI runners that pair with these
- ★ Gitea Actions / Forgejo Actions — GitHub-Actions-compatible runner; reuses YAML workflows from GitHub.
- act_runner — official runner for Gitea / Forgejo Actions.
- Drone — older Gitea-friendly CI.
- Woodpecker CI — Drone fork; community-maintained.
- GitLab Runner — for GitLab CE.
- Forgejo Runner — see above.
Bundled features worth knowing (Forgejo / Gitea)
- Issues / PRs / Wikis / Releases — GitHub-shape, all included.
- Container Registry — bundled OCI registry; great for personal projects.
- Package Registry — npm / Maven / NuGet / RubyGems / PyPI / Composer / Helm / generic.
- Code search — full-text via bleve.
- Git LFS — built in.
- Webhooks — Slack / Discord / Telegram / generic.
- Federation (ActivityPub) — Forgejo experimenting with cross-forge federation.
Migration tools
giteamigrate — pull repos + issues from GitHub / GitLab / others into Gitea / Forgejo.- GitHub Repo Mirror — keep a Forgejo / Gitea mirror of an upstream GitHub repo.
ghCLI + scripting for bulk migrations.
Discovery
- Awesome Forgejo / Awesome Gitea community lists for plugins / themes / runners.
Patterns to adopt
- ★ Forgejo + act_runner in 2026 for new self-host.
- Use the bundled registry for personal / team Docker / npm / pip packages — saves a separate Harbor / GHCR instance.
- Mirror critical upstream repos to your Forgejo so you can build even if GitHub is down.
- Pin runner versions — runner / server compatibility matters for Actions.
- Backups — DB + repo dir + LFS storage. Restic to R2 daily.
- Run behind Tailscale or Cloudflare Access for personal / small-team forges.
Pick this if…
- Default new self-host: Forgejo.
- Existing Gitea install: stay; it works.
- Need full CI / Pages / Registry / Wiki integrated like GitHub: GitLab CE.
- Mailing-list-flavored workflow: Sourcehut.
- Just need git for personal projects: Forgejo.