OneDev — Self-Hosted Git Server with Built-In CI/CD and Kanban
OneDev is an all-in-one DevOps platform that bundles Git repository hosting, CI/CD pipelines, issue tracking, and a Kanban board in a single Java binary with zero external dependencies.
What it is
OneDev is a self-hosted DevOps platform that combines Git repository hosting, CI/CD pipelines, issue tracking, and a Kanban board in a single Java binary. Unlike Gitea or GitLab, which require separate runners or external databases for full functionality, OneDev ships everything in one package with zero external dependencies.
OneDev is for small-to-medium teams that want a complete DevOps workflow without managing multiple services. It runs on any machine with a JVM and stores data in an embedded H2 database (with optional PostgreSQL or MySQL).
How it saves time or tokens
OneDev eliminates the overhead of integrating separate tools for source control, CI/CD, and project management. A single Docker command gives you a fully functional DevOps stack. No runner installation, no webhook configuration between services, no database setup.
The built-in CI/CD uses a YAML pipeline syntax with conditional steps, caching, and service containers. No external Jenkins or GitHub Actions needed.
How to use
- Start OneDev with Docker:
docker run -d --name onedev \
-p 6610:6610 \
-v onedev-data:/opt/onedev \
1dev/server
- Open
http://localhost:6610and create your admin account.
- Create a repository and add a
.onedev-buildspec.ymlfor CI/CD:
version: 33
jobs:
- name: Build
steps:
- !CommandStep
name: Run Tests
image: node:20
commands:
- npm install
- npm test
triggers:
- !BranchUpdateTrigger {}
Example
A pipeline with build, test, and deploy stages:
version: 33
jobs:
- name: CI
steps:
- !CheckoutStep
name: Checkout
- !CommandStep
name: Build and Test
image: golang:1.22
commands:
- go build ./...
- go test ./...
- !CommandStep
name: Docker Build
image: docker:latest
commands:
- docker build -t myapp:latest .
triggers:
- !BranchUpdateTrigger
branches: main
Related on TokRepo
- AI tools for DevOps -- DevOps and CI/CD tools for development teams
- Self-hosted tools -- Self-hosted alternatives for development infrastructure
Common pitfalls
- Using the embedded H2 database for large teams (50+ users). H2 is fine for small teams but switch to PostgreSQL or MySQL for better concurrent access and backup tooling.
- Forgetting to set up backup for the onedev-data volume. All repositories, issues, and pipeline history live in this volume. Losing it means losing everything.
- Expecting GitHub/GitLab-compatible APIs. OneDev has its own REST API. Migration tools exist for importing repositories and issues, but webhook integrations need reconfiguration.
Frequently Asked Questions
Gitea is a lightweight Git server but requires external CI/CD (Drone, Woodpecker). GitLab is feature-rich but resource-heavy and complex to self-host. OneDev sits in between: full DevOps features (Git, CI/CD, issues, Kanban) in a single binary with minimal resource usage.
Yes. OneDev runs CI/CD steps inside Docker containers. You specify the image in each step, and OneDev pulls and runs it automatically. No separate runner installation needed; the OneDev server handles execution.
Yes. OneDev supports importing repositories via Git URL. For issues and pull requests, OneDev provides import tools for GitHub and GitLab. CI/CD pipelines need to be rewritten in OneDev's YAML format.
OneDev requires Java 11+ and runs on Linux, macOS, and Windows. For Docker deployment, a machine with 2GB RAM and 2 CPU cores is sufficient for small teams. Larger teams should allocate more resources and use an external database.
Yes. OneDev supports pull requests with inline code review, approval rules, merge strategies (merge commit, squash, rebase), and branch protection rules. Reviewers can comment on specific lines and approve or request changes.
Citations (3)
- OneDev GitHub— OneDev is an all-in-one DevOps platform with Git, CI/CD, issues, and Kanban
- OneDev Documentation— YAML-based CI/CD pipeline configuration
- Docker CI/CD Best Practices— Container-based CI/CD execution patterns
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.