Skip to content
Code hosting · head-to-head

Forgejo vs OneDev

Updated Sep 2026prices checked · Jul 2026
We earn commissions when you shop through the links below. Full disclosure →
The verdictOur pick: Forgejo

Pick Forgejo — one Go binary on a 512 MB floor, GPL-3.0-or-later with nothing held back, a community hard fork of Gitea created after Gitea moved under a company and now stewarded by the Codeberg nonprofit. Pick OneDev when jumping to a symbol's definition at any commit is worth four times the memory: it indexes code per commit for language-aware navigation and regex search, and its CI/CD engine is configured through a GUI rather than hand-written YAML — accepting that its enterprise code lives in a separate server-ee submodule, so clustering, audit logging and cross-project search are paid.

Side by side

Forgejoour pick
OneDev
Category
Forgejo: Code hostingOneDev: Code hosting
Stack
Forgejo: Go (single binary)OneDev: Java (JVM)
License
Forgejo: GPL-3.0-or-laterOneDev: MIT · enterprise code in a server-ee submodule
Code search
Forgejo: Full-text search across repositoriesOneDev: Language-aware symbol navigation · regex
CI/CD
Forgejo: Actions runner, YAML workflowsOneDev: Built-in engine, configured in a GUI
Min RAM
Forgejo: 512 MBOneDev: 2 GB

Forgejo and OneDev both give you repositories, pull requests, issues, CI/CD and package registries in a single container, and both are small enough to run on a server you are already renting. They are not competing on the feature checklist, which comes out close to even. They are competing on a much narrower question: do you want the lightest possible place to keep code, or do you want the forge to understand the code it is keeping?

Forgejo: the featherweight

Forgejo is a Go application that ships as one self-contained binary, or one container with one volume, and starts on 512 MB. It is a community hard fork of Gitea, created after Gitea's project and trademark moved under a company structure, and it is now stewarded by the Codeberg nonprofit — a fact worth stating plainly because it is the reason the project exists, not a marketing line. Licensing is GPL-3.0-or-later — Forgejo left MIT behind at v9.0 in October 2024 — with nothing held back behind a paid edition.

What you get is the familiar forge: repositories, pull requests, code review, branch protection, wikis, a package registry, and an Actions-style CI runner whose workflow syntax is close enough to GitHub's that existing pipelines mostly port. Code search is full-text across your repositories. Setup rates 2 out of 5, and SQLite keeps the simplest install to a single container until a team outgrows it.

OneDev: the forge that reads your code

OneDev is a Java application, one container, and upstream asks for at least 2 GB of physical memory — four times Forgejo's floor, and more again if you host large repositories, because it caches Git data in memory and builds a Lucene index per repository. It runs on the JVM, so expect the resident footprint to sit near whatever heap you give it. The container listens on 6610 for the web UI and 6611 for Git over SSH, which conveniently avoids the fight over port 22 that heavier forges start.

What the memory buys is code intelligence, and it is the genuine differentiator here. OneDev indexes symbols per commit, so from the file viewer you can jump to a definition or list every occurrence of a symbol at any point in history, and search a repository by regular expression. Nothing else at this weight does that. Its CI/CD engine is the second differentiator: you configure jobs through a GUI rather than hand-writing YAML, which is either a relief or an inconvenience depending on how you feel about YAML.

Its install snippet mounts the Docker socket, and you should know why before you copy it. That is how the built-in CI executor starts job containers on the same host — and anything that can reach that socket is effectively root on the machine. Leave the mount out if you will not run CI on this box, and move to remote agents or a Kubernetes executor once builds matter.

Licensing: copyleft with nothing held back vs. open core

The two licences point in opposite directions, and the axis that matters here is not permissiveness — it is whether any feature sits behind a paid edition. Forgejo is GPL-3.0-or-later throughout: strong copyleft, but every feature ships to everyone. (It was MIT until v9.0 in October 2024; if you are reading an older comparison that still says MIT, that is why.) OneDev's main repository server is MIT, the more permissive licence of the two, but its enterprise code lives in a separate server-ee submodule — open core, structurally. What sits behind the subscription: high-availability clustering, cross-project code search, security and compliance scanning, audit logging, time tracking, the CI/CD web terminal and Renovate integration. The everyday forge — repositories, pull requests with review policies, issues, CI/CD, package registries, SSO and LDAP — is in the free edition, and per-repository code search is too. It is a far softer split than the most gated projects in this catalogue, but it is a split, and it is the row the table scores against OneDev.

Which should you self-host?

Pick Forgejo if…

  • The box is small, or shared, and 512 MB versus 2 GB decides the plan you rent.
  • You want a licence with no enterprise submodule and no subscription page to read, and copyleft is not a problem for you.
  • Community-first governance under a nonprofit is something you actively want to back, and a familiar GitHub-shaped forge is all you need from the software.

Pick OneDev if…

  • Jumping to a definition, listing usages at an old commit, or regex-searching a large codebase is something you would actually do weekly.
  • You would rather build a pipeline in a GUI than maintain workflow YAML.
  • You have the memory to spare and a codebase big enough that searching it is a real problem rather than a nice demo.

Running either on a VPS

The sizing gap is the practical one. Forgejo fits on the cheapest instance worth renting and leaves room for a reverse proxy and something else; give OneDev its documented 2 GB as a floor and more if repositories are large, since the index and the Git cache both live in memory. Neither terminates TLS in a way you want facing the internet, so put a reverse proxy in front of whichever you choose and let it handle certificates. Plan the SSH port early: Forgejo needs a mapped port for Git over SSH because the host's own sshd owns 22, while OneDev sidesteps that by listening on 6611. Back up the data volume and, if you moved off SQLite, the database with it. Setup steps and VPS options are linked below.

Where to host itaffiliate disclosure
Kamateratrial either on
The entry tier is a free trial — fine for a first look. Size it up (or run the 2 vCPU / 4 GB box the cost figures above assume) once you're keeping it.1 vCPU · 1 GB RAM · 20 GB SSD · $4.00/mo
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Other comparisons with these apps

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