Forgejo
by Forgejo project (Codeberg e.V.) · Application
Community-governed self-hosted Git forge forked from Gitea, stewarded by Codeberg e.V., with pull requests, issues, packages and Forgejo Actions
Overview
Forgejo is a self-hosted software forge created in late 2022 as a fork of Gitea after a company took control of the Gitea trademark and domain. It is developed under the umbrella of Codeberg e.V., a German non-profit that also operates the public Codeberg.org instance on Forgejo. The project is written in Go and keeps the familiar forge feature set: Git hosting, pull requests and review, issues and projects, wikis, a package registry, repository mirroring, and Forgejo Actions, a CI system compatible with the GitHub Actions workflow format.
Forgejo publishes long-term-support releases and, since version 9, licenses new contributions under GPL-3.0-or-later rather than MIT, which is one of the visible divergences from Gitea. It is also developing ActivityPub-based federation between instances. Deployment is a single binary or container with SQLite, PostgreSQL or MySQL, so it runs on modest hardware. Its caveats are a smaller contributor base than GitHub or GitLab, Actions compatibility that is close to but not identical with GitHub's, and the ongoing divergence from Gitea, which means migration between the two forges becomes less trivial over time.
Capabilities
- Git hosting with pull requests and code review
- Issues, projects and wikis
- Forgejo Actions CI using GitHub-compatible workflow syntax
- Package registry and repository mirroring
- LTS releases
- Federation work based on ActivityPub
Typical workflows
- Self-host a forge for a group on a small server
- Migrate from Gitea or GitHub using the built-in importer
- Run CI on self-hosted runners
Strengths
- Non-profit governance
- Copyleft license guarantees future openness
- Low resource footprint
Limitations
- Smaller ecosystem than the major forges
- Actions compatibility is partial
- Growing divergence from Gitea complicates switching back
Prerequisites
- A Linux host (containers common); optional PostgreSQL or MySQL
Who it is for
- Communities and non-profits self-hosting code
- Privacy-conscious teams
- Home-lab operators
Alternatives & comparison
Gitea is the parent project with company backing and an MIT core; Forgejo differs mainly in governance, copyleft licensing and some features such as federation work. GitLab is a far larger platform for enterprise use, and GitHub is the proprietary cloud service with the broadest community.
- Gitea
Lightweight self-hosted Git forge written in Go with repositories, pull requests, issues, packages and GitHub-compatible Actions, deployable as a single binary
Open sourceOpen source - GitHub
Microsoft-owned code hosting platform for Git repositories with pull requests, issues, Actions CI/CD, package registry, Copilot and the largest open-source community
ProprietaryFreemium - GitHub Actions
GitHub's CI/CD and automation service that runs YAML-defined workflows on hosted or self-hosted runners in response to repository events
ProprietaryFreemium - GitLab
Open-core DevSecOps platform combining Git hosting, merge requests, integrated CI/CD pipelines, registry and security scanning, available as SaaS or self-managed
MixedFreemium
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSEchecked Nov 1, 2026
Supports: license_spdx, source_model
GPL-3.0 text; earlier releases were MIT
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Version control & code hosting
Git
Git project (Software Freedom Conservancy) · Version control & code hosting
Distributed version control system that records snapshots of a project's history locally and synchronizes them with remotes such as GitHub, GitLab or a bare repository over SSH