Forgejo

developer toolsindie hacker

Community-governed soft fork of Gitea for self-hosted Git hosting. Feature-compatible with Gitea, with a focus on transparency, freedom from commercial control, and ActivityPub federation

#git#code-hosting#devops#ci-cd#self-hosted
Alternative to GitHubGitLabGitea

Quick Start

docker run -d --name forgejo -p 3000:3000 -p 22:22 -v forgejo:/data codeberg.org/forgejo/forgejo:latest

Overview

Forgejo is a soft fork of Gitea created in 2022 when Gitea’s development team formed a commercial company, Gitea Ltd, and transferred the trademark and governance of the project to it. A group of contributors forked the project to preserve community ownership of the codebase and governance structure. The result is Forgejo: feature-compatible with Gitea, developed independently, and stewarded by the Codeberg e.V. non-profit association.

Because Forgejo maintains full API and feature compatibility with Gitea, it works with anything that targets the Gitea API — GitHub Actions runner workflows, CI integrations, IDE Git clients, and mirror configurations all behave the same way. Migration from Gitea is a configuration change, not a data conversion.

ActivityPub federation is the distinctive long-term goal that separates Forgejo from Gitea. The project is building support for repositories, issues, and pull requests to be followable and interactable from Mastodon and other Fediverse-compatible platforms. In practice this means a developer could follow a repository’s activity from their Mastodon account, or interact with issues without creating an account on the hosting instance. This is experimental and not yet complete, but it represents a fundamentally different vision for code hosting than any GitHub alternative is pursuing.

For most self-hosters choosing between Forgejo and Gitea, the practical difference today is small — the codebases are close, and daily usage feels identical. The choice comes down to whether community governance and the federation roadmap matter to you.

Forgejo: Pros & Cons

Pros (The Wins)Cons (The Friction)
Gitea-compatible:
Drop-in replacement; existing
repos and CI workflows migrate.
Smaller ecosystem:
Some third-party tools target
Gitea specifically, not Forgejo.
Community governed:
Codeberg e.V. non-profit;
no commercial control.
Experimental federation:
ActivityPub integration not
yet production-ready.
Federation roadmap:
Repos followable from
Mastodon and Fediverse.
Governance overhead:
Committee decisions can
slow release cadence.
Codeberg hosted:
Largest public instance
as reference deployment.
Star count context:
Codeberg stars not directly
comparable to GitHub metrics.

Use Cases

Specific ways to use Forgejo for your workflow.

01
Host private Git repositories for personal projects without depending on GitHub's terms of service or pricing
02
Run a self-hosted code review and issue tracking system for a small team with no per-seat fees
03
Migrate from Gitea while keeping full compatibility with all existing Gitea clients and integrations
04
Host an open-source project on infrastructure governed by the community rather than a commercial entity

Deployment Strategy

Recommended ways to host Forgejo in your own environment.

docker
self-hosted