If your team stores source code on GitHub, your intellectual property sits on Microsoft's US-based servers and is subject to US law — including the CLOUD Act, which allows US authorities to compel disclosure of data even when stored abroad. For EU companies handling sensitive codebases, proprietary algorithms, or customer data in their repositories, this is a genuine legal and commercial risk.
The good news: there are excellent European alternatives — some European-run, others that can be self-hosted on EU infrastructure you control.
What to look for in a code hosting platform
Before diving into specific options, the key criteria for EU teams:
- Data residency — servers physically located in the EU, ideally under EU-headquartered ownership
- GDPR DPA — a signed Data Processing Agreement with clear subprocessor lists
- No US parent company — a platform without a US parent avoids the most direct CLOUD Act exposure; check the ownership of both the platform and its host
- Self-hosting option — gives you control over where your data lives, on infrastructure of your choice
Top EU alternatives to GitHub
GitLab — full DevOps platform (US parent, self-hostable)
GitLab is the most feature-complete GitHub alternative. It was founded in the Netherlands, but its parent company, GitLab Inc., is a US company, so GitLab.com is not an EU-owned option. GitLab covers the entire DevSecOps lifecycle in a single platform:
- Git repository hosting with merge requests and code review
- Built-in CI/CD pipelines (GitLab CI is best-in-class)
- Container registry, package registry, and artifact storage
- Security scanning: SAST, DAST, dependency scanning, secret detection
- Project management, issue boards, milestones
Hosting options:
- GitLab.com (SaaS) — GitLab's cloud offering. Data is hosted on Google Cloud and AWS, which means US infrastructure. For full EU data residency on SaaS, GitLab offers a dedicated EU deployment — check their current DPA for details.
- Self-hosted GitLab — run GitLab CE (open-source) or EE on any EU VPS. Pair it with Hetzner or Contabo for €5–20/month to run it entirely on EU infrastructure.
Self-hosting GitLab on EU infrastructure is the most popular choice for teams with strict compliance requirements. You get GitHub parity (and beyond) with control over where your data lives.
Best for: teams that need CI/CD, security scanning, and project management in one platform; organisations replacing GitHub Enterprise.
Codeberg — EU non-profit, 100% open-source
Codeberg is a Berlin-based non-profit running a Gitea instance. It is hosted in Germany and free for public repositories.
- Hosted in Germany (Hetzner infrastructure)
- Non-profit foundation — no VC pressure, no acquisition risk
- Gitea-compatible API — easy migration from GitHub
- No built-in CI/CD (use Woodpecker CI, which integrates natively)
Best for: open-source projects, indie developers, and teams that want a lightweight GitHub alternative with zero cost and EU hosting.
Gitpod — cloud development environments
Gitpod is a platform for cloud development environments (CDEs) run by Gitpod GmbH in Kiel, Germany. OpenAI announced in June 2026 that it would acquire the company (now branded Ona); we have not confirmed that the acquisition has closed. Rather than replacing code hosting, Gitpod replaces the local development environment: every developer gets a reproducible, pre-configured workspace in the cloud.
- Integrates with GitLab, GitHub, or Bitbucket
- Hosting location depends on your setup; we have not verified where workspaces run, so check Gitpod's documentation
- Reduces "works on my machine" problems and onboarding friction
Best for: teams looking to standardise development environments alongside code hosted in the EU.
Woodpecker CI — open-source CI/CD
If you self-host Gitea or Codeberg, Woodpecker CI is the natural CI/CD companion. It is a fork of Drone CI, written in Go, and designed to run on your own infrastructure with no external dependencies.
Best for: teams self-hosting Gitea/Codeberg who need CI without paying for GitHub Actions minutes.
Comparing the options
| Platform | Founded in EU | Self-hostable | Built-in CI/CD | Free tier |
|---|---|---|---|---|
| GitLab (self-hosted) | Yes (NL) | Yes | Yes | Yes (CE) |
| GitLab.com (EU region) | Yes (NL; US parent) | No | Yes | Yes |
| Codeberg | Yes (DE) | No | No (use Woodpecker) | Yes |
| Gitpod | Yes (DE; acquisition by OpenAI announced) | Yes | No | Yes |
| GitHub | No (US) | No | Yes | Yes |
Recommended setup for EU teams
For small teams / indie developers: Codeberg (free) + Woodpecker CI (self-hosted on a €5 Hetzner VPS). Total cost: ~€5/month, hosted in the EU.
For growing teams that need CI/CD and project management: Self-hosted GitLab CE on Hetzner or Contabo. A €20–40/month server handles most teams comfortably. GitLab's CI system is more powerful than GitHub Actions for complex pipelines.
For enterprise / compliance-first organisations: GitLab EE self-hosted on your own EU infrastructure, or engage a GitLab partner for managed hosting within the EU. You get SLAs, support, and enterprise features (SAML SSO, security dashboards, compliance frameworks) while keeping data on EU infrastructure.
Migrating from GitHub
GitLab and Gitea both offer built-in GitHub migration tools that import repositories, issues, PRs, and wiki content. The practical steps:
- Set up your EU-hosted destination (GitLab CE or Codeberg)
- Use the built-in import tool or
gl_export/gitea-mirrorfor bulk migration - Update CI/CD references (GitHub Actions syntax differs from GitLab CI — plan a conversion sprint)
- Redirect team workflows: branch protection rules, webhooks, integrations
- Keep GitHub in read-only / mirror mode for 30–60 days while the team adjusts
The migration effort is typically 1–2 sprints for an active team. The compliance benefit is immediate.
Explore all code hosting and DevOps platforms on EU Alts, or browse the full developer tools category.
Frequently asked questions
Is GitHub GDPR compliant?
GitHub (owned by Microsoft) is a US company subject to the CLOUD Act. While GitHub offers a DPA and stores data in EU regions, your repositories remain under US legal jurisdiction and can be compelled by US authorities without notifying you. For sensitive codebases, this is a compliance risk. A common resolution is to self-host GitLab or Gitea on infrastructure you choose; with a European host that has no US parent, you are not relying on a US-owned provider for your data.
What is the best European alternative to GitHub?
For teams that need a full DevOps platform (CI/CD, security scanning, project management), self-hosted GitLab CE on a Hetzner or Scaleway VPS is the closest like-for-like replacement. For open-source projects or indie developers who want a lightweight option, Codeberg is free, hosted in Germany, and requires no self-hosting.
Is GitLab a European company?
GitLab was founded in the Netherlands (originally by Ukrainian developers Dmitriy Zaporozhets and Sytse Sijbrandij). It is now incorporated in the US as a public company (NASDAQ: GTLB). The self-hosted GitLab CE/EE software is open-source and can be run entirely on EU infrastructure, which lets you choose where your data lives.
Can I self-host GitLab for free in the EU?
Yes. GitLab Community Edition (CE) is free and open-source. You can install it on any EU VPS — a €20–40/month Hetzner or Scaleway server is sufficient for most teams. You get Git hosting, merge requests, GitLab CI/CD, a container registry, and issue tracking at no software cost. The only expense is the server itself.
What CI/CD system works best with EU code hosting?
If you self-host GitLab, GitLab CI is the natural choice and widely considered the most powerful open-source CI system available. If you use Codeberg or a self-hosted Gitea instance, Woodpecker CI integrates natively and runs on your own EU infrastructure. Both can keep your build logs, artefacts, and secrets on infrastructure you choose in the EU.
How long does it take to migrate from GitHub to GitLab?
GitLab has a built-in GitHub importer that transfers repositories, issues, pull requests, labels, and milestones. For a small team with 10–20 repositories, the import itself takes a few hours. The real migration effort is updating CI/CD pipelines: GitHub Actions syntax differs from GitLab CI YAML and requires a conversion sprint, typically 1–2 weeks for an active team. Keep GitHub in read-only mirror mode for 30–60 days during the transition.