How much platform do you actually need?
This category runs from a complete DevOps suite to a deliberately minimal forge, and the weight is the decision.
Everything in one place: GitLab gives you repositories, CI/CD pipelines, DevSecOps scanning, a package and container registry, Kubernetes integration, issue tracking and portfolio planning. The free tier includes unlimited private repositories, 5 GB storage and 400 CI/CD minutes per month; Premium is $29 per user per month, Ultimate $99.
Just hosting, done well and free: Codeberg, for open-source projects and privacy-focused developers, including Pages static hosting and Woodpecker CI.
Something you run yourself on modest hardware: Gitea or Forgejo, both a single Go binary plus a database. Something deliberately minimal: SourceHut. CI/CD without a forge attached: Buddy Works.
What is the difference between Gitea and Forgejo?
Governance, almost entirely — the software is close to identical and the values are not.
Forgejo was forked from Gitea in 2022 by community members concerned about the project's direction after a commercial entity was formed around it. Forgejo operates under Codeberg e.V., the German non-profit, with decisions made by community consensus through public discussion, RFC processes and democratic voting rather than corporate directive. The codebase is MIT-licensed, and development happens on Codeberg itself.
Technically both remain very similar, with Forgejo tracking Gitea releases and adding community-driven improvements. Gitea has the larger ecosystem and the commercial backing that comes with a company behind it.
Forgejo also leads on federation through the ForgeFed protocol — as of 2025, federated repository stars across Forgejo installations are implemented, a foundational step towards federated pull requests, issues and identities. If a decentralised forge ecosystem matters to you, that work only exists here.
What does self-hosting a forge actually cost?
Less than most teams assume, and Gitea is the reason the assumption is out of date.
Gitea's Go architecture compiles to a single binary with no external dependencies — the web interface, API server and background workers all run in one process, needing only the binary and a database, which can be SQLite. It consistently outperforms GitLab on resource usage and response times at smaller installations, starting in seconds rather than minutes and staying responsive on modest hardware.
GitLab self-hosting is heavier but gives complete data control: the open-source Community Edition deploys on-premise or in any cloud, and because the project is open source, its security practices and code changes are publicly auditable.
For teams migrating off GitHub, the practical unlock is Gitea Actions, which is compatible with GitHub Actions workflow syntax — core workflow, job and step definitions and environment management carry over, though not every marketplace action does. Codeberg and Forgejo use Woodpecker CI and Forgejo Actions respectively.
Why would a forge be run by an association?
Because the incentives of a venture-funded platform and the interests of the people hosting code on it are not the same, and Codeberg is built to remove that gap.
Codeberg e.V. is a registered association under German law, governed by members who elect the board and vote on major decisions, with annual reports published and finances open to member scrutiny. There is no investor whose return depends on extracting more from users later.
What it delivers is substantial for a free service: git hosting, issue tracking, wikis, a package registry, Codeberg Pages for static sites with custom domains and automatic Let's Encrypt HTTPS served over a CDN, and Woodpecker CI with YAML pipelines, Docker builds, matrix builds and secrets management. Over 100,000 registered users and hundreds of thousands of repositories.
The limits are the honest consequences of the model: shared CI compute that queues at peak, no sophisticated security scanning or advanced project boards, and a design aimed at open source rather than complex enterprise requirements.
Is a JavaScript-free forge a real advantage?
Yes, and SourceHut is worth understanding even if you never adopt it, because it makes the trade-off visible.
The entire SourceHut web interface works without JavaScript. Every page is server-rendered HTML, forms submit as ordinary HTTP POSTs, navigation uses hyperlinks, and pages are typically under 50 KB. That is faster on slow connections and old hardware, more reliably accessible to screen readers that struggle with JavaScript-heavy applications, and usable where GitHub's multi-megabyte bundles are not.
It also hosts Mercurial alongside Git, runs mailing lists for discussion, and provides builds.sr.ht for CI and todo.sr.ht for bug tracking. Free during its public alpha, with paid plans expected from about $2 per month or $20 per year — sustainable precisely because the architecture is cheap to run.
The cost is the workflow. Email-based patches have a steep learning curve for anyone who has never used git send-email, there is no web merge interface, no wiki editor, no mobile apps, and no SSO, audit logs or compliance certifications. It suits developers comfortable with command-line and email workflows and nobody else.