The hidden costs of the Gitea 1.23 surge
Gitea and Forgejo offer lightweight alternatives to GitLab, requiring as little as 120 MB of idle RAM compared to GitLab's 4 GB requirement. Small teams under 25 engineers can save significant hardware costs by choosing Go-based binaries over the heavy Ruby on Rails monolith.
I watch teams fall into the trap of choosing GitLab because they recognize the brand from CI tutorials. They end up paying for 4 GB of idle RAM forever. GitLab is a monolith that includes PostgreSQL, Redis, Sidekiq, Puma, Nginx, and Gitaly. This massive stack requires significant resources to prevent the system from failing under load. If you run GitLab on a small VM, you will see OOM kills on Sidekiq. Gitea and Forgejo are much leaner alternatives. Gitea is a single binary written in Go that sips 150 MB of RAM at idle. Forgejo is even more efficient and idles at approximately 120 MB of RAM. Gitea is a single binary which avoids the need to manage separate services like Postgres or Redis manually. A 5-person team pushing Go and Node code finds Gitea sufficient on a tiny VM. Gitea Actions is a GitHub Actions compatible tool and your workflows move with almost zero friction. A 5-person team can run Gitea on a $22 monthly VPS. GitLab is a $60 monthly investment for a 4 vCPU and 8 GB RAM server.
| Tool | Min RAM | Recommended VM | Idle RAM |
|---|---|---|---|
| Gitea | 512 MB | 2 vCPU / 4 GB | ~200 MB |
| Forgejo | 512 MB | 2 vCPU / 4 GB | ~120 MB |
| GitLab CE | 4 GB | 4 vCPU / 8 GB | ~4 GB |
Governance shifts and the Forgejo alternative
The Gitea 1.23 surge highlights a deep split in the community. Gitea transferred its domain and trademark to a for-profit company in October 2022. This move caused many users to migrate to Forgejo. Forgejo is under the control of the nonprofit Codeberg e.V. It focuses on federation through ActivityPub. Forgejo is a more transparent and community-driven environment for those who prioritize nonprofit ownership.
GitLab is an Open Core model. You get the basic Git server for free, but you pay for the specialized DevOps tools. This includes tools like dependency scanning, secret detection, and advanced project management. You encounter a trap when you integrate deeply into the platform and later face costs for essential security tools. While GitLab is a platform with a massive ecosystem of integrations, the resource-heavy Ruby on Rails monolith demands a significant investment in hardware that many small teams often find entirely unnecessary for basic Git hosting and simple CI/CD workflows. I recommend you check your team size before you commit to a heavy platform. For teams under 25 engineers, Gitea or Forgejo is the efficient choice. These tools handle Git operations, CI, and package hosting without excessive overhead. While Gitea Actions is compatible with GitHub Actions YAML, GitLab CI is a unique system that requires manual rewriting. For a 10-person team, Gitea or Forgejo is a $5/month option, while GitLab is a $20-40/month server.
| Feature | Gitea | Forgejo | GitLab CE |
|---|---|---|---|
| CI/CD | Gitea Actions | Forgejo Actions | GitLab CI |
| Registry | Yes | Yes | Yes |
| Language | Go | Go | Ruby on Rails |
| Min RAM | 512 MB | 512 MB | 4 GB |
Migration friction and security vulnerabilities
Leaving GitLab requires more effort than entering it. You cannot use a one-shot importer to move from GitLab to Gitea or Forgejo. Instead, you must script your own repository cloning and recreate issues via an API. This process takes an afternoon for a single repo, but it takes weeks for large histories. Gitea also is subject to a specific security risk. CVE-2026-58439 affects Gitea versions through 1.26.4. An attacker can exploit this vulnerability to cause a total loss of integrity or availability. The attack requires low privileges and zero user interaction. This vulnerability is remotely exploitable across the network and causes high integrity loss.
For a solo developer or a team of ten, Gitea is the efficient choice. You get repositories, pull requests, and a package registry without the massive RAM bill. Gitea’s built-in importer for GitHub pulls in issues, PRs, wiki, releases, and labels, but you must have each user log in once to link commits. For larger, regulated industries, GitLab is the professional standard. It is a platform with compliance and security scanning that smaller tools lack. If your organization manages 30 or more developers, GitLab is the sensible choice because it integrates everything in one box. Will the community ever reconcile the governance split between Gitea and Forgejo?