Logo: Forgejo

Forgejo

Self-hosted lightweight Free Software forge (Git, issues, packages, Actions CI) under Codeberg e.V.—distinct from Codeberg.org hosting.

Open sourceSelf-hosted

Forgejo is a self-hosted, lightweight software forge for Git-based collaboration: repositories, pull requests, issues, wikis, releases, a package registry, and built-in CI/CD via Forgejo Actions. Organizations run it on their own infrastructure with a modest resource footprint.

It exists because the Gitea domains and trademark moved to a for-profit company without community approval. Forgejo started in October 2022 as a soft fork and became a hard fork in early 2024. Domains sit with Codeberg e.V., a tax-exempt non-profit in Berlin.

The concrete differentiator is that community-governed, self-hosted forge distinct from the Codeberg.org hosted service. You operate the software; Codeberg.org is a separate public instance.

Open source (GPLv3+)Self-hostedCodeberg e.V. (DE)Forgejo Actions CIPackage registryGitea migration path

Shortlist Forgejo when you want a lightweight, self-hosted Git forge with GitHub-like UX, Actions-style CI on your runners, package registry, and non-profit Codeberg e.V. governance (GPLv3+ from v9). Skip when you need fully managed SaaS with enterprise SLA, or GitLab-class advanced CI/PM out of the box—consider GitLab CE/EE or GitHub instead. If you want hosted EU public forge without ops, evaluate Codeberg rather than self-hosting Forgejo.

Key capabilities

Run Git repositories, pull requests and code review, issues/boards, wikis, and releases on infrastructure you control. Install from official binaries or Docker; first registered user becomes admin. Suited to teams that want GitHub-like workflows without SaaS tenancy.

YAML workflows under .forgejo/workflows (GitHub Actions–inspired syntax, not identical) run on runners you register and label. Supports push/PR/schedule/dispatch, reusable workflows, matrices, services, and OIDC ID tokens. Advanced enterprise CI depth still lags GitLab/GitHub per project comparisons.

Publish and pull packages from the same forge—including container images, npm, and other package ecosystems listed in project docs—so artifacts stay next to the source repos that produce them. Operators still size storage and retention themselves.

Domains are in custody of Berlin-registered non-profit Codeberg e.V.; contributor-defined governance and public sustainability tracking. Hard fork of Gitea since early 2024; GPLv3+ from v9.0. Distinct from for-profit Gitea Ltd control of the Gitea trademark/domains.

Documented upgrades from Gitea preserve instance data; stable releases about every three months plus annual LTS and frequent security/bug patches. Operators must plan major-version upgrades manually—container tags intentionally avoid a floating latest major.

Active R&D toward federated forge features with monthly progress reporting. Still experimental: moderation/access control incomplete; breaking federation changes possible, including burning an ActivityPub domain. Not a production federation default.

At a glance

Product type
Self-hosted software forge (not Codeberg SaaS)
Umbrella / domains
Codeberg e.V., Berlin, Germany
License
GPLv3+ (v9+); MIT (≤v8)
Origin
Gitea hard fork (early 2024); project started Oct 2022
Install
Binary, Docker; community packages
Release cadence
~Quarterly stable, annual LTS, frequent patches

Best fit when

  • Teams that will self-host Git hosting and accept ops for upgrades, backups, auth, and runners
  • Organizations leaving Gitea over for-profit trademark/domain control and wanting a hard-fork FOSS path
  • Groups that need a lighter footprint than GitLab but still want PRs, issues, packages, and CI
  • FOSS communities and public-interest projects aligned with non-profit Codeberg e.V. umbrella
  • Buyers who can treat federation as experimental R&D, not a day-one requirement

Poor fit when

  • Buyers seeking a vendor-operated multi-tenant SaaS with enterprise support contract from Forgejo Inc.—that product shape does not exist
  • Orgs that need mature advanced CI/CD and deep project management comparable to GitLab/GitHub today
  • Teams unwilling to run or buy infrastructure for the forge and Actions runners
  • Anyone equating forgejo.org downloads with Codeberg.org hosting terms and residency

Consider instead when

  • When: You want a German non-profit public forge without self-hosting

    Consider: Codeberg

    Hosted service using Forgejo; separate ToS, moderation, and infrastructure from self-host software

  • When: You need advanced CI/CD and rich project management on a single platform

    Consider: GitLab CE/EE (self-host or SaaS) or GitHub

    Heavier ops or US-jurisdiction SaaS tradeoffs

  • When: You prefer staying on the Gitea project line or Gitea Cloud

    Consider: Gitea

    Closer upstream to some ecosystems; different governance and open-core/SaaS posture

  • When: You want a minimal email-oriented forge workflow

    Consider: SourceHut

    Different UX philosophy from GitHub-like Forgejo

