Codebahn is the private GitHub alternative: fast Git and CI for developers and teams. Your code is stored and served. Not scanned, not trained on, not tracked. Swedish company, EU-only infrastructure, every sub-processor EU-incorporated. Built on Forgejo, easy to leave.
The fast and private GitHub alternative
Codebahn is fast, private Git and CI. Your code is stored and served. Not scanned, not trained on, not tracked. Swedish company, EU-only infrastructure. 🇪🇺
From €9/month. No free tier.
Why use Codebahn?
GitHub is overkill for most developers. Codebahn gives you the features you use daily, without the complexity or the US data path. Solo from €9/mo, teams from €9/seat/mo.
- ✓
Just the features you use
Repos, pull requests, issues, CI, container registry, releases. No Copilot upsells, no feature maze. No restrictions on what you build: use AI tools, run agents, keep it all private.
- ✓
Built for your terminal and your LLM
An open-source CLI and a built-in MCP server. 128ms average MCP tool call vs GitHub's 2,155ms, 3.3x faster agent workflows, measured and published with full methodology.
- ✓
Pricing that makes sense
Solo at €9/mo replaces self-hosting and the backup scripts that come with it. Crew from €9/seat/mo. Every seat adds 1,000 CI minutes. No free tier, no surprise bills.
- ✓
Private by architecture
Your code is stored and served. Not read, scanned, or fed to a model. No telemetry, no tracking. There is nothing to opt out of. What private means.
Migration sounds like a project. It is not
Import if you're moving for good. Mirror if you'd rather keep GitHub as the source while you make up your mind. Both are one command in the open-source CLI, one repo or a whole org at a time. Works with GitHub, GitLab, and any Git host.
One pass, and the repo here is independent. Code and metadata come along with it.
$ codebahn repo import github.com/acme/api
$ codebahn repo import github.com/acme --include "*-api" -y
Queued: acme/api -> codebahn.net/acme/api (import)- Full history, issues, pull requests, labels, milestones, releases, wiki
- A whole org with
--include/--excludeglobs, skip what you don't need with--no-issues,--no-prs, etc. - Or do it in the browser: connect your GitHub account, pick repos, click import
GitHub stays the source, this side stays in sync. A low-risk way to try the thing you'd be migrating to.
$ codebahn repo mirror github.com/acme/api --private
$ codebahn repo mirror github.com/acme --exclude "legacy-*" -y
Queued: acme/api -> codebahn.net/acme/api (mirror)- A pull mirror that stays in sync with the source repository
- One repo, or every repo in an org that matches your globs
- Authenticates via the GitHub App, or pass
--source-token
Your CI keeps running
The same .github/workflows/ files run on EU runners without renaming. actions/checkout@v7 resolves from GitHub automatically. Most workflows need no changes at all.
Nothing to relearn
Standard Git, same SSH keys, same editor, same local config. Branch protection, webhooks, container registry, releases; all where you'd expect them.
And leaving again is just as easy
Built on Forgejo, open source underneath. One-click export of your repos, issues, and history in standard format. We publish the subprocessors and where Codebahn doesn't fit. You decide.
Coming from GitHub, GitLab, or your own Forgejo? Each comparison lists what changes when you move.
What's new
What we shipped and what we wrote, most recent first.
Hosted CI included. On every plan.
Solo is €9 a month with 200 CI minutes. Crew is €9 a seat plus €10 for the team, with 1,000 minutes per seat. All of it on tenant-isolated EU runners.
Solo
For individual developers.
or €90/year (save 2 months)
- 200 CI min/month
- 52 GiB storage
- Unlimited private repos
Crew Solo included
For teams.
+ €10/month for your team. One person is €19.
- 1,000 CI min/month per seat, pooled
- 52 GiB storage per seat
- Solo included for every member
Need a security addendum, DORA register, or dedicated migration support?
Assurance
Security addendum, DORA register, priority support, migration help.
See details14-day money-back guarantee. Full pricing and calculator →
“GitHub has turned into a behemoth. I use almost none of it. I'm annoyed that it's slow, frustrated when I can't find the feature I'm looking for, and helpless when there is an outage.”
Simon Nordberg, founder
I've self-hosted Codebahn on Codebahn since day one. I'm obviously biased, but I think it's a joy to work in, and I think you will too. The longer version of why it exists →





