En una comparación gitea vs forgejo vs onedev, estás viendo tres herramientas que responden a dos preguntas distintas. Gitea y Forgejo son servidores git a los que se les añade gestión de proyectos. OneDev es una plataforma de gestión de proyectos y CI que además aloja git muy bien. Así que la decisión no es "cuál de estos tres es mejor". Es "¿quiero un servidor git pequeño, o una plataforma todo en uno, y puedo permitirme la RAM que cuesta la todo en uno?"
Esa última parte es la tensión. OneDev hace más de fábrica, y las pruebas de nodatools.com midieron que en reposo consume aproximadamente 3 veces la memoria de una instalación básica de Forgejo, lo que en un VPS pequeño puede duplicar tu factura mensual. Esa contrapartida lo es todo. (Y no, GitLab no entra en esta comparación. Si quisieras la huella de GitLab, no estarías leyendo sobre estos tres.)
He usado los tres. A continuación está lo que realmente importa a la hora de elegir uno para un equipo: las diferencias de gobernanza y licencia que separan a Gitea de Forgejo, las funciones que justifican la existencia de OneDev, las cifras de RAM probadas y un "elige este si…" directo para cada uno.
TL;DR
- ¿Quieres un servidor git ligero con CI al estilo Actions? Gitea o Forgejo. Elige Gitea si te importa una compatibilidad más cercana con GitHub Actions; elige Forgejo si una sintaxis de workflow similar a GitHub con algunos ajustes de migración es aceptable.
- ¿Te importa la gobernanza sin fines de lucro o una licencia copyleft? Forgejo. Es el fork gobernado por la comunidad, y es mi elección por defecto para la mayoría de los equipos.
- ¿Quieres la licencia MIT, la comunidad de forja más grande o un nivel Enterprise de pago con SLA/SSO? Gitea.
- ¿Quieres gestión de proyectos integrada, CI incluida e inteligencia de código en una sola instalación, y tienes RAM de sobra? OneDev. Solo ten en cuenta que necesita ~4 GB como mínimo, donde Forgejo funciona bien con 1 GB.
Veredicto rápido: Para la mayoría de los equipos, Forgejo es la opción por defecto correcta de huella reducida: el mismo núcleo que Gitea, una gobernanza más clara y Forgejo Actions con una sintaxis de workflow similar a GitHub. Recurre a OneDev solo cuando realmente quieras la experiencia combinada de PM más CI en una sola caja y no estés migrando un montón de workflows existentes de GitHub Actions.
Las dos preguntas que responden estas tres herramientas

OneDev ejecuta su daemon de compilación de CI dentro del propio proceso de OneDev, así que no hay un runner separado que desplegar. Gitea y Forgejo hacen lo contrario: el servidor git es una cosa, y despliegas un CI runner como proceso separado junto a él. Ese único hecho arquitectónico revela cómo se concibe cada herramienta a sí misma.
Gitea y Forgejo son git-first. Los repositorios, los pull requests y la revisión de código son el núcleo; los issues y el kanban son complementos útiles; el CI es algo que añades. Todo está construido alrededor de alojar git y no interponerse en tu camino. Por eso son pequeños, rápidos y baratos de ejecutar.
OneDev está construido al revés. Es una plataforma de gestión de proyectos y CI/CD donde el hosting de git es un componente de primer nivel, pero no el principio organizador. Los tableros kanban están automatizados, el CI está integrado, la inteligencia de código viene incorporada, y espera ser el lugar donde vive tu equipo, no solo el lugar donde reposa tu código. Eso es un producto genuinamente distinto, por lo que compararlo con Gitea en "quién aloja mejor git" pierde el punto. Ambos alojan git más o menos igual de bien. OneDev simplemente quiere hacer mucho más, y te cobra en recursos por ese privilegio.
Todo lo que sigue se corresponde con esta división. La elección Gitea vs Forgejo es una subdecisión dentro de la rama del "forge ligero". La pregunta de "si vale la pena OneDev" es la otra rama por completo.
Gitea vs Forgejo: la decisión entre casi gemelos