Jurisdiction & ownership

Legal entity
Codeberg e.V. (domain custody; project under non-profit umbrella)
Governing law
Germany (association registered Berlin; Charlottenburg VR36929)
US parent / control
No known US parent
CLOUD Act exposure (indicative)
Low
Hosting / residency
Self-host path: no vendor multi-tenant hosting—repos, backups, email, CDN, and Actions runners are chosen by the operator. Codeberg.org and other public instances are separate hosted data paths under those operators, not implied by installing Forgejo.

Indicative only, not legal advice. Low vendor-side CLOUD Act exposure for ownership of the software project (EU non-profit, no known US parent). Residual exposure depends entirely on where you host the instance and which US-group cloud/SaaS you attach. Do not assume Codeberg subprocessors apply to a self-hosted deployment.

  • Independent security / no-logs auditNot found
  • ISO 27001Not found
  • SOC 2 / SOC 3Not found
  • GDPR / EU data protectionPartial
  • +3

Considerations & known limitations

  • MediumYou operate the forge and runners

    Upgrades (especially major versions), backups, auth, storage, TLS, and Actions runner capacity are on the operator. Not a managed SaaS.

  • MediumAdvanced CI/PM behind GitLab/GitHub

    Project comparison marks advanced CI and heavy project-management needs as weaker than GitLab/GitHub. Validate Actions and boards against your pipelines.

  • MediumFederation is experimental

    ActivityPub/ForgeFed may break; moderation/access control incomplete; domains can be burned for federation use.

  • LowSelf-host vs Codeberg/public instances

    Codeberg and other public instances have their own ToS, moderation, and infrastructure. Do not inherit their residency claims when self-hosting—or vice versa.

  • LowGPLv3+ redistribution obligations

    From v9.0, redistributing modified Forgejo generally requires corresponding source under GPL terms. Internal run-from-official-images is usually simpler; still not legal advice.

  • LowNo public ISO/SOC for the software

    Procurement checklists expecting vendor ISO 27001/SOC 2 will not find them for Forgejo as a project; rely on your own hosting controls and review process.

Open questions for due diligence

  • Who will own production ops: upgrades, backups, secrets, and Actions runners capacity?
  • If considering Codeberg or another public instance instead of self-host, what are that operator's DPA, residency, and subprocessors?
  • Do GPLv3+ redistribution rules affect your packaging, appliances, or downstream products?
  • Which CI workflows must be proven on Forgejo Actions (not assumed from GitHub Actions) before cutover?
  • Is experimental federation a requirement, or should it stay disabled?

Frequently Asked Questions

No. Forgejo is the Free Software forge you download and self-host (or that third parties run). Codeberg.org is a public hosting service operated by Codeberg e.V. that uses Forgejo under Codeberg's own terms, moderation, and infrastructure. Public third-party instances are listed separately. Evaluate residency, ToS, and support against the operator, not only the software name.

Forgejo v9.0 and later ship under GPL v3 or later. Versions through v8.x remain MIT. Running the official binary/container for your org is typically straightforward; redistributing modified binaries or packages generally requires providing corresponding source under the same GPL terms. The project is not AGPL/EUPL. This is not legal advice—have counsel review redistribution scenarios.

Yes—the admin upgrade documentation covers preparing a Gitea → Forgejo upgrade while preserving data. Practical caveats include binary/hook naming compatibility (historically keeping a gitea name or symlink) and testing major version jumps. Plan backups and a staging dry-run before production cutover.

No. Federation is experimental. Required capabilities such as moderation and access control are incomplete. The project may ship breaking federation changes without long notice and warns that a domain used for ActivityPub can become unusable for future federation. Enable only if you accept that risk and follow federation roadmap updates.

Workflow YAML is deliberately similar so many concepts transfer, and a github context alias exists for reuse—but they are not the same. Undocumented GitHub-only features may fail; prefer Forgejo docs and fully qualified action URLs. You must operate runners (labels, capacity, container/LXC backends). For very advanced CI/CD platforms, GitLab or GitHub Actions may still fit better.

When you need deeper built-in project management, more mature advanced CI/CD, or an ecosystem already standardized on GitLab—and you accept a heavier install and ops model. Forgejo's own comparison marks advanced CI and rich PM as weaker today. Choose Forgejo when lightweight self-host, FOSS purity, and non-profit governance outweigh that feature gap.