Best European Alternatives to GitLab.com
Looking for a European alternative to GitLab.com's hosted service? Self-hosted Git platforms and EU-hosted code repositories offer complete control with GDPR compliance.
How we rank these tools — 4-step process
-
1
European ownership, verified
The company is headquartered and incorporated in the EU, EEA or Switzerland, and processes customer data in Europe. A US parent company disqualifies a tool from this page regardless of where its servers are.
-
2
Category fit and hands-on review
What the tool actually does, who it suits, and where it falls short — checked against the vendor’s own documentation, changelog and pricing page rather than its marketing copy.
-
3
Compliance and pricing check
GDPR posture, hosting location and the prices quoted on this page are verified against the vendor’s public pricing before publication, and re-checked when we revisit the category.
-
4
Position on this page
Placement on this page can be paid, and that can affect which tools appear here and the order they appear in. It never buys a good review: a tool that fails the checks above is not here at any price, and payment does not change the shortcomings we write about. A vendor can ask us to correct a factual error — not to remove a criticism.
Vendors can pay for visibility on this page. It never changes what an entry says about a product, including the criticism, and we earn nothing when you click through to a vendor. Paid placement can affect which tools appear here and the order they appear in. Editorial policy
Best European Alternatives to GitLab.com
Privacy-focused code hosting and DevOps platforms.
Codeberg
Community-driven Git hosting powered by Forgejo from Germany
Forgejo
Self-hosted lightweight Git forge with CI/CD pipelines
Gitea
Painless self-hosted all-in-one software development platform
Sourcehut
Minimalist open-source software development platform
Key takeaways
- GitLab.com runs your jobs on American infrastructure: instance runners in Google Cloud us-east1 and us-central1, macOS runners on AWS us-east-1.
- The European version GitLab sells is Dedicated — single-tenant, in an AWS region you choose, and only on the Ultimate tier.
- Self-managed GitLab is the shortest way out of the tenancy, and the forges here are for teams who conclude they never needed the platform.
- Export before you plan: GitLab.com limits a repository to 10 GB, an import to 5 GiB and an export to 40 GiB.
- Forgejo has been GPL v3+ since v9.0 rather than MIT, which matters if your legal team reviews licences before you deploy.
Why people leave GitLab.com
Leaving GitLab.com is not the same argument as leaving GitHub, and a page that runs the usual script here is not paying attention. GitLab is open core: you can read the code, and you are allowed to run the same platform yourself. The complaint cannot be that the software is a black box.
What you are leaving is the tenancy. GitLab.com is one enormous shared installation operated by GitLab Inc. from San Francisco, and its infrastructure sits in the United States — instance runners deploy into Google Cloud in us-east1, GPU and Arm64 runners in us-central1, and macOS runners on AWS in us-east-1. Your pipelines run there whatever your own address says.
GitLab does sell a European shape of itself, and it is worth knowing what it is before you go shopping. GitLab Dedicated is a single-tenant instance in the AWS region you pick, it requires the Ultimate tier, and it arrives through a sales conversation rather than a settings page. For a great many teams that is the correct answer. For everyone else, the honest question is whether they wanted a DevOps platform at all, or just a good forge.
- One tenancy, one operator, one country Multi-tenancy is the whole economy of GitLab.com, and it is also the thing you cannot configure your way out of. There is no region selector on the free or Premium plans, the shared runners execute your jobs on American infrastructure, and the operator is a US company. Nothing here is hidden or unusual; it is simply not adjustable, which is different from how GitLab feels when you read about the self-managed edition.
- The European answer is a tier and a contract GitLab Dedicated puts a single-tenant instance in an AWS region of your choosing, which genuinely answers the residency question. It requires Ultimate, the most expensive tier, and a conversation with an account team about your expected number of users. A ten-person team that wants its repositories in Frankfurt is not the customer that product was designed for, and will be quoted accordingly.
- The limits appear on the way out GitLab.com caps a repository at 10 GB, an import at 5 GiB and an export at 40 GiB. Nobody notices those numbers while they are using the service; everybody notices them on migration day, when a group export refuses to complete. If you are even considering a move, test an export of your largest group first, because that is the step that decides your timetable.
- The platform keeps growing into your workflow GitLab's documentation is explicit that a new customer on GitLab 18.0 or later has GitLab Duo Core automatically turned on, with no action needed; switching it off is a setting you have to go and find, at instance, group or project level. That is a defensible default and it is also the pattern: capability arrives switched on, and staying deliberate about it becomes a standing administrative task rather than a one-off choice.
What you have to replace, not just match
Be honest about the shortest path first: if the platform is fine and the tenancy is the problem, the least disruptive move is self-managed GitLab on your own European infrastructure. Same product, same pipelines, same imports, and no supplier between you and the repositories. This page does not rank it because it is not a different supplier, but it is a legitimate answer and plenty of teams should take it.
The forges below are for the other realisation, the one that arrives after pricing the hardware: that what you used was repositories, merge requests, issues and a bit of CI, and you were paying in weight for a portfolio and security suite nobody opened. A GitLab installation wants real memory and regular attention. Gitea and Forgejo want a small virtual machine.
Then separate the pieces GitLab bundled. The container registry can move to a registry, the packages to a package host, the wiki into a repository, the security scanning into whatever your CI already runs. Once they are separate, most of them turn out to be replaceable individually, which is why leaving GitLab is usually less frightening than leaving a platform that never unbundled.
The alternatives compared
| Position | Tool | Headquarters | Pricing | Jurisdiction |
|---|---|---|---|---|
| #1 | Codeberg | Berlin, Germany | Free | EU (Germany) |
| #2 | Forgejo | Berlin, Germany | Free (self-hosted) | Self-hosted; governed by a German non-profit |
| #3 | Gitea | Berlin, Germany | Free (self-hosted) | Self-hosted; project has a commercial entity |
| #4 | SourceHut | Europe | Free during alpha; paid plans expected from about $2 per month or $20 per year | EU |
How each alternative compares to GitLab.com
- Which law reaches it. EU (Germany). GitLab.com is run from the United States, so the CLOUD Act obliges the provider to hand over data on a valid order regardless of which country the servers are in.
- Where the data sits. EU (Germany).
- Source code. Open source, as GitLab.com is.
- Independently checked. GDPR.
Best for: Open-source projects that want a hosted forge without a vendor above it
Codeberg keeps the part of GitLab.com you actually liked — somebody else operates the thing and you just push — and changes who that somebody is. It is run by a registered German association whose members elect the board, publish the accounts and vote on the rules, rather than by a listed company answering to shareholders in another jurisdiction.
The contrast with GitLab.com is sharpest where the roadmap is. GitLab turns Duo Core on automatically for new customers and documents how to turn it off; Codeberg went the other way in July 2026, when its members voted a restriction on largely machine-generated projects into the terms of use and the announcement stated that the forge does not and will not use the code or data of projects and users to train "Artificial Intelligence" tools such as large language models.
The terms also name cryptocurrency projects as content it will not carry. You may not agree with all of it — but the rules were debated in the open and you can join and vote on the next one.
The trade-offs are the ones a donation-funded association has. CI capacity is shared, so builds queue when everyone is building; there is no enterprise control set; and the terms of use limit the platform to free and open source projects, which excludes the private company repositories that make up most of GitLab.com.
What Codeberg does better than GitLab.com
- Operated from Germany by a members' association, against a multi-tenant service run by a US company on US infrastructure
- Free with no seat count and no tier gate, where GitLab reserves its serious features for Premium and Ultimate
- A published commitment not to train AI tools on hosted projects, where GitLab turns Duo Core on automatically for new customers
- The governing rules, the finances and the decisions are published, and members vote on them
Where Codeberg is a step down from GitLab.com
- Free and open source projects only, so most GitLab.com refugees with private repositories are not eligible
- No built-in security scanning, dependency analysis or the dashboards GitLab Ultimate sells
- Shared, donation-funded CI rather than runners you can scale by paying more
- No commercial support contract, which some organisations require before they can adopt anything
Standout against GitLab.com. It is the only hosted option here where the people running the forge answer to the people using it, which is a different relationship from any tier GitLab sells.
- Which law reaches it. Self-hosted; governed by a German non-profit. GitLab.com is run from the United States, so the CLOUD Act obliges the provider to hand over data on a valid order regardless of which country the servers are in.
- Where the data sits. Wherever you deploy it.
- Source code. Open source, as GitLab.com is.
- Independently checked. GDPR.
Best for: Teams that want their own instance under non-profit stewardship
Forgejo is the software Codeberg runs, available to install on your own machine, developed under the umbrella of the same German non-profit and steered by public discussion and votes rather than by a company. If your objection to GitLab.com is not the code but who decides what the code becomes, this is the direct answer.
Get the licence right before your legal team does. Forgejo has been GPL v3 or later since version 9.0; everything up to v8.0 was MIT, and plenty of directories still print the old answer. Nothing about that should stop an adoption, but it should be in the paperwork, because a copyleft licence and a permissive one are read very differently by a procurement department.
The federation work is genuinely interesting and genuinely unfinished, and it deserves to be described accurately. Forgejo is building on ForgeFed so that instances can eventually interact rather than each being an island, and the project itself calls federation experimental, with moderation and access control still missing and a warning that a domain used for testing may become unusable for federation later. It is a direction, not a feature you can plan a migration around.
What Forgejo does better than GitLab.com
- Your own instance in a country you choose, instead of a shared tenancy in Google Cloud us-east1
- Governed by a German non-profit through public discussion and voting, rather than by a US corporation's roadmap
- Light enough to run on a small virtual machine, where a comparable GitLab installation wants serious hardware
- No tier gates: everything the software does is available to everyone, with no Premium or Ultimate line to cross
- The only project here working on federation between forges, which is the long-term version of not depending on one host
Where Forgejo is a step down from GitLab.com
- GitLab CI pipelines do not convert; Forgejo Actions is a rewrite
- No built-in SAST, DAST or dependency scanning of the kind GitLab bundles into Ultimate
- Federation is experimental, and moderation and access control for it do not exist yet
- No commercial support offering, so operations are entirely yours
Standout against GitLab.com. The same software Codeberg runs, under the same non-profit, on your own hardware — the version where neither a vendor nor an association sits between you and the repository.
- Which law reaches it. Self-hosted; project has a commercial entity. GitLab.com is run from the United States, so the CLOUD Act obliges the provider to hand over data on a valid order regardless of which country the servers are in.
- Where the data sits. Wherever you deploy it.
- Source code. Open source, as GitLab.com is.
- Independently checked. GDPR.
Best for: Teams who want a light forge and a support contract to point at
The usual reason a GitLab.com customer stays put is the belief that the alternative is running GitLab yourself, which means an Omnibus install, a few gigabytes of memory and a maintenance habit.
Gitea resets that expectation: one binary, one database, and a forge that stays responsive on a machine you would be embarrassed to point GitLab at. For a team whose GitLab.com usage was repositories, merge requests and a little CI, the hardware bill after switching is often a rounding error.
Where it differs from Forgejo is the availability of a counterparty. Gitea Enterprise is sold from roughly $9.50 to $19 per user per month on a one-year commitment, described by its vendor as self-hosted Gitea with single sign-on, audit logs and SLA-backed support, and Gitea Cloud will run it for you with a choice of provider and region. Organisations that cannot adopt software without a contract behind it have an option here that the non-profit route does not offer.
The thing to know before signing anything: the commercial entity behind Gitea is CommitGo, Inc., and it publishes no address or place of business anywhere on its own site. For a self-hosted instance that is immaterial — the software is MIT-licensed and the server is yours. For Gitea Cloud or an Enterprise agreement it leaves open precisely the question you were asking about GitLab Inc., so pick the region deliberately and read the contract.
What Gitea does better than GitLab.com
- Runs on a fraction of the hardware a self-managed GitLab needs, which is what makes leaving the tenancy affordable
- Your instance, your region, with none of GitLab.com's 10 GB repository or 40 GiB export ceilings
- A commercial support option exists, which Forgejo and Codeberg do not offer
- CI in GitHub Actions syntax, which is the most widely documented dialect and portable knowledge for your team
- No Premium or Ultimate tier: the features are simply there
Where Gitea is a step down from GitLab.com
- The company behind the paid products, CommitGo, Inc., publishes no European establishment, so Gitea Cloud reopens the jurisdiction question
- Gitea Enterprise per-seat pricing can exceed what you were paying GitLab Premium
- No equivalent of GitLab's bundled security scanning or portfolio planning
- GitLab CI configuration has to be rewritten as Gitea Actions workflows
Standout against GitLab.com. It is the option that makes leaving cheap in the literal sense: a forge small enough that self-hosting costs less than the seats you were renting.
- Which law reaches it. EU. GitLab.com is run from the United States, so the CLOUD Act obliges the provider to hand over data on a valid order regardless of which country the servers are in.
- Where the data sits. EU.
- Source code. Open source, as GitLab.com is.
- Independently checked. GDPR.
Best for: Small teams and maintainers who prefer separate tools to one integrated suite
GitLab's answer to every need is another feature inside the same tenancy: planning, packages, registries, scanning, analytics, an AI assistant. SourceHut's answer is a handful of independent services — git hosting, mailing lists, builds.sr.ht, a to-do tracker — that you can adopt one at a time and drop one at a time. If the bundle was what you disliked about GitLab.com, this is the argument for the opposite architecture.
It is also the cheapest honest answer on this page for a small team.
Plans are €4, €8 or €12 a month by your own judgement of what is fair, and during the public alpha only builds.sr.ht and chat.sr.ht require payment at all. The operator is registered in the Netherlands, in Hoorn, under KVK number 84165251, so there is no American company anywhere in the chain and no tier that unlocks a European region because the whole thing already is one.
Everything else is a limitation and the project says so plainly. No web merge button, no single sign-on, no audit logs, no compliance certifications, no mobile applications, and a patch workflow conducted over email. It ranks last here because most people leaving GitLab.com still want a forge that looks like a forge.
What SourceHut does better than GitLab.com
- An EU-registered operator by default, where a European GitLab means Dedicated on Ultimate or running it yourself
- Services you adopt individually, instead of a platform that arrives whole with features enabled by default
- Costs €4 to €12 a month for a whole team rather than per user per tier
- Pages under 50 KB and no JavaScript, which is a different experience from a modern web platform on a poor connection
Where SourceHut is a step down from GitLab.com
- Email patch review instead of merge requests, which is a real change of working habits
- No SSO, audit logs or compliance certifications, so procurement will usually refuse it
- Still in public alpha, and it does not pretend otherwise
- Nothing resembling GitLab's registry, scanning or planning features
Standout against GitLab.com. The only entry here that rejects the platform idea outright, and the only one whose bill for a small team is smaller than a single GitLab Premium seat.
What actually breaks when you switch
Test the export first, and test it on the biggest thing you own. GitLab.com caps exports at 40 GiB and imports at 5 GiB, and a group that has accumulated artefacts, packages and years of merge requests can run into that. Finding out in week one changes the plan; finding out on cutover weekend changes the weekend.
Expect the pipelines to be the whole project. GitLab CI has no translator to Actions, Woodpecker or build manifests, and the features that made it pleasant — includes, rules, needs, parent-child pipelines — are exactly the ones with no counterpart. Estimate that work by reading your .gitlab-ci.yml files, not by counting repositories.
And watch for what quietly held the estate together: the container registry, package registries, environments and deployment approvals, and the tokens wired into cloud accounts. Each is replaceable on its own; together they are the reason a migration that looked like a fortnight takes a quarter. List them from the project settings before anyone announces a date.
If GitLab is open source, why move at all?
Because open source answers a question about the software and not about the service. You can read GitLab's code, audit what it does and run it yourself — none of which changes the fact that on GitLab.com the instance is operated by a US company on US infrastructure, with no region for you to choose.
That is why the open-core argument cuts in an unusual direction here. The right response to disliking GitLab.com is often not a different forge at all; it is the same software on your own hardware, which the licence explicitly permits.
The forges on this page are the answer to a different sentence: "we ran the numbers on self-hosting GitLab and it is more platform than we want to own." That is a legitimate conclusion, and it is the one this page is written for.
What does GitLab Dedicated actually give me?
A single-tenant instance, fully isolated, hosted and maintained by GitLab in the AWS region you select, with high availability and disaster recovery included. For an organisation that wants GitLab and needs its data in a specific place, that is the product and it works.
The conditions are the tier and the conversation. Dedicated is Ultimate-only, and setup runs through an account team that asks for your expected number of users rather than presenting a price on a page. You will hear seat minimums quoted in forums; GitLab's own documentation does not state one, so treat any specific number you read as hearsay until your account manager confirms it.
Worth noting for the same audience: a new customer on GitLab 18.0 or later gets GitLab Duo Core turned on automatically, and the documentation sets out how to turn it off at instance, group or project level. If an AI usage policy or a residency review stands in the way of that default, make it part of the provisioning checklist rather than a discovery later.
How much of my GitLab setup survives a move to a lighter forge?
Repositories, branches, tags and issue text survive comfortably; Gitea and Forgejo both have importers that pull a project across the API, including issues, labels and milestones, and Codeberg runs Forgejo so the same import applies.
Merge request history degrades. Discussion threads, approvals and the exact review state are GitLab objects, and what lands on the other side is a readable record rather than a faithful copy.
The pipelines are rewritten. GitLab CI does not convert to Forgejo or Gitea Actions, and the further you have gone into includes, parent-child pipelines, rules and needs, the less of it maps onto anything. Teams with a heavy CI estate should think hard about self-managed GitLab instead, because that is the only move where the pipelines come with you.
Is a small forge really enough for a professional team?
For repositories, review and issue tracking, yes, and it has been for years. The parts people genuinely miss are narrower than the feature list suggests: the container registry, the built-in security scanning, and the environments and deployment views.
The registry is easy to replace, and a European registry in the same region as your cluster is usually faster than the one you had. Scanning is the honest gap — GitLab bundles SAST, DAST and dependency scanning into its top tier, and on a small forge you assemble that yourself from open tooling in CI. That is achievable, and it is work.
The test that settles it is not a feature comparison. Look at what your team opened in GitLab last month. If it was merge requests and issues, a forge is enough; if it was security dashboards and value stream analytics, it is not.
Which one to pick
If the platform suits you and the tenancy does not, run GitLab yourself on European infrastructure. It keeps the pipelines, the imports and the habits, and it is the only option that changes nothing except who holds the machine. That it is not one of the four ranked here is a consequence of this being a page about alternatives, not a judgement about the move.
If you have concluded that the platform was more than you needed, Forgejo is the one to install and Gitea is the one to install when somebody needs a support contract attached. Both are small enough that the hosting bill stops being an argument against leaving.
If the work is open source, Codeberg is the best home on this page and the one that removes the operator question instead of relocating it — as long as you can live with shared CI and a strictly free-software policy.
And if you are on GitLab Ultimate for the security suite, or your pipelines are a decade of accumulated CI, the responsible advice is to price GitLab Dedicated in a European AWS region before you price anything on this page. It answers the residency question completely, and for that estate it is usually cheaper than rebuilding.
Frequently Asked Questions
Codeberg if the project is free and open source and you want someone else to run it — an association rather than a company. Forgejo if you want to run it yourself under non-profit governance. Gitea if you want the same shape with a commercial support option behind it. SourceHut if a platform was never what you wanted. And self-managed GitLab if the platform is fine and it is only the tenancy you object to.
In the United States. GitLab's documentation places its instance runners in Google Cloud's us-east1 region, with GPU-enabled and Arm64 runners in us-central1 and macOS runners on AWS in us-east-1. GitLab Inc. operates from San Francisco. There is no European region to select on GitLab.com itself; that is what GitLab Dedicated exists for.
No, and the confusion is understandable. The project started in Europe, much of the company is spread across the continent, and the software is open source. The company running the service, GitLab Inc., operates from San Francisco and is listed in the United States. What GitLab gives you that a closed US vendor does not is permission to run the identical platform yourself, anywhere you like.
Not on the shared service. The way to get a GitLab instance in a European region is GitLab Dedicated, which is single-tenant, hosted in an AWS region you choose, and available on the Ultimate tier through a sales process. The other route is self-managed GitLab on infrastructure you or a European provider control.
A repository on GitLab.com is limited to 10 GB, an import to 5 GiB and an export to 40 GiB, alongside limits on artefacts and other objects. The export ceiling is the one that matters when leaving: test it against your largest group before you commit to a date, because a failed export is discovered at the worst possible moment.
No. GitLab CI is its own language and neither Gitea Actions, Forgejo Actions, Woodpecker nor builds.sr.ht will read it. Pipelines are rewritten, and the cost scales with how much of GitLab CI you adopted — includes, rules, needs and parent-child pipelines have no direct equivalent. If the pipelines are the valuable part of your setup, self-managed GitLab is the move that keeps them.
GPL v3 or later, from version 9.0 onwards; versions up to and including v8.0 were MIT. Directories and comparison tables still list it as MIT, so if a licence review stands between you and a deployment, take the current answer from the project's own FAQ rather than from a summary written before the change.
Not as a rule. Codeberg's terms of use open the service to projects under a free and open source software, hardware or culture licence, with private repositories permitted for what such a project legitimately needs rather than for proprietary products. A company leaving GitLab.com with closed-source repositories should be looking at Forgejo or Gitea on its own infrastructure instead.
A registry, and you have a choice of European ones. The registry is one of the easiest parts of GitLab to unbundle because the interface is a standard, so images can move to a managed European registry or a self-hosted one without touching the repositories. Gitea, Forgejo and Codeberg all carry package registries that accept container images, which is enough for a team whose images are build artefacts rather than a distribution channel.
Explore More European Alternatives
Discover privacy-focused European alternatives to other popular US tech services.