
Hosting · · 9 min read
European CI/CD alternatives to GitHub Actions in 2026
Forgejo Actions, Woodpecker CI, self-managed GitLab, Buddy, Semaphore and self-hosted runners compared on who runs them, what they cost and how much of your workflow survives the move.
If you want workflow files that look like the ones you already have, Forgejo Actions is the nearest fit, either on Codeberg or on a Forgejo server you run in Europe. Woodpecker CI is a light open-source engine that works with most Git hosts, and self-managed GitLab suits teams that want code, issues and pipelines in one place on their own servers. Buddy, a Polish company, and Semaphore, a Serbian one, are hosted services billed partly by usage.
Two shorter routes exist as well. You can keep GitHub and run its jobs on your own European server, or, if your workflow only deploys a web app, let Eurobase build and deploy on every push and drop that workflow.
The options at a glance
| Option | Who runs it | Hosted or self-run | Starts at | Reads GitHub workflow files |
|---|---|---|---|---|
| Forgejo Actions | Forgejo project, Codeberg e.V. in Berlin, or you | Both | Free software | Similar syntax, small changes needed |
| Woodpecker CI | Open-source project, or Codeberg's instance | Both | Free software | No, its own YAML |
| GitLab self-managed | You, with software from GitLab Inc., a US company | Self-run | Free tier with your own runners | No, its own YAML |
| Buddy | BDY PSA, Warsaw, Poland | Hosted | €0, then Pro at €29 a month | Not documented |
| Semaphore | Semaphore Technologies doo, Novi Sad, Serbia | Hosted, or open source to self-run | $15 of free credits a month, then by the minute | Not documented |
| Hetzner | You, with GitHub's own runner | Self-run | €5.49 a month excl. VAT for the smallest cloud server, when it can be ordered | Yes, unchanged |
| Eurobase | A business in Warsaw, Poland | Hosted | Free, then €10 a month + VAT | Not a CI tool: it deploys on push |
Prices are from each provider's own page, checked on 9 and 10 November 2026.
What to check before you switch
- Where the code lives. Moving CI while the repository stays on GitHub keeps a US company in the chain. Decide first whether the goal is European compute, a European company, or both. EU region vs EU company explains the difference.
- How much YAML you'd rewrite. Count your workflows and the marketplace actions they call. Each one that has no equivalent becomes a script you own.
- Who keeps the runners alive. Self-run CI is free software, but patching, disk space and stuck jobs are on your team.
- Build targets. If you ship mobile apps or Windows binaries, check which machine types each option offers before anything else.
- Who sees your secrets. A hosted CI service holds your deploy keys and tokens. Ask where it stores them and which subprocessors it uses.
1. Forgejo Actions
Forgejo is open-source Git hosting software, and Actions is its built-in CI. Workflows are YAML files in .forgejo/workflows, and if that folder is missing it reads .github/workflows instead. Forgejo's own docs say the goal is familiarity, not full compatibility: the default runner image is Debian with Node.js rather than GitHub's larger Ubuntu image, some keys of the github context are missing, and keys such as permissions are ignored. Workflows should need only small edits. Codeberg, run by the Berlin non-profit Codeberg e.V. on servers it controls, offers hosted Forgejo Actions in a limited open alpha, and you can attach your own runners.
- Best for: teams leaving GitHub altogether who want the shortest rewrite.
- Price: the software is free. On your own Forgejo you pay for the servers; on Codeberg you donate if you like.
- What it lacks: guaranteed hosted capacity. Codeberg's services are meant for free and open-source projects, so private company code belongs on a Forgejo server and runners of your own.
2. Woodpecker CI
Woodpecker is a free, open-source CI/CD engine that runs each pipeline step in a Docker container. It connects to GitHub, Gitea, Forgejo, GitLab and Bitbucket. Its docs say it's light enough for a Raspberry Pi, and woodpecker-cli exec runs a workflow on your laptop before you install a server. Codeberg runs a Woodpecker instance at ci.codeberg.org.
- Best for: small teams that want simple container pipelines on a server of their choice.
- Price: free software. You pay for whatever server runs it.
- What it lacks: Codeberg's instance needs a manual access request, is provided as-is, builds only for linux/amd64, and has limited role-based access control for larger teams.
3. GitLab self-managed
GitLab's self-managed edition puts repositories, issues and CI/CD on servers you choose, so a European data centre keeps all of it in one place. Jobs run on GitLab Runner, which you install and manage, using Docker, a shell or SSH on Linux, macOS or Windows. GitLab Inc. is a US company, so this route keeps the software vendor in the US even when every byte stays on your servers. GitLab.com, the hosted version, runs on Google Cloud in the US.
- Best for: teams that want one self-hosted tool for code, review and pipelines.
- Price: the self-managed Free tier means bringing your own storage and runners. Premium is $29 per user a month, billed annually. On GitLab.com, the Free tier includes 400 compute minutes a month and Premium includes 10,000.
- What it lacks: a light footprint. You run a full application, plus its upgrades and backups.
4. Buddy
Buddy is a hosted CI/CD and deployment service run by BDY PSA, registered in Warsaw, Poland. Its GDPR page says the application and user data sit on Amazon Web Services servers, and it offers a data processing addendum on request. Its privacy policy lists AWS and Hivelocity, both in the United States, and Hetzner Cloud in the EU as hosting infrastructure for the service.
- Best for: teams that want a hosted service from an EU company without running servers.
- Price: Free at €0 with $1 of usage credit a month and 2 concurrent runs. Pro is €29 a month for one seat, then usage from $0.00024 per CPU-minute plus memory. Team is €299 a month.
- What it lacks: a guarantee that jobs and data stay in Europe. Two of its three listed hosting providers are in the United States, so ask where your pipelines would run before you sign.
5. Semaphore
Semaphore is a hosted CI/CD service from Semaphore Technologies doo in Novi Sad, Serbia, which is in Europe but outside the EU. The platform is open source under Apache 2.0, so you can also run it yourself.
- Best for: teams that want hosted builds on Linux or macOS, priced by the minute.
- Price: $15 of free credits a month, then $0.0075 a minute for a 2 vCPU Ubuntu x64 machine, $0.09 a minute for a 4 vCPU macOS machine, and $0.0025 a minute for self-hosted agents.
- What it lacks: a stated hosting location for its cloud, and EU company status. Its privacy policy follows Serbian data protection law.
6. GitHub Actions runners on Hetzner
You can keep your workflows exactly as written and move only the compute. GitHub lets you register a self-hosted runner, and its billing docs list self-hosted runner usage as free. Hetzner, a German host, rents the server: it lists cloud servers from €5.49 a month excl. VAT, the CPX02 in Helsinki, or €6.49 in Falkenstein or Nuremberg, though those smallest plans showed as unavailable to order on 10 November 2026.
- Best for: teams that need builds to run in Europe but aren't ready to move repositories.
- Price: the server only.
- What it lacks: independence from GitHub. Your code, logs and workflow definitions stay with a US company.
7. Eurobase, for deploy-only workflows
Eurobase isn't a CI service and doesn't run your tests. It fits one common case: a workflow whose only job is to build and ship a web app. You connect GitHub, or link a repository on GitLab, Codeberg, Forgejo or Gitea through a read-only token plus a webhook. After that, each push to the branch you picked is built and deployed on European infrastructure run by Scaleway, a French provider. Frameworks like Next.js, Astro and Nuxt go to V8 isolates; a Node.js, Python, Go, Java, Ruby, PHP or .NET server goes to a container.
- Best for: removing the deploy job, so your remaining CI only tests.
- Price: free to start; Starter costs €10 a month + VAT and Pro €20 a month + VAT, each covering one workspace. You won't see usage charges today. Past a limit, new work is refused, apps on V8 isolates and Functions stop until the monthly reset, and containers and static sites stay online.
- What it lacks: test pipelines, preview deployments and Dockerfile builds. Connecting GitHub or GitLab adds them as US subprocessors, and ISO 27001 and SOC 2 are still being worked towards.
How to choose
- Want to leave GitHub completely? Move the code to Codeberg or your own Forgejo and port workflows to Forgejo Actions.
- Want a self-run CI that isn't tied to one Git host? Use Woodpecker.
- Want code, issues and CI under one roof on your servers? Run GitLab self-managed.
- Don't want to run servers at all? Compare Buddy and Semaphore, and ask each where jobs run.
- Only need jobs to execute in Europe? Add self-hosted runners on a European server.
- Is the workflow just a deploy? Point a Git host at Eurobase and delete it.
Frequently asked questions
Can I run my GitHub Actions workflows on Forgejo?
Mostly, with edits. Forgejo reads .github/workflows when there's no .forgejo/workflows folder, and many features translate one to one. The default image, some context keys and options such as permissions differ, so test each workflow.
Is there a free European CI/CD?
Yes. Forgejo Actions and Woodpecker are free open-source software you can run on any European server, and Codeberg offers both for free and open-source projects. Buddy also has a Free plan with $1 of monthly usage credit.
Do self-hosted runners make GitHub Actions GDPR-friendly?
They move job execution to your server, which helps when build data must stay in Europe. Your code, logs and settings still sit with GitHub, a US company, so check your contracts and subprocessor list as well.
Is GitLab a European alternative?
GitLab Inc. is a US company. Its self-managed edition runs on servers you pick, so the data can stay in Europe, but the vendor doesn't change.
Do I still need CI if Eurobase deploys on push?
For tests, yes. Eurobase builds and deploys each push to the linked branch, but it doesn't run test suites, so keep a CI job for those and drop the deploy step.
Sources
- Codeberg CI documentation and About Codeberg
- Forgejo Actions user guide and Forgejo Actions compared with GitHub Actions
- Woodpecker CI, Woodpecker docs and supported forges
- GitLab pricing and GitLab Runner
- Buddy pricing, Buddy GDPR and Buddy privacy policy
- Semaphore pricing, About Semaphore and Semaphore privacy policy
- GitHub Actions billing and self-hosted runners
- Hetzner Cloud pricing
- Eurobase: Deploy from Codeberg, Deploy from Forgejo, Deploy from GitLab, Plans and limits, Subprocessors
Keep reading
European alternatives to GitHub for code hosting in 2026Codeberg, Forgejo, self-managed GitLab, SourceHut and Gitea compared on who runs them, what they cost, private repositories and CI.Hosting9 min read
Glitch alternatives for small web apps in 2026Glitch stopped hosting apps in July 2025. Where its small Node.js apps and static sites can live now: Eurobase, Val Town, Render, Clever Cloud and Sliplane compared.Hosting8 min read
