Skip to main content

Gitea vs OneDev vs Forgejo: Self-Hosted Git Platforms in 2026

·OSSAlt Team
giteaforgejoonedevself-hosted gitgithub alternativeopen source2026

Why Self-Host Your Git Platform?

GitHub Teams costs $4/user/month ($48/user/year). GitHub Enterprise is $21/user/month. For a 50-developer organization, that's $2,400-12,600/year just for code hosting.

Beyond cost, self-hosting your Git platform means your source code stays on your infrastructure — not on GitHub/Microsoft servers. For organizations with compliance requirements, classified work, or simply a preference for data sovereignty, self-hosting is the right choice.

Three projects stand out as the best options in 2026: Gitea (the established leader), Forgejo (the community-driven Gitea fork), and OneDev (the most integrated development platform).

TL;DR

  • Forgejo (5K+ stars): Best for teams prioritizing community governance, GPL licensing, and federation features. Community-driven Gitea fork with strong trajectory.
  • Gitea (53K+ stars): Best established option with widest community and most integrations. Commercial backing from Gitea Ltd.
  • OneDev (13K+ stars): Best integrated development platform. Built-in CI/CD with visual pipeline editor, code navigation, and symbol search.

Quick Comparison

FeatureGiteaForgejoOneDev
GitHub Stars53K+5K+ (new org)13K+
LicenseMITGPL-3.0MIT
GovernanceGitea Ltd (company)Non-profitCompany (OneDev)
CI/CD built-inYes (Gitea Actions)Yes (Forgejo Actions)Yes (native)
FederationNoIn developmentNo
Code navigationBasicBasicAdvanced
Symbol searchNoNoYes
Container registryYesYesYes
Resource usageLowLowMedium
Docker deploymentEasyEasyEasy

Gitea vs Forgejo: What You Need to Know

Gitea and Forgejo share a common origin. Understanding the split helps you choose:

Gitea was founded as an open source project and grew to 53K+ stars. In 2022, a company (Gitea Ltd.) took control of the project's direction, domain, and trademark. Development continued but governance shifted from pure community to company-controlled.

Forgejo was created as a response. In 2024, Forgejo formally split from Gitea (stopped synchronizing), adopted the GPL-3.0 license, and became hosted by the Codeberg non-profit. Forgejo is pursuing features Gitea isn't — particularly federation (ActivityPub), which would allow users on different Forgejo instances to interact.

Functionally, they're very similar today. The differences are:

  • License: Forgejo is GPL-3.0 (copyleft), Gitea is MIT
  • Governance: Forgejo has non-profit community governance, Gitea has company control
  • Federation: Forgejo is actively building federation, Gitea is not
  • Long-term trajectory: Different visions for what a Git forge should be

Forgejo — Best Community Choice

Forgejo is the choice if you care about open source governance, long-term community direction, and want federation capability in the future.

What Makes It Stand Out

Community governance: Forgejo is hosted by a non-profit (Codeberg e.V.) with transparent governance. No single company controls the project's direction.

GPL-3.0 license: Stronger copyleft protection than Gitea's MIT. Any modifications to Forgejo that are distributed must be open source.

Federation roadmap: Forgejo is implementing ActivityPub federation, which will allow Forgejo instances to communicate with each other and potentially with other fediverse platforms. This is a unique feature not present in Gitea.

Forgejo Actions: Compatible with Gitea Actions and largely compatible with GitHub Actions workflow syntax. Migrate GitHub Actions workflows with minimal changes.

Self-Hosting

# Docker Compose
docker run -d \
  --name=forgejo \
  -p 3000:3000 \
  -p 2222:22 \
  -v forgejo:/data \
  codeberg.org/forgejo/forgejo:latest

Or with docker-compose:

services:
  forgejo:
    image: codeberg.org/forgejo/forgejo:latest
    restart: always
    ports:
      - "3000:3000"
      - "2222:22"
    volumes:
      - forgejo:/data
  db:
    image: postgres:15
    environment:
      POSTGRES_USER: forgejo
      POSTGRES_PASSWORD: forgejo
      POSTGRES_DB: forgejo

Resource requirements: 512MB RAM minimum, 1-2GB recommended. Can run on a $4/month VPS.

Best for: Open source communities, organizations prioritizing software freedom, teams that want to migrate away from company-controlled infrastructure.

Gitea — Most Established Option

