★ 56,233GoMITupdated Jun 2026
best for the default pick — lightweight, actively developed, full repos/PRs/issues plus built-in Actions CI
Gitea is the one most teams should start with. It's a single Go binary, it covers repos, PRs, issues, and packages, and it ships GitHub Actions-compatible CI so your existing workflows mostly just work. Nothing else here gets this close to a drop-in GitHub replacement with this little operational overhead.
The 'just a binary' pitch only holds if you stick to the release tarballs — build it from source and you need both a Go toolchain and Node/pnpm, which undercuts the simplicity story the moment you want to patch something yourself. Gitea Actions is still catching up on the harder stuff too: reusable workflows and some expression functions have known gaps, so don't assume a one-to-one migration from GitHub without testing first.
It's also bigger under the hood than it looks from outside — the models directory has sprawled into dozens of subpackages, and the fixture-heavy tests are coupled enough that a schema change in one area can quietly break tests somewhere unrelated. If you want something genuinely tiny, Gogs is the lighter sibling; if you need GitLab's CI/CD maturity, Gitea isn't trying to compete there.
Our full take →GitHub ↗
★ 24,421RubyNOASSERTIONupdated Jun 2026
best for teams that want a full enterprise DevOps suite with the most mature built-in CI/CD
GitLab is what you pick when CI/CD is the point, not an add-on. The pipeline configuration in .gitlab/ci/ is some of the best modular CI design you'll find in an open source repo, and the CE/EE split is handled more cleanly than you'd expect from a project this size and this commercial.
None of that comes free. This mirror isn't even where development happens, and self-hosting the real thing is not a weekend project — the GDK is the only sane way to run it locally, and it's its own opaque layer before you've written a line of code. Two decades of Rails patterns are stacked on top of each other inside: service objects, concerns, presenters, and GraphQL resolvers all solving the same problem in different corners of the tree, and the growing .rubocop_todo and .eslint_todo directories are GitLab's own admission of how much of that debt is deferred rather than fixed.
Major version upgrades have been painful enough that GitLab publishes dedicated stop-point guides for them — something Gitea and Gogs users simply don't have to think about. Pick GitLab because you want its CI/CD maturity and are willing to staff for it, not because it's the safe default.
Our full take →GitHub ↗
★ 38,146GoApache-2.0updated Aug 2026
best for teams wanting SCM, CI/CD, hosted dev environments and artifact registries bundled into one modern platform
Harness is Gitea's ambition turned up a notch: Git hosting, CI/CD, hosted dev environments, and an artifact registry, all in one binary with an embedded UI you can get running with a single docker run. The pedigree matters here — the CI engine descends from Drone, so it's not a greenfield rewrite pretending to be production-ready.
That breadth is also the catch. The README itself admits Harness pipelines aren't at full feature parity with Drone yet, so if you're coming from Drone specifically, budget time to rework pipelines rather than assume a clean migration. Local contribution is heavier than it needs to be — specific protobuf and protoc-gen-go versions, yarn, the works — and pipelines mount the host Docker socket to run, a real production security question the docs don't really engage with.
There's also nothing about backup strategy, HA, or migration tooling for the embedded database, a strange gap for a project positioning itself as an enterprise GitLab alternative. If you want that breadth of platform without the Rails baggage of GitLab, Harness is worth trialing — just write your own backup plan before you need it.
Our full take →GitHub ↗
★ 47,597GoMITupdated Jun 2026
best for resource-constrained setups that want just repos/PRs/issues with the smallest possible footprint
Gogs is the answer to 'I just want Git hosting on the cheapest possible hardware.' One binary, SQLite out of the box, a genuinely workable 64MB RAM footprint in Docker — this is the pick for a Raspberry Pi or a $5 VPS, not a team server.
The cost of that footprint shows up in the workflow. Pull requests here are functional but shallow next to Gitea, its own fork and the project that overtook it: no required reviewers, no review assignments, no merge queue. The API is explicitly labeled experimental and only covers a subset of the GitHub v3 surface, so anything beyond basic repo and issue automation gets brittle fast, and the Semantic UI frontend has been effectively unmaintained since 2018.
Moving off Gogs later is its own tax — the export format is custom and importers elsewhere only partially support it. That makes it a good pick for a personal server you don't expect to outgrow, and a risky one for a team that might end up needing proper review workflows — at which point you're better off starting with Gitea instead.
Our full take →GitHub ↗
// questions people ask
Before you choose
Gitea or GitLab for a small team?
Gitea, unless you already depend on GitLab's merge request approvals or its security scanning. GitLab's CI/CD is more mature, but the GDK-based local dev setup is overkill for a five-person team that just wants pull requests and a CI runner.
Will my GitHub Actions workflows just work on Gitea?
Most will, since Gitea Actions is built to match the GitHub Actions syntax and runner. Reusable workflows and some expression functions still have gaps, so test anything complex before you cut over.
Gitea forked from Gogs — what's actually different now?
Gitea is the fork, and it has pulled ahead: it has richer pull request review workflows and built-in CI that Gogs doesn't have. Gogs stayed smaller and lighter on purpose — pick it when the hardware is the constraint, not the workflow.
Does Harness replace Drone CI?
Not yet, by Harness's own admission — its pipeline engine isn't at full feature parity with Drone, so teams migrating off Drone should expect to rework pipelines rather than lift and shift them.
If you want picks like these without digging for them yourself, the weekly email does that — one list, no padding, sent to people who'd rather read five honest sentences than a feature table.