Forgejo vs GitLab
Side-by-side comparison of two European software products.
By EuropeanStack Editorial·Published
Bottom Line
Forgejo and GitLab answer the same question — "where should our code live?" — at completely different scales. One is a forge; the other is a factory.
Forgejo🇩🇪 | GitLab🇳🇱 | |
|---|---|---|
| Ratings | ||
| Overall | 7.8 | 8.4 |
| Ease of Use | 7.5 | 7.0 |
| Feature Depth | 7.0 | 9.5 |
| Value for Money | 9.5 | 8.5 |
| EU Compliance | 9.0 | 9.0 |
| Support Quality | 6.0 | 7.5 |
| Integration Ecosystem | 6.5 | 8.0 |
| Details | ||
| Pricing | open source | freemium |
| Free Tier | ||
| Open Source | ||
| EU Data Hosting | ||
| Headquarters | Germany | Netherlands |
At a Glance
This is the decision teams face when they commit to running their own Git infrastructure. Both Forgejo and GitLab can be self-hosted on EU servers, both are open source, and both cover repositories, issues, code review, and CI/CD. What separates them is scale of ambition. Forgejo is a single lightweight binary governed by a Berlin nonprofit, doing the essentials of a forge and nothing more. GitLab is a publicly traded company's attempt to compress the entire DevSecOps lifecycle — security scanning included — into one application. Your answer depends on how much platform you actually need, and how much you are willing to operate.
| Forgejo | GitLab | |
|---|---|---|
| HQ | Berlin, Germany (Codeberg e.V., nonprofit) | Amsterdam, Netherlands (GitLab B.V.) |
| Founded | 2022 (forked from Gitea) | 2011 |
| Pricing Model | Free, open source (GPL v3+) | Freemium (Free, Premium, Ultimate) |
| Free Tier | Everything — no paid tier exists | Unlimited private repos, 400 CI/CD minutes, 5 users per namespace |
| Governance | Community-governed under a German nonprofit | Public company (Dutch entity, US-listed parent) |
| Resource Footprint | Single binary, runs on 512MB RAM | Significant infrastructure and maintenance required |
| Security Scanning | Not yet available | Built-in SAST, DAST, dependency scanning (Ultimate) |
Governance and the Gitea Fork
Forgejo exists because of a governance dispute. In October 2022, a group of Gitea contributors forked the project after its trademark and direction moved toward a newly formed for-profit company. They placed the fork under Codeberg e.V., a registered nonprofit association in Berlin with over 1,200 members and democratic decision-making. The licence moved to GPL v3+, whose copyleft terms prevent anyone from building a proprietary edition on top. There is no enterprise tier because the governance model forbids one existing.
GitLab took the opposite path deliberately. Founded in 2011, it grew from an open-source GitHub alternative into a NASDAQ-listed company running an open-core model. The Community Edition remains fully open source under the MIT licence, while the Enterprise Edition layers proprietary features on top. GitLab B.V. is incorporated in the Netherlands; its US parent entity, GitLab Inc., is listed on NASDAQ, but the original corporate entity is Dutch.
Neither model is wrong. Forgejo's structure guarantees the software stays free forever, at the cost of a tiny paid team — Codeberg e.V.'s donations fund two part-time staff. GitLab's structure funds over 1,000 employees and a relentless release cadence, at the cost of commercial gatekeeping on features many teams consider essential.
Edge: Forgejo for governance guarantees and licensing purity. GitLab for the development capacity a commercial model funds.
Feature Depth and Security Tooling
GitLab's feature surface is enormous, and its security tooling is the clearest differentiator in this matchup. SAST, DAST, dependency scanning, container scanning, and secret detection are built directly into the CI/CD pipeline, with findings surfacing in merge requests on the Ultimate tier. Value stream analytics, epics, compliance frameworks, and infrastructure-as-code support extend the platform well beyond what a forge traditionally covers. GitLab Duo adds AI code suggestions on paid tiers.
Forgejo covers the forge fundamentals well: repository hosting, issue tracking with time tracking, pull requests with review and approvals, kanban boards, wikis, and a package registry spanning containers, npm, PyPI, Maven, Cargo, and NuGet. Experimental federation support via ForgeFed is a genuinely novel direction no commercial platform is pursuing. But dependency scanning and security dashboards are not yet available, and the third-party extension ecosystem is far smaller than GitLab's.
For a team that needs compliance-grade security scanning inside the pipeline, Forgejo currently has no answer. A team that simply needs a fast, complete forge will find Forgejo's 80% covers what it actually uses.
Edge: GitLab, decisively, on feature depth — with the caveat that its best security features sit behind the Ultimate tier.
Operations and Hardware Footprint
Here the positions reverse just as sharply. Forgejo ships as a single binary with optional SQLite support, runs on a Raspberry Pi or a 512MB RAM VPS, and idles at modest memory usage. A small team can run a complete forge — CI/CD and package registry included — on a EUR 5/month server. Upgrades are a binary swap. This is self-hosting at its least demanding.
GitLab's self-managed deployment is the strongest in the commercial DevOps market, with reference architectures scaling from small teams to thousands of users. But it demands real resources and real expertise. Its own product data lists significant infrastructure and maintenance requirements as a known cost, and teams routinely dedicate operational time to upgrades, tuning, and scaling. The platform's breadth is precisely what makes it heavy.
So the operational question is honest and simple. Do you have — and want to spend — the infrastructure budget and admin hours a full GitLab instance consumes? Many teams do, because the platform justifies it. Plenty of others discover they were running a battleship to cross a pond.
Edge: Forgejo, by a wide margin, for operational simplicity and hardware cost.
CI/CD
GitLab CI is one of the most capable pipeline systems in the industry. Multi-stage workflows, parallel jobs, a visual pipeline editor, Auto DevOps, and deep integration with merge requests make it a genuine reason teams choose the platform. The trade-offs are a YAML syntax with its own learning curve and, on GitLab.com, metered compute minutes — though self-hosted runners have no limits.
Forgejo Actions is younger but strategically clever: its workflow syntax is compatible with GitHub Actions, so existing .github/workflows/ files often run with minimal modification. For teams migrating off GitHub, that compatibility collapses the CI/CD migration cost that usually anchors them to the platform. Runners are self-hosted, giving full control over build environments and secrets.
Maturity still favours GitLab. Its pipeline system has a decade of production hardening, richer orchestration features, and better documentation. Forgejo Actions handles standard build-test-deploy workflows well but has not yet matched that sophistication.
Edge: GitLab for pipeline power and maturity. Forgejo if GitHub Actions compatibility is your migration path.
Pricing and Total Cost
Forgejo's pricing is a single sentence. Every feature is free for every user under GPL v3+, with no enterprise edition, no seat licences, and no metering; your only cost is infrastructure. Donations to Codeberg e.V. fund development, which also explains the project's constraint — two part-time paid developers.
GitLab's Community Edition is also free to self-host, and it is a production-ready platform, not a crippled demo. The commercial ladder starts when you need gated features: Premium runs USD 29 per user per month, adding merge request approvals, CODEOWNERS, and 10,000 CI/CD minutes on SaaS. Ultimate, which adds the full security scanning suite and compliance frameworks, is now quoted through sales rather than publicly listed. Community Edition also lacks features many teams consider essential, such as push rules and audit events — that is where the upsell bites.
A 20-person team on GitLab Premium pays roughly USD 7,000 per year in licences. The same team on Forgejo pays nothing beyond a modest server. Whether GitLab's feature delta justifies that gap is the entire commercial question.
Edge: Forgejo on pure cost. GitLab if the paid features replace separate security and compliance tools you would otherwise buy.
EU Compliance and Data Sovereignty
Both options score 9.0 on EU compliance in our ratings, and both deliver genuine sovereignty — through different mechanisms.
Self-hosted Forgejo is the simplest possible compliance story. The software sends no telemetry, makes no external API calls, and stores everything on infrastructure you control; the data controller and processor are the same entity — yours. Codeberg e.V.'s registration in Berlin puts the project's governance itself under EU jurisdiction.
GitLab offers formal credentials instead: SOC 2 Type 2, ISO 27001, and EU data residency on GitLab.com for Premium and Ultimate customers, with data stored in Google Cloud's European regions. Self-managed GitLab on your own EU infrastructure matches Forgejo's residency posture. GitLab B.V.'s Dutch incorporation provides an EU legal entity, though procurement teams weighing jurisdiction should note the US-listed parent.
Organisations that need auditor-facing certificates will find GitLab's paperwork easier to hand over. Those defining sovereignty as "no third party touches the data" will prefer Forgejo's architecture.
Edge: Marginal tie. GitLab for formal certifications; Forgejo for structural data minimisation.
When to Choose Forgejo
Choose Forgejo if you want a complete, fast forge without licence costs or heavy operations. A single binary on a cheap EU VPS gives you Git hosting, code review, CI/CD, kanban boards, and a package registry — with no per-seat maths as the team grows. Teams leaving GitHub get a specific bonus: Forgejo Actions runs GitHub Actions workflow syntax, so pipelines migrate with minimal rework.
It is also the principled pick. Nonprofit governance under Codeberg e.V. and a GPL v3+ licence mean no future rug-pull, no enterprise-tier bait, and no acquisition risk. Accept the trade-offs knowingly: no security scanning yet, community-based support, and no managed hosting from the project itself.
Forgejo is the right choice if you need a lightweight, community-owned forge you fully control, and your security tooling can live elsewhere in the stack.
When to Choose GitLab
Choose GitLab if your team needs the platform, not just the forge. Built-in SAST, DAST, and dependency scanning, mature multi-stage pipelines, epics and roadmaps, and compliance frameworks replace an entire toolchain of separate products. Regulated European organisations get a rare combination: an EU-incorporated vendor, formal SOC 2 and ISO 27001 certification, and a self-managed option strong enough for government and financial-services procurement.
The Community Edition keeps the entry cost at zero for self-hosters, and the commercial tiers are defensible when they displace paid security tools. Budget honestly for the operational load — GitLab instances demand real infrastructure and maintenance expertise — and for the fact that the essential-feeling features cluster in paid tiers.
GitLab is the right choice if you need an integrated DevSecOps platform with enterprise compliance credentials, and you have the resources to run it properly.
The Verdict
Forgejo and GitLab answer the same question — "where should our code live?" — at completely different scales. One is a forge; the other is a factory.
Forgejo wins on cost, operational simplicity, governance, and migration friction from GitHub. Its value-for-money rating of 9.5 reflects software that gives everything away and still competes. GitLab wins on feature depth, CI/CD maturity, security tooling, and the certifications enterprise procurement demands, earning the higher overall rating (8.4 vs 7.8) on sheer capability.
Our recommendation splits on team profile rather than preference. Small teams, agencies, open-source projects, and sovereignty-first organisations without dedicated security-scanning needs should default to Forgejo — most will never miss what GitLab adds. Enterprises with compliance obligations, security-scanning requirements, or complex delivery pipelines should pay GitLab's operational and licence costs, because the integrated platform genuinely earns them. And if you want Forgejo's software without running it yourself, see our separate GitLab vs Codeberg comparison — Codeberg is the nonprofit hosted service built on Forgejo. Both paths keep you within European version control options; neither is a compromise.
FAQ
Is Forgejo a real alternative to GitLab for professional teams?
Yes, within limits. Forgejo covers repositories, code review, CI/CD, package registries, and project boards — the core workflow of most development teams. It lacks GitLab's security scanning, audit events, and enterprise analytics, so teams with compliance-driven requirements will hit gaps.
Can I migrate from GitLab to Forgejo?
Forgejo includes built-in migration tools that import repositories, issues, pull requests, labels, and milestones from GitLab and other forges. CI/CD pipelines need rewriting, since Forgejo Actions uses GitHub Actions syntax rather than GitLab's .gitlab-ci.yml format.
Which is cheaper to self-host?
Forgejo, clearly. It runs as a single binary on a 512MB RAM server, and every feature is free under GPL v3+. GitLab Community Edition is also free software, but the platform requires substantially more infrastructure, and features like push rules and advanced security sit in paid tiers.
Are Forgejo and GitLab both European?
Yes, with different structures. Forgejo is governed by Codeberg e.V., a registered nonprofit in Berlin. GitLab B.V. is incorporated in Amsterdam, making it an EU-registered company, while its US parent entity, GitLab Inc., is listed on NASDAQ.
How is Forgejo different from Gitea?
Forgejo forked from Gitea in 2022 to secure community governance under a nonprofit after Gitea's direction shifted toward a for-profit company. It is licensed under GPL v3+ rather than MIT, follows stricter governance rules, and prioritises features like federation support.