Ambos se sitúan alrededor de 180–350 MB de RAM, ambos comparten la misma base de código hasta el punto de bifurcación, y ambos hacen el hosting básico de git de la misma manera. En repositorios, pull requests, revisión de código, issues y CI al estilo Actions, te costará encontrar una diferencia significativa en el uso diario, a menos que estés migrando workflows existentes de GitHub Actions. Así que seamos claros desde el principio: esto no es una pelea de funciones. La brecha onedev vs gitea es amplia; la brecha gitea vs forgejo tiene que ver con quién controla el proyecto y bajo qué licencia se distribuye.
Este es el trasfondo que realmente necesitas. En octubre de 2022, el dominio y la marca de Gitea se convirtieron en el centro de una disputa de gobernanza, y Forgejo se creó en respuesta. Forgejo ahora vive bajo Codeberg e.V., una organización sin fines de lucro en Alemania, y se distribuye bajo GPL-3.0. Gitea sigue con licencia MIT y tiene una edición autoalojada de código abierto gratuita, mientras que CommitGo vende Gitea Enterprise junto a ella. Forgejo describe ese arreglo como Open Core; Gitea/CommitGo rechaza esa etiqueta y afirma que el propio proyecto de código abierto de Gitea no incluye código propietario. Para los lectores, la diferencia práctica es más simple que la política: Forgejo optimiza para una gobernanza sin fines de lucro, copyleft y totalmente gratuita; Gitea ofrece el núcleo permisivo MIT más una ruta Enterprise respaldada por un proveedor.
De ahí se derivan tres cosas, y cada una es relevante para la decisión:
- Licencia. GPL-3.0 copyleft (Forgejo) significa que si modificas Forgejo y distribuyes la versión modificada, tienes que compartir tus cambios bajo GPL. MIT (Gitea) no exige eso. Para la mayoría de los equipos que ejecutan una instancia sin modificar internamente, esto nunca surge. Pero si estás construyendo sobre el forge y distribuyéndolo, sí importa.
- Divulgaciones de seguridad. Forgejo notifica a todos sobre los avisos de seguridad a través de canales públicos. Gitea reserva los avisos de seguridad anticipados para los clientes Enterprise de pago, lo que significa que los administradores autoalojados en el nivel gratuito pueden quedar expuestos a una vulnerabilidad conocida durante más tiempo que los clientes de pago. Si ejecutas la versión gratuita, esa asimetría vale la pena conocerla.
- Existe un nivel de pago en un lado. Gitea tiene una Enterprise Edition comercial ($9.50–$19/usuario/mes) que añade SSO, registros de auditoría, soporte prioritario y un SLA. Forgejo no tiene nivel de pago, todas las funciones están en la compilación GPL gratuita.
Si hoy estás en Gitea y esto te empuja hacia Forgejo, la buena noticia es que existe una ruta de migración compatible (con un salto de versión en Gitea 1.22 que vale la pena entender antes de empezar). Lo he documentado por separado, ver el recorrido completo de la migración para el desglose versión por versión. Si vienes de GitHub y todavía no has elegido una forja, esa es una decisión aparte con sus propias contrapartidas y merece analizarse por sí misma.
Conclusión de la sección: para el alojamiento git básico, Gitea y Forgejo están empatados. Elige Forgejo si quieres una propiedad sin fines de lucro, copyleft y divulgaciones públicas de seguridad. Elige Gitea si quieres la licencia MIT, la comunidad más grande o el nivel Enterprise comercial.
Dónde OneDev es realmente distinto
Ejecuta OneDev (16.0.1 al momento de escribir esto) durante un día y lo primero que notas es que nunca desplegaste un runner de CI. El daemon de compilación vive dentro del propio servidor de OneDev, así que CI funciona en cuanto la plataforma está en marcha. Puedes construir un pipeline en una GUI sin escribir una sola línea de YAML, depurar una tarea a través de una terminal web y probar una compilación contra cambios locales sin confirmar antes incluso de hacer push. Es una simplificación operativa genuina frente al baile de "instala el servidor, luego instala y registra un runner aparte" que exigen Gitea y Forgejo.
La trampa, y es grande para los equipos ya existentes, es que OneDev usa su propio dialecto de YAML. Es no Compatible con GitHub Actions. Cada workflow que hayas escrito para GitHub, Gitea o Forgejo tiene que reescribirse para ejecutarse en OneDev. Si tienes un montón de archivos .github/workflows de los que dependes, eso es un costo de migración real, no una nota al pie. Gitea y Forgejo heredan ambos el ecosistema de GitHub Actions, pero no lo heredan de la misma manera. Gitea Actions está diseñado como un reemplazo directo de GitHub Actions, así que la mayoría de los workflows se transfieren sin cambios. El runner de Forgejo es compatible en la práctica, pero tiene brechas documentadas: falta la subclave permissions, continue-on-error se ignora, sintaxis OIDC distinta. Revisa eso antes de asumir portabilidad total.
La segunda cosa que hace OneDev y que las forjas más pequeñas simplemente no hacen: inteligencia de código en la UI web. La búsqueda de símbolos, ir a la definición y buscar referencias funcionan en una variedad de lenguajes (la lista oficial incluye Java, JavaScript, C, C++, C#, Go, PHP y Python) sin clonar el repositorio localmente. Gitea y Forgejo no tienen nada equivalente integrado, así que tendrías que recurrir a una herramienta externa. Si tu equipo hace mucha revisión de código en el navegador, esto es realmente útil.
Completa esto con un kanban totalmente automatizado (movimiento de tareas basado en reglas, estados y campos personalizados, reglas de transición), una mesa de servicio que convierte correos entrantes en incidencias sin que el remitente necesite una cuenta, e incidencias confidenciales dentro de proyectos públicos, y ya tienes el panorama: OneDev intenta ser tu rastreador de incidencias, tu sistema de CI, tu explorador de código y tu tablero de proyecto, todo a la vez.
Vale la pena hacer una aclaración sobre los registros de paquetes. OneDev tiene un registro integrado; eso está claro. Su tutorial de paquetes menciona Docker, npm, NuGet, Maven, PyPI y RubyGems, mientras que la documentación actual del producto también menciona Helm. Gitea y Forgejo siguen cubriendo un conjunto mucho más amplio de formatos de paquetes, incluyendo Alpine, Arch, Cargo, Composer, Conan, Conda, Debian, Go, Helm, Maven, npm, NuGet, PyPI, RPM, RubyGems, Swift, Vagrant y más. Si tu equipo depende de formatos de paquete fuera del conjunto más reducido de OneDev, Gitea o Forgejo es la opción más segura.
Conclusión de la sección: OneDev te ofrece CI integrada, inteligencia de código y una suite completa de PM en una sola instalación. Lo pagas reescribiendo cualquier flujo de trabajo de GitHub Actions, aceptando un ecosistema más pequeño y (como veremos en la siguiente sección) dándole mucha más RAM.
El costo en recursos: qué necesita realmente cada uno

El número que decide toda esta comparación para muchos equipos proviene de las pruebas de nodatools.com: OneDev en reposo consumía aproximadamente 600 MB de RAM, mientras que Forgejo en reposo consumía unos 180 MB. Eso es más de 3 veces, y la diferencia crece bajo carga. Aquí están sus cifras probadas de nodatools.com's measured comparison, ejecuta en un VPS nuevo:
| Herramienta | Versión actual | RAM en reposo (probado) | RAM activa bajo carga (probado) | 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 qué la diferencia? OneDev está escrito en su mayor parte en Java, así que la JVM conlleva una sobrecarga de heap que Gitea y Forgejo, basados en Go, simplemente no tienen. Además, OneDev indexa el código para sus funciones de inteligencia, y ese indexado inicial consume mucha memoria. Cuando lo puse en marcha por primera vez, el pico durante el arranque fue la parte más alarmante, y no es el estado estable.
Consejo práctico: no te alarmes por la memoria de arranque de OneDev. Puede dispararse justo después del arranque mientras la JVM se calienta y se construye el índice de código inicial, y luego bajar hacia la cifra en reposo una vez que las cosas se estabilizan. Aun así, planifica según la cifra real de trabajo, no la de reposo. Con CI ejecutando tareas de forma activa, calcula entre 1 y 2 GB de manera constante. El mínimo oficial de 2 GB existe por una razón.
En términos de dimensionamiento, eso se traduce claramente en niveles de VPS:
- Forgejo o Gitea, instalación básica, sin CI runner en la máquina: 1 GB RAM / 1 vCPU is comfortable.
- Forgejo o Gitea con un CI runner en el mismo servidor: sube a 4 GB de RAM / 2 vCPU para que el runner tenga espacio.
- OneDev, instalación básica: 4 GB RAM is the practical floor. Go to 8 GB if code indexing is heavy or CI is busy.
Así que la diferencia de costo no es sutil. Un servidor git minimalista que funciona bien en una máquina de 1 GB frente a una instancia de OneDev que quiere 4 GB representa aproximadamente duplicar tu factura mensual de VPS. Para un desarrollador solo o un equipo pequeño, es la diferencia entre "prácticamente gratis de operar" y una partida que vas a notar. Para un equipo más grande que va a apoyarse a diario en la CI y el PM integrados, puede valer totalmente la pena. Pero es una contrapartida real: la sobrecarga de OneDev es la JVM, y ese costo te compra lo que la JVM ejecuta.
Gitea, Forgejo, y OneDev son todos despliegues de un clic en El marketplace de Cloudzy, así que una vez que lo has dimensionado, levantar un forge toma un par de minutos en lugar de una tarde peleando con Docker. Si ejecutas un CI runner o el indexado de código de OneDev, el margen extra vive en un Linux VPS con acceso root, para que puedas ajustar tú mismo el heap de la JVM y la concurrencia de los runners.
Una nota específica de Cloudzy: las tarjetas de apps del Marketplace actualmente inician Gitea, Forgejo y OneDev con 2 GB de RAM. La recomendación de 1 GB de arriba aplica a instalaciones manuales austeras sin un CI runner local. Si despliegas a través del Marketplace de Cloudzy, sigue el mínimo de la tarjeta de la app para que el sistema operativo, la base de datos, las actualizaciones de paquetes y los servicios en segundo plano tengan margen.
¿Cuál deberías elegir?
Ya has visto la tabla y las contrapartidas, así que aquí va mi recomendación directa para cada perfil de lector, basada en haber ejecutado las tres.
Elige Forgejo si quieres una forja ligera, gobernada por la comunidad, con CI al estilo Actions, y puedes tolerar pequeñas diferencias de flujo de trabajo respecto a GitHub Actions. Esta es mi recomendación por defecto para la mayoría de los equipos. Obtienes el mismo alojamiento git básico que Gitea, una propiedad sin fines de lucro más clara, divulgaciones públicas de seguridad, una licencia copyleft y la huella de RAM más ligera de los tres. Si no tienes una razón específica para elegir uno de los otros, elige este.
Elige Gitea si quieres específicamente la licencia MIT (más permisiva que la GPL-3.0 de Forgejo), la comunidad y el ecosistema de forja más grandes, o un nivel Enterprise comercial con SSO, registros de auditoría y un SLA. En alojamiento git básico está empatado con Forgejo, así que eliges según la licencia y la preferencia de propiedad, más la opción de soporte de pago si tu organización necesita un proveedor a quien llamar.
Elige OneDev si quieres gestión de proyectos integrada, CI incluida e inteligencia de código en una sola instalación, estás empezando de cero (sin flujos de trabajo existentes de GitHub Actions que migrar) y tienes el presupuesto de RAM para una máquina de 4 GB o más. La decisión entre Forgejo y OneDev en realidad se reduce a esto: ¿estás comprando un servidor git o una plataforma? Si la respuesta es "una plataforma, y no quiero montar la CI yo mismo", OneDev justifica su sobrecarga.
Un factor de decisión fácil de pasar por alto: no existe ruta de migración entre la familia Gitea/Forgejo y OneDev. Modelo de datos distinto, formato de CI distinto, esquema distinto. Si empiezas en Forgejo y luego decides que quieres OneDev (o al revés), te enfrentas a un movimiento basado en API, repo por repo, que pierde tu historial de CI y los datos de gestión de proyectos. Así que si el enfoque todo en uno de OneDev te atrae aunque sea un poco, es mucho más barato empezar ahí que cambiarte después. Entre Gitea y Forgejo, la migración sí existe (eso es la ruta de migración cubierto antes), pero cruzar la línea de forja ligera a OneDev es un viaje de ida y con pérdidas. Ten esto en cuenta ahora en la decisión, no dentro de dieciocho meses.
Preguntas frecuentes
¿Sigue Gitea siendo de código abierto?
Sí. El núcleo de Gitea tiene licencia MIT y es gratuito de autoalojar con usuarios y repositorios ilimitados. La salvedad práctica está en la gobernanza, no en la disponibilidad del código fuente: Gitea está controlado por una empresa y tiene una oferta Enterprise respaldada por un proveedor a través de CommitGo, mientras que Forgejo es la bifurcación con licencia GPL gobernada por la comunidad bajo Codeberg e.V. Forgejo describe el acuerdo comercial de Gitea como Open Core; Gitea/CommitGo disputa esa etiqueta y afirma que el propio proyecto de código abierto no incluye código propietario. Así que Gitea sigue siendo de código abierto, pero no está gobernado por la comunidad de la misma manera que Forgejo.
¿Es Forgejo mejor que Gitea?
En el hosting básico de git, son casi idénticos: Forgejo se bifurcó de Gitea y comparte la misma base. Forgejo se diferencia en gobernanza (la organización sin fines de lucro Codeberg e.V.), licencia (GPL-3.0 copyleft frente a la MIT de Gitea) y divulgaciones de seguridad (públicas para todos, frente a la política de Gitea de priorizar a los clientes Enterprise). "Mejor" depende de si esas cosas te importan; en funciones por sí solas, es un empate.
¿Cuánta RAM necesita OneDev?
El mínimo oficial de OneDev es 2 GB de RAM. En las pruebas de nodatools.com, se mantuvo en reposo alrededor de 600 MB y alcanzó aproximadamente 950 MB bajo carga. El arranque puede ser más alto mientras la JVM se calienta y se completa la indexación, pero con CI ejecutándose activamente deberías presupuestar 1–2 GB de forma constante. Como comparación, esas mismas pruebas situaron a Forgejo y Gitea en ~180–200 MB en reposo.
¿Puedo migrar de Gitea a OneDev, o de OneDev a Forgejo?
No existe una ruta de migración directa entre la familia Gitea/Forgejo y OneDev. Usan diferentes modelos de datos, formatos de CI y esquemas, así que cambiar requeriría una migración basada en API, repo por repo, que pierde el historial de CI y de gestión de proyectos. La migración entre Gitea y Forgejo sí existe (ver nuestra guía de migración de Gitea a Forgejo), porque comparten un linaje.
¿OneDev es compatible con GitHub Actions?
No. OneDev usa su propio dialecto YAML más un editor de pipelines con GUI, así que los workflows escritos para GitHub, Gitea o Forgejo tienen que reescribirse para ejecutarse en él. Gitea Actions está diseñado como un reemplazo directo, así que la mayoría de los workflows existentes se ejecutan sin cambios. El runner de Forgejo es compatible en la práctica, pero no está diseñado para replicar exactamente GitHub Actions; consulta la documentación oficial de Forgejo para ver las incompatibilidades documentadas antes de asumir portabilidad total.