Em uma comparação entre gitea, forgejo e onedev, você está olhando para três ferramentas que respondem a duas perguntas diferentes. Gitea e Forgejo são servidores git que agregam gerenciamento de projetos. OneDev é uma plataforma de gerenciamento de projetos e CI que, por acaso, hospeda git muito bem. Então a decisão não é "qual dos três é o melhor". É "eu quero um servidor git pequeno, ou uma plataforma tudo-em-um, e posso pagar em RAM o custo do tudo-em-um?"
Essa última parte é a tensão. O OneDev faz mais coisas prontas de fábrica, e os testes do nodatools.com mediram um consumo ocioso de aproximadamente 3x a memória de uma instalação simples do Forgejo, o que em um VPS pequeno pode dobrar sua fatura mensal. Esse trade-off é o jogo inteiro. (E não, o GitLab não está nesta comparação. Se você quisesse a pegada do GitLab, não estaria lendo sobre esses três.)
Eu já rodei os três. Abaixo está o que realmente importa na hora de escolher um para uma equipe: as diferenças de governança e licença que separam Gitea de Forgejo, os recursos que justificam a existência do OneDev, os números de RAM testados, e um "escolha este se…" direto para cada um.
TL;DR
- Quer um servidor git leve com CI no estilo Actions? Gitea ou Forgejo. Escolha o Gitea se uma compatibilidade mais próxima com o GitHub Actions for importante; escolha o Forgejo se uma sintaxe de workflow parecida com a do GitHub, com alguns ajustes de migração, for aceitável.
- Se importa com governança sem fins lucrativos ou com uma licença copyleft? Forgejo. É o fork governado pela comunidade, e é minha escolha padrão para a maioria das equipes.
- Quer a licença MIT, a maior comunidade de forge ou um nível Enterprise pago com SLA/SSO? Gitea.
- Quer gerenciamento de projetos embutido, CI incluso e inteligência de código em uma única instalação, e tem RAM sobrando? OneDev. Só saiba que ele precisa de ~4 GB no mínimo, enquanto o Forgejo fica satisfeito com 1 GB.
Veredito rápido: Para a maioria das equipes, o Forgejo é a escolha padrão certa de baixo consumo: mesmo núcleo do Gitea, governança mais clara e Forgejo Actions com sintaxe de workflow parecida com a do GitHub. Recorra ao OneDev apenas quando você realmente quiser a experiência combinada de PM mais CI em uma única caixa e não estiver migrando uma pilha de workflows existentes do GitHub Actions.
As Duas Perguntas Que Essas Três Ferramentas Respondem

O OneDev roda seu daemon de build de CI dentro do próprio processo do OneDev, então não há um runner separado para implantar. Gitea e Forgejo fazem o oposto: o servidor git é uma coisa, e você implanta um CI runner como um processo separado ao lado dele. Esse único fato arquitetural é o indício de como cada ferramenta se enxerga.
Gitea e Forgejo são git-first. Repositórios, pull requests e revisão de código são o núcleo; issues e kanban são complementos úteis; CI é algo que você conecta. Todo o conjunto é construído em torno da hospedagem de git e de não atrapalhar seu caminho. É por isso que são pequenos, rápidos e baratos de rodar.
O OneDev é construído do jeito oposto. É uma plataforma de gerenciamento de projetos e CI/CD onde a hospedagem de git é um componente de primeira classe, mas não o princípio organizador. Os quadros kanban são automatizados, o CI é embutido, a inteligência de código já vem incluída, e ele espera ser o lugar onde sua equipe vive, não só o lugar onde seu código fica. Isso é um produto genuinamente diferente, e é por isso que compará-lo ao Gitea em "quem hospeda git melhor" perde o ponto. Ambos hospedam git mais ou menos igualmente bem. O OneDev só quer fazer muito mais, e cobra em recursos pelo privilégio.
Tudo o que vem depois se encaixa nessa divisão. A escolha entre Gitea e Forgejo é uma subdecisão dentro do ramo "forge leve". A pergunta "o OneDev vale a pena" é o outro ramo por completo.
Gitea vs Forgejo: a decisão entre quase-gêmeos