Gitea (53K+ stars) is the most widely deployed self-hosted Git platform. The large community means more tutorials, more integrations, more third-party tools with native Gitea support.

What Makes It Stand Out

Ecosystem: The largest community of any lightweight self-hosted Git platform. Most CI/CD tools, deployment platforms, and developer tools have native Gitea integration.

Gitea Actions: GitHub Actions-compatible workflow engine. Migrate many GitHub Actions workflows directly to Gitea.

Packages/Registry: Container registry (Docker), npm, Maven, PyPI, and other package registries built in.

Wiki, issues, PRs, reviews: Full code review workflow including line comments, review requests, and merge strategies.

OAuth2 provider: Use Gitea as an OAuth2 provider for other applications — unified login across your self-hosted stack.

Self-Hosting

docker run -d \
  --name=gitea \
  -p 3000:3000 \
  -p 2222:22 \
  -v gitea:/data \
  gitea/gitea:latest

Gitea can run with SQLite (for small deployments), MySQL, or PostgreSQL.

Best for: Organizations who want the widest ecosystem support and the most battle-tested lightweight Git platform.

OneDev — Best Integrated Development Platform

OneDev (13K+ stars) takes a different philosophy: instead of a lightweight Git host you integrate with other tools, it's a complete integrated development environment with built-in CI/CD, code intelligence, and issue tracking.

What Makes It Stand Out

Code navigation: OneDev indexes your code for symbol search, go-to-definition, and find-references — similar to a web-based IDE. Navigate large codebases without cloning.

Symbol search: Search for function names, class definitions, and symbols across all repositories. This is OneDev's unique killer feature.

Built-in CI/CD: YAML-based pipeline definitions with a visual editor. No need for a separate CI tool like Drone or Jenkins.

Job executors: Flexible job execution — run CI jobs on Docker, Kubernetes, SSH remotes, or inline.

Build artifacts: Store and retrieve build artifacts from within OneDev.

Issue tracking: Kanban board, milestones, iterations, and custom fields for issues.

Self-Hosting

docker run -d \
  --name onedev \
  -p 6610:6610 \
  -p 6611:6611 \
  -v /opt/onedev:/opt/onedev \
  1dev/server

OneDev runs as a single Docker container. More resources needed than Gitea (512MB-1GB minimum, 2GB recommended for code indexing).

OneDev vs Gitea for CI/CD

Gitea's Actions requires a separate runner process. OneDev's CI is fully integrated:

Gitea: Configure actions runners → write YAML → run OneDev: Write YAML in visual editor → run (runner built in)

For teams who want CI/CD without managing a separate runner infrastructure, OneDev's integrated approach is simpler.

Best for: Development teams who want an all-in-one solution — code hosting, CI/CD, and code intelligence without managing separate tools.

Migration from GitHub

All three tools support GitHub-compatible APIs for most operations. Migration typically involves:

  1. Export from GitHub: Use GitHub's export feature or gh repo clone --all
  2. Configure authentication: Set up SSH keys and access tokens
  3. Import repositories: Use the platforms' GitHub import features (all three support this)
  4. Migrate CI/CD: GitHub Actions syntax is mostly compatible — minor changes needed
  5. Update integrations: Update webhook URLs and tokens in integrated tools

Gitea and Forgejo have the most GitHub Actions compatibility. OneDev requires rewriting CI pipelines in its own format.

Cost Comparison

GitHub Annual Costs (50 Developers)

PlanPer User/MonthAnnual
Teams$4$2,400
Enterprise$21$12,600

Self-Hosted

ToolServer (Hetzner CPX21)Annual
Gitea$6.50/mo$78
Forgejo$6.50/mo$78
OneDev$10-15/mo$120-180

50-developer savings vs GitHub Teams: ~$2,322/year. vs GitHub Enterprise: ~$12,420/year.

Which One Should You Choose?

Choose Forgejo if: You care about software freedom and community governance. You want federation capability. You prefer GPL licensing.

Choose Gitea if: You want the widest ecosystem support, the largest community, and the most existing integrations.

Choose OneDev if: You want code navigation and symbol search. You want integrated CI/CD without a separate runner. You're comfortable with less GitHub compatibility in exchange for more integrated tooling.

Find Your Git Platform

Browse all GitHub and GitLab alternatives on OSSAlt — compare Gitea, Forgejo, OneDev, Gitlab CE, and every other open source Git hosting platform with deployment guides and feature comparisons.

Comments