You picked Gitea because GitLab felt like deploying a second company. Six months later you're gluing Drone CI, a Kanban board in Notion, and GitHub-style code review wishes together with duct tape. Every push triggers a Slack thread asking where the build logs went. You wanted self-hosted Git — you got self-hosted integration homework.
OneDev packs the homework into one app. ~15k GitHub stars, MIT-licensed, and a self-hosted Git server with built-in CI/CD, Kanban, package registries, code search, and issue workflows — not a loose federation of plugins. GitLab-shaped ambition without requiring a 16 GB VM before you clone your first repo.
What it actually does
OneDev is an integrated DevOps platform — forge, pipeline runner, and project management in one Java stack you run yourself.
Git hosting done properly. Repos, pull requests, branch protection, inline code review with discussions that stay attached to lines. Language-aware symbol search and navigation — jump to definitions, regex search across history, not just grep in a zip download.
CI/CD with a GUI. Build pipelines in a visual editor — templates for common stacks, matrix jobs, typed parameters, cache management. Executors run in Docker, on bare metal, Kubernetes, or agent farms for scale. Web terminal to debug stuck jobs. Pause execution mid-pipeline when you need to inspect the environment.
Kanban and issues. Boards that move cards automatically when code is committed, tested, or released — not a separate Trello tab. Custom workflows, confidential issues in public repos, service desk via email (customers email in, issues appear without accounts), time tracking for billing.
Package registries. Host Maven, npm, Docker, and other packages linked to CI jobs — artifacts stay next to the code that built them.
Deep linking. Commits, builds, and issues cross-reference — see which build fixed a ticket, query changes between releases. Renovate integration for dependency update PRs with optional auto-merge after tests pass.
Modern extras. Built-in AI for PR review and CI troubleshooting, browser workspaces with dev containers, MCP server for agent integration. Optional — the core forge works without sending code to external LLMs.
OneDev vs Gitea vs Gogs
We've covered lighter forges:
- Gitea — lean Go binary, Gitea Actions with separate runners, great when Git + light CI is enough
- Gogs — minimal Git hosting, even simpler, fewer bells
OneDev when you want CI/CD, Kanban, and packages without assembling five tools. Gitea when you want minimum RAM and already have CI elsewhere. OneDev claims comfortable operation on 1 vCPU / 2 GB for medium projects — heavier than Gitea idle, lighter than typical GitLab.
Neither replaces Coolify or Dokploy for deploying random client apps — OneDev is where source code and pipelines live, not where every Docker container on the box runs.
Why self-host?
Client repos and CI logs stay domestic. Build output includes test failures, internal hostnames, sometimes accidental secret echoes. Canadian VPS hosting answers data residency questions GitHub and GitLab.com can't.
One bill, one backup story. Git, issues, CI config, and packages in one data directory — not syncing Drone + Gitea + Harbor versions across upgrade cycles.
MIT license. Inspect the code, run air-gapped if needed. No enterprise tier for basic pull requests.
Battle-tested. The team dogfoods on code.onedev.io; the project claims years of production use with cluster HA options when you outgrow one box.
What running it takes
Official Docker image 1dev/server — single container with embedded database for small installs:
docker run -it --name onedev \
-v /var/onedev:/opt/onedev \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 6610:6610 -p 6611:6611 \
1dev/server
Web UI on port 6610, Git SSH on 6611. Mount Docker socket if CI jobs build container images — same pattern as other CI-in-Docker setups; understand the security tradeoff. Back up /var/onedev — repos, database, CI cache, the works.
Plan 2 GB RAM minimum for small teams; more when concurrent builds stack up. TLS via reverse proxy on your domain. First-run wizard creates admin account. Cluster docs exist for HA if you need replication across nodes.
Who it's for (and who should skip it)
Good fit: small dev agencies wanting GitHub-like workflow self-hosted, teams tired of wiring Gitea + external CI, orgs needing Kanban tied to commits, Canadian shops standardizing on one forge platform.
Maybe skip it: you only need git push and pull — Gogs is lighter. You're all-in on GitHub Actions marketplace ecosystem — migration friction is real. You won't run Java/Docker CI workloads — OneDev's value is in the integrated pipeline half.
Hosting it in Canada
OneDev wants RAM for concurrent builds and disk for repos plus CI cache. We run forges on Canadian Docker hosting with Docker socket access for pipelines, persistent volumes, and TLS.
Tell us team size and build frequency — we'll size the box so your pipelines finish before the client standup.