Ambos ficam em torno de 180–350 MB de RAM, ambos compartilham a mesma base de código até o ponto de fork, e ambos fazem a hospedagem principal do git da mesma forma. Para repositórios, pull requests, revisão de código, issues e CI no estilo do Actions, você terá dificuldade em encontrar uma diferença significativa no uso diário, a menos que esteja migrando workflows existentes do GitHub Actions. Então, para deixar claro desde já: isso não é uma disputa de recursos. A diferença entre onedev e gitea é grande; a diferença entre gitea e forgejo é sobre quem controla o projeto e sob qual licença ele é distribuído.
Aqui está o contexto que você realmente precisa. Em outubro de 2022, o domínio e a marca registrada do Gitea se tornaram o centro de uma disputa de governança, e o Forgejo foi criado em resposta. O Forgejo agora vive sob a Codeberg e.V., uma organização sem fins lucrativos na Alemanha, e é distribuído sob a GPL-3.0. O Gitea continua licenciado sob o MIT e tem uma edição self-hosted gratuita e de código aberto, enquanto a CommitGo vende o Gitea Enterprise em paralelo. O Forgejo descreve esse arranjo como Open Core; a Gitea/CommitGo contesta esse rótulo e afirma que o próprio projeto open source Gitea não inclui código proprietário. Para os leitores, a diferença prática é mais simples do que a política sugere: o Forgejo otimiza para uma governança sem fins lucrativos, copyleft e totalmente livre; o Gitea oferece o núcleo permissivo MIT além de um caminho Enterprise apoiado por fornecedor.
Três coisas decorrem disso, e cada uma é relevante para a decisão:
- Licença. GPL-3.0 copyleft (Forgejo) significa que, se você modificar o Forgejo e distribuir a versão modificada, precisa compartilhar suas alterações sob a GPL. O MIT (Gitea) não exige isso. Para a maioria das equipes que rodam uma instância sem modificações internamente, isso nunca chega a ser um problema. Mas se você está construindo em cima da forge e distribuindo, isso importa.
- Divulgações de segurança. O Forgejo notifica todo mundo sobre avisos de segurança por canais públicos. O Gitea reserva avisos de segurança antecipados para clientes Enterprise pagantes, o que significa que administradores self-hosted no plano gratuito podem ficar expostos a uma vulnerabilidade conhecida por mais tempo do que os clientes pagantes. Se você está usando a versão gratuita, vale a pena conhecer essa assimetria.
- Existe um plano pago de um dos lados. O Gitea tem uma edição Enterprise comercial ($9.50–$19/usuário/mês) que adiciona SSO, logs de auditoria, suporte prioritário e um SLA. O Forgejo não tem plano pago, todos os recursos estão na build GPL gratuita.
Se você está no Gitea hoje e isso te empurra em direção ao Forgejo, a boa notícia é que existe um caminho de migração suportado (com um penhasco de versão no Gitea 1.22 que vale a pena entender antes de começar). Eu escrevi sobre isso separadamente, veja o passo a passo completo de migração para o detalhamento versão por versão. Se você está saindo do GitHub e ainda não escolheu um forge, essa é uma decisão separada, com seus próprios trade-offs, e vale a pena analisá-la por conta própria.
Resumo da seção: para hospedagem git essencial, Gitea e Forgejo empatam. Escolha o Forgejo se quiser propriedade sem fins lucrativos, copyleft e divulgações públicas de segurança. Escolha o Gitea se quiser a licença MIT, a comunidade maior ou o nível Enterprise comercial.
Onde o OneDev É Genuinamente Diferente
Execute o OneDev (16.0.1 no momento em que este texto foi escrito) por um dia e a primeira coisa que você percebe é que nunca implantou um runner de CI. O daemon de build vive dentro do próprio servidor OneDev, então o CI funciona assim que a plataforma sobe. Você pode montar um pipeline em uma GUI sem escrever uma linha de YAML, depurar um job por um terminal web e testar um build com alterações locais ainda não commitadas antes mesmo de dar push. Essa é uma simplificação operacional genuína em relação à dança de "instalar o servidor e depois instalar e registrar um runner separado" exigida por Gitea e Forgejo.
A pegadinha, e é uma grande para equipes já existentes, é que o OneDev usa seu próprio dialeto YAML. Ele é não compatível com GitHub Actions. Todo workflow que você escreveu para o GitHub, Gitea ou Forgejo precisa ser reescrito para rodar no OneDev. Se você tem uma pilha de arquivos .github/workflows dos quais depende, esse é um custo de migração real, não uma nota de rodapé. Gitea e Forgejo herdam o ecossistema do GitHub Actions, mas não da mesma forma. O Gitea Actions foi projetado como um substituto direto do GitHub Actions, então a maioria dos workflows é transferida sem alterações. O runner do Forgejo é compatível na prática, mas tem lacunas documentadas: uma subchave permissions ausente, continue-on-error ignorado, sintaxe de OIDC diferente. Verifique isso antes de presumir portabilidade total.
A segunda coisa que o OneDev faz e que os forges menores simplesmente não fazem: inteligência de código na UI web. Busca por símbolos, ir para definição e localizar referências funcionam em uma variedade de linguagens (a lista oficial inclui Java, JavaScript, C, C++, C#, Go, PHP e Python) sem clonar o repositório localmente. Gitea e Forgejo não têm nada equivalente embutido, então você recorreria a uma ferramenta externa. Se sua equipe faz muita revisão de código no navegador, isso é realmente bom.
Complete isso com um kanban totalmente automatizado (movimentação de tarefas baseada em regras, estados e campos personalizados, regras de transição), um service desk que transforma e-mails recebidos em issues sem exigir conta do remetente, e issues confidenciais dentro de projetos públicos, e você tem o quadro completo: o OneDev está tentando ser, ao mesmo tempo, seu rastreador de issues, seu sistema de CI, seu navegador de código e seu quadro de projeto.
Vale fazer um esclarecimento sobre registries de pacotes. O OneDev tem um registry embutido; essa parte é clara. Seu tutorial de pacote lista Docker, npm, NuGet, Maven, PyPI e RubyGems, enquanto o material de produto atual também menciona Helm. Gitea e Forgejo ainda cobrem um conjunto muito mais amplo de formatos de pacote, incluindo Alpine, Arch, Cargo, Composer, Conan, Conda, Debian, Go, Helm, Maven, npm, NuGet, PyPI, RPM, RubyGems, Swift, Vagrant e outros. Se sua equipe depende de formatos de pacote fora do conjunto mais restrito de registro do OneDev, Gitea ou Forgejo é a escolha mais segura.
Resumo da seção: o OneDev oferece CI embutido, inteligência de código e um pacote completo de PM em uma única instalação. Você paga por isso reescrevendo qualquer workflow do GitHub Actions, aceitando um ecossistema menor e (como a próxima seção aborda) alimentando-o com bem mais RAM.
O Custo de Recursos: O Que Cada Um Realmente Precisa

O número que decide toda essa comparação para muitas equipes vem dos testes do nodatools.com: o OneDev ficou ocioso em aproximadamente 600 MB de RAM, enquanto o Forgejo ficou ocioso em cerca de 180 MB. Isso é mais de 3x, e a diferença cresce sob carga. Aqui estão os números testados por eles, de nodatools.com's measured comparison, execute em uma VPS nova:
| Ferramenta | Versão atual | RAM ociosa (testado) | RAM ativa sob carga (testado) | Mínimo oficial |
|---|---|---|---|---|
| Forgejo | v15.0.3 LTS | ~180 MB | ~320 MB | 512 MB |
| Gitea | 1.26.4 | ~200 MB | ~350 MB | 512 MB |
| OneDev | 16.0.1 | ~600 MB | ~950 MB | 2 GB |
Por que essa diferença? O OneDev é escrito majoritariamente em Java, então a JVM carrega um overhead de heap que Gitea e Forgejo, baseados em Go, simplesmente não têm. Além disso, o OneDev indexa o código para seus recursos de inteligência, e essa indexação inicial consome muita memória. Quando eu o coloquei em pé pela primeira vez, o pico no momento do boot foi a parte mais assustadora, e ele não representa o estado estável.
Dica profissional: não entre em pânico com o consumo de memória na inicialização do OneDev. Ele pode disparar logo após o boot, enquanto a JVM aquece e o índice inicial de código é criado, e depois se estabilizar de volta perto do valor ocioso assim que as coisas se acalmam. Dito isso, planeje-se para o número real de trabalho, não para o valor ocioso. Com o CI executando jobs ativamente, reserve de 1 a 2 GB de forma consistente. O mínimo oficial de 2 GB existe por um motivo.
Em termos de dimensionamento, isso se traduz claramente em níveis de VPS:
- Forgejo ou Gitea, instalação básica, sem CI runner na máquina: 1 GB RAM / 1 vCPU is comfortable.
- Forgejo ou Gitea com um CI runner no mesmo servidor: suba para 4 GB de RAM / 2 vCPU para que o runner tenha espaço.
- OneDev, instalação básica: 4 GB RAM is the practical floor. Go to 8 GB if code indexing is heavy or CI is busy.
Portanto, a diferença de custo não é sutil. Um servidor git enxuto que funciona bem em uma máquina de 1 GB, contra uma instância do OneDev que exige 4 GB, representa aproximadamente o dobro da sua fatura mensal de VPS. Para um desenvolvedor solo ou uma equipe pequena, isso é a diferença entre "praticamente de graça para rodar" e um item de custo que você vai notar. Para uma equipe maior que vai depender do CI e do PM embutidos todos os dias, pode valer totalmente a pena. Mas é uma troca real: o overhead do OneDev é a JVM, e esse custo compra o que a JVM executa.
Gitea, Forgejo, e OneDev são todos deploys de um clique em O marketplace da Cloudzy, então, depois de dimensioná-la, colocar uma forge no ar leva alguns minutos em vez de uma tarde inteira mexendo com Docker. Se você está executando um CI runner ou a indexação de código do OneDev, a folga extra fica em uma Linux VPS com acesso root, para que você mesmo possa ajustar o heap da JVM e a concorrência dos runners.
Uma observação específica da Cloudzy: os cards de app do Marketplace atualmente iniciam Gitea, Forgejo e OneDev com 2 GB de RAM. A recomendação de 1 GB acima se aplica a instalações manuais enxutas, sem um CI runner local. Se você fizer o deploy pelo Marketplace da Cloudzy, siga o mínimo do card do app para que o SO, o banco de dados, as atualizações de pacotes e os serviços em segundo plano tenham folga.
Qual deve escolher?
Você já viu a tabela e os trade-offs, então aqui está meu veredito direto para cada perfil de leitor, com base em ter rodado os três.
Escolha o Forgejo se você quer um forge leve, governado pela comunidade, com CI no estilo Actions, e consegue tolerar pequenas diferenças de workflow em relação ao GitHub Actions. Essa é minha recomendação padrão para a maioria das equipes. Você obtém a mesma hospedagem git essencial do Gitea, uma propriedade sem fins lucrativos mais limpa, divulgações públicas de segurança, uma licença copyleft e a menor pegada de RAM entre os três. Se você não tem um motivo específico para escolher um dos outros, escolha este.
Escolha o Gitea se você especificamente quer a licença MIT (mais permissiva do que a GPL-3.0 do Forgejo), a maior comunidade e ecossistema de forge, ou um nível Enterprise comercial com SSO, logs de auditoria e um SLA. Na hospedagem git pura, é um empate com o Forgejo, então você está escolhendo com base em preferência de licença e propriedade, além da opção de suporte pago, caso sua organização precise de um fornecedor para acionar.
Escolha o OneDev se você quer gerenciamento de projetos embutido, CI incluso e inteligência de código em uma única instalação, está começando do zero (sem workflows existentes do GitHub Actions para migrar) e tem orçamento de RAM para uma máquina de 4 GB ou mais. A decisão entre forgejo e onedev realmente se resume a isto: você está comprando um servidor git ou uma plataforma? Se a resposta for "plataforma, e eu não quero montar o CI por conta própria", o OneDev justifica seu overhead.
Um fator de decisão fácil de esquecer: não existe caminho de migração entre a família Gitea/Forgejo e o OneDev. Modelo de dados diferente, formato de CI diferente, schema diferente. Se você começa no Forgejo e depois decide que quer o OneDev (ou o contrário), está diante de uma mudança baseada em API, repositório por repositório, que perde seu histórico de CI e os dados de gerenciamento de projetos. Então, se a abordagem tudo-em-um do OneDev te atrai de alguma forma, é muito mais barato começar por ele do que migrar para ele depois. Entre Gitea e Forgejo, a migração existe (isso é o caminho de migração abordadas acima), mas cruzar a linha de um forge leve para o OneDev é uma viagem sem volta e com perdas. Leve isso em conta na decisão agora, não daqui a dezoito meses.
Perguntas frequentes
O Gitea ainda é open source?
Sim. O núcleo do Gitea é licenciado sob MIT e livre para autohospedagem, com usuários e repositórios ilimitados. A ressalva prática é a governança, não a disponibilidade do código-fonte: o Gitea é controlado por uma empresa e tem uma oferta Enterprise apoiada por fornecedor através da CommitGo, enquanto o Forgejo é o fork governado pela comunidade, licenciado sob GPL, sob a Codeberg e.V. O Forgejo descreve o arranjo comercial do Gitea como Open Core; O Gitea/CommitGo contesta esse rótulo e afirma que o próprio projeto open source não inclui código proprietário. Então o Gitea continua sendo open source, mas não é governado pela comunidade da mesma forma que o Forgejo é.
O Forgejo é melhor que o Gitea?
Para a hospedagem principal do git, eles são quase idênticos: o Forgejo fez fork do Gitea e compartilha a mesma base. O Forgejo se diferencia na governança (a organização sem fins lucrativos Codeberg e.V.), na licença (GPL-3.0 copyleft versus o MIT do Gitea) e nas divulgações de segurança (públicas para todos, versus a política do Gitea que prioriza clientes Enterprise). "Melhor" depende de esses fatores importarem para você; só em recursos, é um empate.
De quanto RAM o OneDev precisa?
O mínimo oficial do OneDev é 2 GB de RAM. Nos testes do nodatools.com, ele ficou ocioso em torno de 600 MB e chegou a aproximadamente 950 MB sob carga. A inicialização pode ficar mais alta enquanto a JVM esquenta e a indexação é concluída, mas com o CI rodando ativamente você deve reservar de 1 a 2 GB de forma consistente. Para comparação, esse mesmo teste colocou Forgejo e Gitea em ~180-200 MB ociosos.
Posso migrar do Gitea para o OneDev, ou do OneDev para o Forgejo?
Não existe um caminho de migração direto entre a família Gitea/Forgejo e o OneDev. Eles usam modelos de dados, formatos de CI e schemas diferentes, então a mudança exigiria uma migração baseada em API, repositório por repositório, que perde o histórico de CI e de gerenciamento de projetos. A migração entre Gitea e Forgejo existe (veja nosso guia de migração de Gitea para Forgejo), porque compartilham uma linhagem.
O OneDev suporta GitHub Actions?
Não. O OneDev usa seu próprio dialeto de YAML mais um editor de pipeline com GUI, então workflows escritos para GitHub, Gitea ou Forgejo precisam ser reescritos para rodar nele. O Gitea Actions foi projetado como um substituto direto, então a maioria dos workflows existentes roda sem alterações. O runner do Forgejo é compatível na prática, mas não foi projetado para espelhar exatamente o GitHub Actions; verifique a documentação oficial do Forgejo para incompatibilidades documentadas antes de presumir portabilidade total.