Skip to content

Best Self-Hosted Git Servers

Self-hosted Git servers put your repositories on hardware you own, from a 512 MB forge with pull requests up to a full DevOps platform that wants 8 GB. Settle that span first, because it is the widest on any hub here: Gogs documents 512 MB, GitLab CE documents 8 GB as its constrained floor and 16 GB as the real baseline, and everything else sits between them. The second question is whether you want a forge at all. Gitea, Forgejo, Gogs, GitLab, OneDev and GitBucket all give you pull requests, issues and a web UI; Soft Serve gives you SSH, a terminal UI and clones, and that is the point of it rather than a gap in it — it is somewhere to push, not somewhere to review code. Then read the licence line twice. GitLab and OneDev are open core, with real features held behind paid tiers, while Gitea, Forgejo, Gogs and GitBucket are not. Governance matters to some readers too: Forgejo is a community hard fork of Gitea, created after Gitea's development moved under a company. And one runtime outlier — GitBucket is a Java WAR you start with java -jar, where everything else here is a container or a single binary.

Code hosting

Forgejo

A community-run hard fork of Gitea, stewarded by the Codeberg nonprofit. Near-identical to use, with independent, community-first governance.
Go
easyRead guide →
Code hosting

GitBucket

A Git platform that ships as a single Java WAR file — put it on a box with a JVM, run java -jar, and you have repositories, issues, pull requests and a wiki. Its two selling points are a GitHub-compatible REST API and a plugin system; it has no built-in CI runner.
Scala
easyRead guide →
Code hosting

Gitea

A lightweight, self-hosted Git service with pull requests, issues, and a CI runner — a fast GitHub alternative that runs comfortably on a small box.
Go
easyRead guide →
Code hosting

GitLab CE

The whole DevOps platform in one install: repositories, merge requests, issues, a built-in CI/CD runner fleet, container and package registries, and Pages. It is open core — the community edition is MIT, the ee/ directory behind the paid tiers is not — and it is by far the heaviest thing on this list.
RubyGoPostgreSQL
hardRead guide →
Code hosting

Gogs

A self-hosted Git service that ships as one small Go binary — the original project Gitea and later Forgejo were forked from, still maintained and still the leanest of the three. Repositories, issues, pull requests, wiki and webhooks are all there; a built-in CI runner is not.
Go
easyRead guide →
Code hosting

OneDev

A Java forge whose distinguishing trick is code intelligence: language-aware symbol search and navigation at any commit, plus regex code search, all built in rather than bolted on. It bundles a GUI-driven CI/CD engine, package registries and issue boards in one container, and is open core — clustering, audit logging and cross-project search need a paid subscription.
Java
easyRead guide →
Code hosting

Soft Serve

An SSH-first Git server you drive from a terminal UI: clone over SSH, HTTP or the Git protocol, browse repositories, files and commits without leaving the shell, and manage access entirely with SSH public keys. It has no pull requests, no issues and no web forge UI, so it sits alongside a hosted forge rather than replacing one.
Go
easyRead guide →

Head-to-heads in this category

Replace a paid tool

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.