Dans une comparaison gitea contre forgejo contre onedev, vous avez affaire à trois outils qui répondent à deux questions différentes. Gitea et Forgejo sont des serveurs git auxquels on ajoute la gestion de projet. OneDev est une plateforme de gestion de projet et de CI qui héberge git très bien au passage. La décision n'est donc pas « lequel des trois est le meilleur ». C'est « est-ce que je veux un petit serveur git, ou une plateforme tout-en-un, et puis-je me permettre la RAM que coûte le tout-en-un ? »
Cette dernière partie est la tension. OneDev fait plus de choses d'emblée, et les tests de nodatools.com ont mesuré qu'il tournait au repos à environ 3 fois la mémoire d'une installation Forgejo nue, ce qui sur un petit VPS peut doubler votre facture mensuelle. Ce compromis est tout l'enjeu. (Et non, GitLab ne fait pas partie de cette comparaison. Si vous vouliez l'empreinte de GitLab, vous ne seriez pas en train de lire à propos de ces trois-là.)
J'ai fait tourner les trois. Voici ce qui compte vraiment quand vous en choisissez un pour une équipe : les différences de gouvernance et de licence qui séparent Gitea de Forgejo, les fonctionnalités qui justifient l'existence d'OneDev, les chiffres de RAM testés, et un « choisissez celui-ci si… » direct pour chacun.
En bref
- Vous voulez un serveur git léger avec une CI de style Actions ? Gitea ou Forgejo. Choisissez Gitea si une compatibilité plus étroite avec GitHub Actions compte pour vous ; choisissez Forgejo si une syntaxe de workflow proche de GitHub avec quelques ajustements de migration est acceptable.
- Vous tenez à une gouvernance à but non lucratif ou à une licence copyleft ? Forgejo. C'est le fork à gouvernance communautaire, et c'est mon choix par défaut pour la plupart des équipes.
- Vous voulez la licence MIT, la plus grande communauté de forge, ou un palier Enterprise payant avec SLA/SSO ? Gitea.
- Vous voulez une gestion de projet intégrée, une CI incluse, et l'intelligence de code en une seule installation, et vous avez de la RAM à revendre ? OneDev. Sachez simplement qu'il lui faut environ 4 GB au minimum, là où Forgejo se contente de 1 GB.
Verdict rapide : Pour la plupart des équipes, Forgejo est le bon choix par défaut à faible empreinte : même base que Gitea, gouvernance plus claire, et Forgejo Actions avec une syntaxe de workflow proche de GitHub. Optez pour OneDev seulement si vous voulez vraiment l'expérience PM plus CI intégrée dans une seule solution et que vous ne migrez pas une pile de workflows GitHub Actions existants.
Les deux questions auxquelles ces trois outils répondent

OneDev exécute son démon de build CI à l'intérieur du processus OneDev, il n'y a donc pas de runner distinct à déployer. Gitea et Forgejo font l'inverse : le serveur git est une chose, et vous déployez un runner CI comme processus séparé à côté. Ce seul fait architectural révèle la façon dont chaque outil se conçoit lui-même.
Gitea et Forgejo sont d'abord tournés vers git. Les dépôts, les pull requests et la revue de code en sont le cœur ; les issues et le kanban sont des ajouts utiles ; la CI est quelque chose qu'on y attache. Tout est construit autour de l'hébergement git en restant discret. C'est pourquoi ils sont petits, rapides et peu coûteux à exploiter.
OneDev est construit dans l'autre sens. C'est une plateforme de gestion de projet et de CI/CD où l'hébergement git est un composant de premier plan mais pas le principe organisateur. Les tableaux kanban sont automatisés, la CI est intégrée, l'intelligence de code est native, et il s'attend à être l'endroit où vit votre équipe, pas seulement l'endroit où réside votre code. C'est un produit véritablement différent, ce qui explique pourquoi le comparer à Gitea sur « qui héberge mieux git » passe à côté de l'essentiel. Ils hébergent git à peu près aussi bien l'un que l'autre. OneDev veut simplement faire beaucoup plus, et il vous facture ce privilège en ressources.
Tout ce qui suit découle de cette division. Le choix Gitea contre Forgejo est une sous-décision à l'intérieur de la branche « forge légère ». La question « OneDev en vaut-il la peine » est entièrement l'autre branche.
Gitea contre Forgejo : la décision entre quasi-jumeaux

Les deux se situent autour de 180 à 350 MB de RAM, partagent la même base de code jusqu'au point de fork, et gèrent l'hébergement git de base de la même manière. Pour les dépôts, les pull requests, la revue de code, les issues et la CI de style Actions, vous aurez du mal à trouver une différence significative dans l'usage quotidien, sauf si vous migrez des workflows GitHub Actions existants. Soyons clairs d'emblée : ce n'est pas une bataille de fonctionnalités. L'écart onedev vs gitea est large ; l'écart gitea vs forgejo porte sur qui contrôle le projet et sous quelle licence il est distribué.
Voici le contexte dont vous avez réellement besoin. En octobre 2022, le domaine et la marque Gitea sont devenus le centre d'un différend de gouvernance, et Forgejo a été créé en réponse. Forgejo vit désormais sous Codeberg e.V., une organisation à but non lucratif en Allemagne, et est distribué sous GPL-3.0. Gitea reste sous licence MIT et dispose d'une édition autohébergée open source gratuite, tandis que CommitGo vend Gitea Enterprise en parallèle. Forgejo qualifie cet arrangement d'Open Core ; Gitea/CommitGo conteste cette étiquette et affirme que le projet open source Gitea lui-même n'inclut pas de code propriétaire. Pour les lecteurs, la différence pratique est plus simple que la politique : Forgejo optimise pour une gouvernance à but non lucratif, copyleft, entièrement gratuite ; Gitea offre le cœur MIT permissif plus un chemin Enterprise soutenu par un fournisseur.
Trois choses en découlent, et chacune est pertinente pour la décision :
- Licence. GPL-3.0 copyleft (Forgejo) signifie que si vous modifiez Forgejo et distribuez la version modifiée, vous devez partager vos modifications sous GPL. Le MIT (Gitea) n'exige pas cela. Pour la plupart des équipes qui font tourner une instance non modifiée en interne, cela ne se pose jamais. Mais si vous construisez par-dessus la forge et la diffusez, cela compte.
- Divulgations de sécurité. Forgejo notifie tout le monde des avis de sécurité par des canaux publics. Gitea réserve les avis de sécurité anticipés aux clients Enterprise payants, ce qui signifie que les administrateurs autohébergés sur le palier gratuit peuvent être exposés à une vulnérabilité connue plus longtemps que les clients payants. Si vous utilisez la version gratuite, cette asymétrie mérite d'être connue.
- Un palier payant existe d'un côté. Gitea propose une édition Enterprise commerciale (9,50 à 19 $/utilisateur/mois) qui ajoute le SSO, les journaux d'audit, un support prioritaire et un SLA. Forgejo n'a pas de palier payant, toutes les fonctionnalités sont dans la version GPL gratuite.
Si vous êtes sur Gitea aujourd'hui et que cela vous pousse vers Forgejo, la bonne nouvelle est qu'il existe un chemin de migration pris en charge (avec un seuil de version à Gitea 1.22 qu'il vaut la peine de comprendre avant de commencer). Je l'ai détaillé séparément, voir le guide de migration complet pour la répartition version par version. Si vous venez de GitHub et n'avez pas encore choisi de forge, c'est une décision distincte avec ses propres compromis, qui mérite d'être traitée pour elle-même.
À retenir : pour l'hébergement git de base, Gitea et Forgejo sont à égalité. Choisissez Forgejo si vous voulez une propriété à but non lucratif, le copyleft, et des divulgations de sécurité publiques. Choisissez Gitea si vous voulez la licence MIT, la communauté la plus large, ou le palier Enterprise commercial.
En quoi OneDev est véritablement différent
Faites tourner OneDev (16.0.1 au moment d'écrire ces lignes) pendant une journée, et la première chose que vous remarquez, c'est que vous n'avez jamais déployé de runner CI. Le démon de build vit à l'intérieur du serveur OneDev, donc la CI fonctionne dès que la plateforme est en ligne. Vous pouvez construire un pipeline dans une GUI sans écrire une ligne de YAML, déboguer une tâche via un terminal web, et tester un build sur des modifications locales non validées avant même de pousser. C'est une véritable simplification opérationnelle par rapport à la danse « installer le serveur, puis installer et enregistrer un runner séparé » qu'exigent Gitea et Forgejo.
Le hic, et il est de taille pour les équipes existantes, c'est qu'OneDev utilise son propre dialecte YAML. Il est pas compatible avec GitHub Actions. Chaque workflow que vous avez écrit pour GitHub, Gitea ou Forgejo doit être réécrit pour fonctionner sur OneDev. Si vous avez toute une pile de fichiers .github/workflows dont vous dépendez, c'est un véritable coût de migration, pas un détail. Gitea et Forgejo héritent tous deux de l'écosystème GitHub Actions, mais pas de la même façon. Gitea Actions est conçu comme un remplacement direct de GitHub Actions, donc la plupart des workflows se transfèrent sans modification. Le runner de Forgejo est compatible en pratique mais présente des écarts documentés : une sous-clé permissions manquante, continue-on-error ignoré, une syntaxe OIDC différente. Vérifiez ces points avant de supposer une portabilité totale.
La deuxième chose qu'OneDev fait et que les forges plus légères ne font tout simplement pas : l'intelligence de code dans l'interface web. La recherche de symboles, l'accès à la définition et la recherche de références fonctionnent sur toute une gamme de langages (la liste officielle inclut Java, JavaScript, C, C++, C#, Go, PHP et Python) sans cloner le dépôt localement. Gitea et Forgejo n'ont rien d'équivalent intégré, donc il faudrait recourir à un outil externe. Si votre équipe fait beaucoup de revue de code dans le navigateur, c'est réellement appréciable.
Ajoutez à cela un kanban entièrement automatisé (déplacement des tâches basé sur des règles, états et champs personnalisés, règles de transition), un service desk qui transforme les e-mails entrants en issues sans que l'expéditeur ait besoin d'un compte, et des issues confidentielles au sein de projets publics, et vous avez le tableau complet : OneDev essaie d'être à la fois votre traqueur d'issues, votre système de CI, votre navigateur de code et votre tableau de projet.
Une précision sur les registres de paquets mérite d'être apportée. OneDev dispose d'un registre intégré ; cela est clair. Son tutoriel sur les paquets liste Docker, npm, NuGet, Maven, PyPI et RubyGems, tandis que la documentation produit actuelle mentionne aussi Helm. Gitea et Forgejo couvrent encore un ensemble bien plus large de formats de paquets, incluant Alpine, Arch, Cargo, Composer, Conan, Conda, Debian, Go, Helm, Maven, npm, NuGet, PyPI, RPM, RubyGems, Swift, Vagrant, et plus encore. Si votre équipe dépend de formats de paquets en dehors de l'ensemble de registre plus restreint d'OneDev, Gitea ou Forgejo est le choix le plus sûr.
À retenir : OneDev vous offre la CI intégrée, l'intelligence de code, et une suite complète de gestion de projet en une seule installation. Vous le payez en réécrivant tout workflow GitHub Actions, en acceptant un écosystème plus restreint, et (comme la section suivante le couvre) en lui donnant beaucoup plus de RAM.
Le coût en ressources : ce dont chacun a réellement besoin

Le chiffre qui tranche cette comparaison entière pour beaucoup d'équipes vient des tests de nodatools.com : OneDev tournait au repos à environ 600 MB de RAM là où Forgejo tournait à environ 180 MB. C'est plus de 3 fois plus, et cela s'accentue en charge. Voici leurs chiffres testés provenant de nodatools.com's measured comparison, exécuté sur un VPS neuf :
| Outil | Version actuelle | RAM au repos (testée) | RAM active en charge (testée) | Minimum officiel |
|---|---|---|---|---|
| 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 |
Pourquoi cet écart ? OneDev est écrit principalement en Java, donc la JVM porte un surcoût de heap que Gitea et Forgejo, basés sur Go, n'ont tout simplement pas. En plus de cela, OneDev indexe le code pour ses fonctionnalités d'intelligence, et cette indexation initiale est gourmande en mémoire. Quand je l'ai mis en place pour la première fois, le pic au démarrage était la partie la plus effrayante, et ce n'est pas l'état stable.
Astuce pro : ne paniquez pas devant la mémoire de démarrage d'OneDev. Elle peut grimper juste après le boot le temps que la JVM chauffe et que l'index de code initial se construise, puis redescendre vers le chiffre au repos une fois les choses stabilisées. Cela dit, prévoyez le chiffre de fonctionnement réaliste, pas celui au repos. Avec la CI qui exécute activement des tâches, prévoyez 1 à 2 GB de façon constante. Le minimum officiel de 2 GB existe pour une raison.
En matière de dimensionnement, cela se traduit clairement en paliers de VPS :
- Forgejo ou Gitea, installation de base, sans runner CI sur la machine : 1 GB RAM / 1 vCPU is comfortable.
- Forgejo ou Gitea avec un runner CI sur le même serveur : passez à 4 GB de RAM / 2 vCPU pour que le runner ait de la marge.
- OneDev, installation de base : 4 GB RAM is the practical floor. Go to 8 GB if code indexing is heavy or CI is busy.
L'écart de coût n'est donc pas subtil. Un serveur git dépouillé qui se contente d'une machine à 1 GB face à une instance OneDev qui en veut 4, c'est à peu près un doublement de votre facture VPS mensuelle. Pour un développeur solo ou une petite équipe, c'est la différence entre « pratiquement gratuit à faire tourner » et une ligne de dépense que vous remarquerez. Pour une équipe plus large qui va s'appuyer chaque jour sur la CI et la gestion de projet intégrées, cela peut tout à fait en valoir la peine. Mais c'est un véritable compromis : le surcoût d'OneDev, c'est la JVM, et ce coût achète ce que la JVM fait tourner.
Gitea, Forgejo, et OneDev sont tous des déploiements en un clic dans La marketplace de Cloudzy, donc une fois le dimensionnement fait, mettre en place une forge prend quelques minutes plutôt qu'un après-midi à bricoler Docker. Si vous exécutez un runner CI ou l'indexation de code d'OneDev, la marge supplémentaire se trouve sur un Linux VPS avec accès root, afin que vous puissiez régler vous-même le heap de la JVM et la concurrence des runners.
Une remarque propre à Cloudzy : les fiches d'application du Marketplace démarrent actuellement Gitea, Forgejo et OneDev à 2 GB de RAM. La recommandation de 1 GB ci-dessus s'applique aux installations manuelles allégées sans runner CI local. Si vous déployez via le Marketplace Cloudzy, respectez le minimum de la fiche d'application afin que l'OS, la base de données, les mises à jour de paquets et les services en arrière-plan aient de la marge.
Lequel choisir ?
Vous avez vu le tableau et les compromis, voici donc mon verdict direct pour chaque profil de lecteur, après avoir fait tourner les trois.
Choisissez Forgejo si vous voulez une forge légère à gouvernance communautaire avec une CI de style Actions et que vous pouvez tolérer de petites différences de workflow par rapport à GitHub Actions. C'est ma recommandation par défaut pour la plupart des équipes. Vous obtenez le même hébergement git de base que Gitea, une propriété à but non lucratif plus claire, des divulgations de sécurité publiques, une licence copyleft, et l'empreinte RAM la plus légère des trois. Si vous n'avez pas de raison particulière de choisir l'un des autres, choisissez celui-ci.
Choisissez Gitea si vous voulez spécifiquement la licence MIT (plus permissive que le GPL-3.0 de Forgejo), la plus grande communauté et le plus grand écosystème de forge, ou un palier Enterprise commercial avec SSO, journaux d'audit, et un SLA. Sur l'hébergement git pur, c'est une égalité avec Forgejo, donc vous choisissez selon la préférence de licence et de propriété, plus l'option de support payant si votre organisation a besoin d'un fournisseur à appeler.
Choisissez OneDev si vous voulez une gestion de projet intégrée, une CI incluse, et l'intelligence de code en une seule installation, vous partez de zéro (aucun workflow GitHub Actions existant à migrer), et vous avez le budget RAM pour une machine de 4 GB ou plus. La décision forgejo contre onedev se résume vraiment à ceci : achetez-vous un serveur git, ou une plateforme ? Si la réponse est « une plateforme, et je ne veux pas ajouter la CI moi-même », OneDev mérite son surcoût.
Un élément de décision facile à négliger : il n'existe pas de chemin de migration entre la famille Gitea/Forgejo et OneDev. Modèle de données différent, format de CI différent, schéma différent. Si vous commencez sur Forgejo et décidez plus tard de vouloir OneDev (ou l'inverse), vous vous dirigez vers un transfert basé sur l'API, dépôt par dépôt, qui perd votre historique de CI et vos données de gestion de projet. Donc si l'approche tout-en-un d'OneDev vous séduit un tant soit peu, il est bien moins coûteux de commencer là qu'y basculer plus tard. Entre Gitea et Forgejo, la migration existe bel et bien (c'est le chemin de migration couvert plus haut), mais franchir la ligne entre forge légère et OneDev est un aller simple, avec perte. Intégrez cela à la décision maintenant, pas dans dix-huit mois.
Foire aux questions
Gitea est-il toujours open source ?
Oui. Le cœur de Gitea est sous licence MIT et gratuit à autohéberger avec un nombre illimité d'utilisateurs et de dépôts. La mise en garde pratique concerne la gouvernance, pas la disponibilité du code source : Gitea est contrôlé par une entreprise et dispose d'une offre Enterprise soutenue par un fournisseur via CommitGo, tandis que Forgejo est le fork à gouvernance communautaire, sous licence GPL, hébergé par Codeberg e.V. Forgejo qualifie l'arrangement commercial de Gitea d'Open Core ; Gitea/CommitGo conteste cette étiquette et affirme que le projet open source lui-même n'inclut pas de code propriétaire. Donc Gitea reste open source, mais il n'est pas à gouvernance communautaire de la même manière que Forgejo.
Forgejo est-il meilleur que Gitea ?
Pour l'hébergement git de base, ils sont quasiment identiques : Forgejo est un fork de Gitea et partage la même base. Forgejo se distingue par la gouvernance (Codeberg e.V., à but non lucratif), la licence (GPL-3.0 copyleft contre le MIT de Gitea), et les divulgations de sécurité (publiques pour tous, contre la politique de Gitea qui privilégie d'abord les clients Enterprise). « Meilleur » dépend de si ces éléments comptent pour vous ; sur les seules fonctionnalités, c'est une égalité.
De combien de RAM OneDev a-t-il besoin ?
Le minimum officiel d'OneDev est de 2 GB de RAM. Dans les tests de nodatools.com, il tournait au repos autour de 600 MB et atteignait environ 950 MB en charge. Le démarrage peut être plus élevé le temps que la JVM chauffe et que l'indexation se termine, mais avec la CI activement en cours, il faut prévoir 1 à 2 GB de façon constante. À titre de comparaison, ces mêmes tests situaient Forgejo et Gitea à environ 180-200 MB au repos.
Puis-je migrer de Gitea vers OneDev, ou d'OneDev vers Forgejo ?
Il n'existe aucun chemin de migration direct entre la famille Gitea/Forgejo et OneDev. Ils utilisent des modèles de données, des formats de CI et des schémas différents, donc migrer nécessiterait une migration basée sur l'API, dépôt par dépôt, qui perd l'historique de CI et de gestion de projet. La migration entre Gitea et Forgejo, elle, existe (voir notre guide de migration de Gitea vers Forgejo), car ils partagent une filiation.
OneDev prend-il en charge GitHub Actions ?
Non. OneDev utilise son propre dialecte YAML plus un éditeur de pipeline en GUI, donc les workflows écrits pour GitHub, Gitea ou Forgejo doivent être réécrits pour fonctionner dessus. Gitea Actions est conçu comme un remplacement direct, donc la plupart des workflows existants fonctionnent sans modification. Le runner de Forgejo est compatible en pratique mais n'est pas conçu pour reproduire GitHub Actions à l'identique ; consultez la documentation officielle de Forgejo pour les incompatibilités documentées avant de supposer une portabilité totale.