Self-host 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.
Key facts
Choose OneDev when code intelligence is the feature you are actually shopping for: language-aware symbol search and jump-to-definition at any commit, plus regex search across a repository, built in rather than bolted on. It bundles a CI/CD engine you configure through a GUI instead of hand-written YAML, package registries and issue boards in one container, at a documented 2 GB minimum. Gitea and Forgejo are lighter and have far larger ecosystems; GitLab covers more ground and asks four times the memory. OneDev is the middle option — more in one box than Gitea, without GitLab's weight — as long as the open-core split does not cut through something you need.
What you need
- Any VPS with at least 2048 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Install
Run these commands on your server:
# OneDev — upstream's documented single-container run
mkdir -p ~/onedev
docker run -d --name onedev --restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/onedev:/opt/onedev \
-p 6610:6610 -p 6611:6611 1dev/server:latest
# the docker socket mount is only for the built-in CI/CD executor —
# drop it if you will not run jobs on this host
# → http://SERVER_IP:6610 for the setup wizard (6611 is the SSH/Git port)What you take on
OneDev installs in one command, and the three things you inherit are not visible in that command:
An alternative to
Head-to-head
More in Code hosting
Forgejo
GitBucket
Gitea
GitLab CE
Common questions
What does OneDev do that Gitea does not?
Code intelligence. It indexes symbols per commit, so you can jump to a definition or list every occurrence from the file viewer at any point in history, and search across a repository by regular expression. It also ships a CI/CD engine you configure through a GUI rather than by hand-writing YAML, and package registries for the common ecosystems.
Is OneDev fully open source?
The server in the main repository is MIT, but OneDev is open core: the enterprise code lives in a separate server-ee submodule. High-availability clustering, cross-project code search, security and compliance scanning, audit logging, time tracking, the CI/CD web terminal and Renovate integration all need a subscription. The everyday forge — repositories, pull requests with review policies, issues, CI/CD, package registries, SSO and LDAP — is in the free edition.
Why does the install mount the Docker socket?
So OneDev's built-in CI/CD executor can start job containers on the same host. It is a real privilege grant — anything that can reach that socket is effectively root on the machine — so leave it out if you do not need CI on this box, and use remote agents or a Kubernetes executor once jobs matter.
How much memory does OneDev need?
Upstream asks for at least 2 GB of physical memory, and more if you host large repositories: OneDev caches Git data in memory and builds a Lucene index per repository. That puts it above Gitea and well below GitLab. It runs on the JVM, so expect the resident footprint to sit near whatever heap you give it.