Codeberg and Forgejo A European GitHub Alternative
Daniel Nashed – 31 August 2026 19:21:24
Codeberg and Forgejo — A European GitHub Alternative
I have been looking at alternatives and additions to GitHub, particularly solutions that are European, open source and can also be self-hosted.
1. Codeberg — Community Git Hosting from Germany
Codeberg is a non-profit Git hosting platform operated by Codeberg e.V., a registered non-profit association based in Berlin, Germany.
It provides much of what we expect from a modern development platform: Git repositories, organizations, issues, pull requests, releases, packages and CI/CD.
And it isn't limited to source code. Codeberg also provides an OCI/Docker container registry.
As a first test I have migrated (that's the term they use to mirror repositories) a project and publish a container image:
docker pull codeberg.org/nashcom/nshgeoip:latest
2. Forgejo — Run Your Own Git Platform
The software behind Codeberg is Forgejo, a free and open-source software forge. Which is actually based on Gitea.
Forgejo provides Git hosting, organizations, issues, pull requests, releases, packages, webhooks, a container registry and Forgejo Actions for CI/CD.
Even more interesting: Forgejo can be self-hosted. Binaries and container images are available, making it relatively easy to operate your own complete Git development platform.
A European Open-Source Ecosystem
This combination is what makes it particularly interesting:
- Codeberg gives us a public, community-operated Git platform from Germany.
- Forgejo gives us the open-source software to operate the same infrastructure ourselves.
For my existing projects, GitHub will remain the primary platform for now.
But Codeberg is an excellent additional European home for the projects, while Forgejo is particularly interesting for building a completely self-hosted development infrastructure.
We could also create mirrors as a backup for GitHub hosted projects.
Here is an example result of an Action I wrote to compile a project and publish the container image as a package.
The main difference is that in contrast to GitHub you have to create your own runners to run your compile and image builds.
I ran my build on a Hetzner Linux box with Docker installed. It just needs "node" and a small application + a token.
- Comments [0]