Forgejo
A self-hosted Git forge, like a small GitHub you run yourself: repositories, pull requests, issues, a package registry and built-in CI in one Go program, developed by a community under the non-profit Codeberg e.V. as a hard fork of Gitea.
- What it is
- Version control
- Used for
- CI/CD pipelines,Issue tracking
- Type
- Open source
- Made by
- Codeberg e.V.
- License
- GPL-3.0-or-later (MIT up to v8.0)
- Facts checked
- 13 October 2026
What it is
Forgejo is a single program, written mostly in Go, that you run next to Git. It keeps repositories as ordinary Git repositories on disk and everything else (users, issues, pull requests, permissions) in a database: SQLite with no setup, which its docs say is enough for at least 10 users, or PostgreSQL 14+, MySQL 8.4+ or MariaDB 10.6+. People clone and push over SSH as a system git user or over HTTPS, and use the web UI for code review, issues, wikis, projects and releases. It also hosts packages for 23 formats, from npm, PyPI, Maven and Cargo to OCI container images, Debian and RPM repositories.
Forgejo Actions is its built-in CI. Workflows are YAML files in .forgejo/workflows (or .github/workflows if that is all there is), with the same shape as GitHub Actions: triggers, jobs, runs-on labels and steps that run commands or reuse actions such as actions/checkout. The Forgejo server doesn’t run the jobs itself: it hands them to separate Forgejo Runner processes registered with the instance, each serving labels such as docker that workflows name in runs-on. The docs say it is designed to be familiar to GitHub Actions users but not compatible, so migrated workflows need some changes.
Forgejo began in late 2022 as a community fork of Gitea, after Gitea’s domains and trademark moved to a for-profit company, and has been a hard fork since early 2024. Codeberg e.V., a non-profit registered association in Berlin, holds its domains, and Codeberg.org, which hosts projects such as the Zig compiler, runs on it. Stable releases come out every quarter and are supported for about three months; one release a year is long-term support (LTS) for about 15 months. The current versions are 16.0.6 and LTS 15.0.10, both released October 12, 2026.
Why teams pick it
- Light to run: one binary, SQLite for small teams, and the usual forge features (code review, issues, wiki, packages, CI) without extra services
- Free software with non-profit governance: GPLv3+ since v9.0, developed and released entirely with free tools, and no paid open-core edition
- Predictable releases: a fixed quarterly schedule with dates published more than a year ahead, LTS versions, semantic versioning and upgrade tests
- Easy to move from Gitea: instances up to Gitea 1.22 upgrade in place, via Forgejo 10.0, and the API aims to stay compatible with Gitea’s
Watch out for
- Forgejo Actions isn’t compatible with GitHub Actions, and you have to install and maintain runners yourself unless your instance provides them
- Federation with other forges through ForgeFed and ActivityPub is still experimental, and the project warns it may break without notice
- Non-LTS releases get fixes for only about three months, so you either upgrade every quarter or stay on the yearly LTS line
- Gitea releases after 1.22 have no supported upgrade path, and the two codebases drift further apart with each release
Alternatives
What all version control have in common →Compare side by side →How it fits with other technologies
What Forgejo uses
.forgejo/workflows/demo.yaml: runs on a runner labeled docker · yaml
on: [push]
jobs:
test:
runs-on: docker
steps:
- uses: actions/checkout@v6
- run: ls -la
- run: echo All good!See it in a real stack
No architecture uses Forgejo yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2022–2026
Gitea was a community-run, self-hosted Git service, six years old in October 2022, with more than 1,000 contributors. On October 24, 2022 its Technical Oversight Committee announced Gitea Limited, a company to sell support, hosting and an enterprise version, and said Gitea’s domains and trademarks, held by Lunny Xiao, had been transferred to it. The company said Gitea would stay open source and community-run. Part of the community objected that control had been handed to a for-profit company without consulting them, and an open letter to the project owners went unanswered.
Former Gitea maintainers and others created Forgejo in October 2022 and announced it on December 15, named after forĝejo, Esperanto for forge. It started as a soft fork, a drop-in replacement for Gitea under the umbrella of Codeberg e.V., which also switched Codeberg.org from Gitea to it. The project moved its own development to free tools (Woodpecker CI and then Forgejo Actions, Weblate instead of Crowdin) and required tests for every change.
In February 2024 Forgejo became a hard fork, free to change code without tracking Gitea, and promised upgrades only from the Gitea version current at the time. In April 2024 it jumped from v1.21 to v7.0 to adopt semantic versioning, with 7.0 as its first LTS release, and from v9.0 (October 2024) it is licensed under GPLv3 or later, after contributors agreed in 2023 to accept copyleft code. The Gitea project continues separately under Gitea Ltd., and each side describes the split from its own point of view.
Why it’s built this way
- Non-profit custody instead of a company
- The fork existed because Gitea’s domains and trademark went to a for-profit company. Putting Forgejo’s domains with Codeberg e.V., a non-profit whose bylaws aim to keep free software open and available, was meant to keep the project in the interest of the general public.
- Become a hard fork in 2024
- Merging all of Gitea, good and bad, limited what Forgejo could change and test. A hard fork let maintainers reduce technical debt and add features without constant conflicts, at the cost of eventually no longer being a drop-in replacement.
- Switch to a copyleft license from v9.0
- The MIT license kept out contributors who publish under copyleft and forced the removal of incompatible dependencies. GPLv3+ allows reusing copyleft code and guarantees users’ freedoms, and Forgejo already ships with Git, which is GPLv2.
- Federation as the long-term goal
- Forgejo’s main roadmap item is federation between forges through ForgeFed, an extension of ActivityPub, so people on different instances can collaborate without everyone joining one central service.
Timeline
- 2022
Gitea Limited announced (October 24); Forgejo created in October and launched December 15 under Codeberg e.V.
- 2024
Hard fork announced (February 15); v7.0, the first LTS and semantic-versioned release (April 23); GPLv3+ from v9.0, announced August 22
- 2025
v11.0 LTS (April 16); Zig moves its repository from GitHub to Codeberg (November 26)
- 2026
v15.0 LTS (April 16) and v16.0 (July 16); 16.0.6 and 15.0.10 released October 12
- Gitea blog: Open source sustainment and the future of Gitea (Oct 24, 2022)
- Forgejo news: Forgejo is now live (Dec 15, 2022)
- Forgejo: Comparison with Gitea (why Forgejo was created, hard fork in early 2024)
- Forgejo news: Forgejo forks its own path forward (Feb 15, 2024)
- Forgejo news: Forgejo v7.0 is available (Apr 2024; semantic versioning, first LTS)
- Forgejo news: Forgejo is now copyleft, just like Git (Aug 22, 2024)
- Forgejo docs: Release schedule (7.0 to 20.0 with LTS and end-of-life dates)
- Zig news: Migrating from GitHub to Codeberg (Nov 26, 2025)
- Codeberg API: forgejo/forgejo releases (16.0.6 and 15.0.10 on Oct 12, 2026)
Sources11 · facts checked 13 October 2026
- Forgejo FAQ: governance, Codeberg e.V., federation status, license
- Forgejo docs: Installation from binary (git user, SQLite good enough for at least 10 users)
- Forgejo docs: Database preparation (PostgreSQL 14+, MySQL 8.4+, MariaDB 10.6+)
- Forgejo docs: Package Registry (supported package managers)
- Forgejo docs: Forgejo Actions user guide (runners, not designed to be compatible with GitHub Actions)
- Forgejo docs: Forgejo Actions quick start guide
- Forgejo docs: Upgrade guide (release life cycle, upgrades from Gitea up to 1.22)
- Forgejo docs: Release schedule
- Forgejo: Comparison with Gitea
- Codeberg Documentation: What is Codeberg? (Codeberg.org is powered by Forgejo)
- Codeberg API: forgejo/forgejo repository languages (mostly Go)