Gitea vs Forgejo vs GitLab self-hosted 2026 : quelle forge Git choisir
Comparatif technique Gitea, Forgejo et GitLab CE 2026 : benchmarks RAM, CI/CD, gouvernance et cas d'usage pour choisir la meilleure forge Git self-hosted.
La gestion du code source en 2026 ne se résume plus à un simple dépôt git clone. Elle implique l’intégration continue, le déploiement automatisé, la gestion de la sécurité et la collaboration en temps réel. Pour les équipes qui refusent le vendor lock-in ou les coûts exorbitants des plateformes SaaS, l’auto-hébergement reste la référence. Cependant, le paysage des forges Git open source a considérablement évolué depuis la prise de contrôle de Gitea Ltd par Lizard Global en 2023, créant une scission majeure avec la communauté.
Aujourd’hui, vous avez trois acteurs majeurs à évaluer pour votre infrastructure CI/CD interne : Gitea, la solution “standard” devenue commerciale ; Forgejo, le fork communautaire garant de la neutralité ; et GitLab Community Edition, le géant complet mais gourmand. Le choix n’est pas seulement technique, il est aussi politique et opérationnel. Cet article décortique les trois solutions sur le plan de l’empreinte système, des fonctionnalités DevOps, de la gouvernance et de la facilité de déploiement.
Empreinte Système : Le duel de la légèreté contre la puissance brute
La première barrière à l’entrée pour une forge self-hosted est souvent matérielle. La différence entre Gitea/Forgejo et GitLab est abyssale, reflétant deux philosophies d’architecture totalement opposées.
Gitea et Forgejo : L’efficacité en Go
Gitea, écrit en Go, est réputé pour son empreinte mémoire dérisoire. Dans une installation minimale sur un environnement de production standard, un serveur Gitea consomme entre 50 Mo et 150 Mo de RAM au repos. L’ajout de Gitea Actions (le moteur CI/CD natif) augmente cette consommation, mais reste contenue. Sur un Raspberry Pi 4 ou 5, ou un VPS d’entrée de gamme (1 Go de RAM), Gitea tourne de manière fluide, gérant des dizaines de dépôts et des pipelines concurrents sans swapping.
Forgejo, étant un fork direct de Gitea, hérite de cette architecture. La consommation est identique. La différence ne se situe pas dans le code binaire, mais dans les patches communautaires qui visent souvent à optimiser davantage la base de données ou à ajouter des fonctionnalités de fédération (ActivityPub) sans alourdir le noyau.
Pour un développeur solo ou une petite équipe (< 10 personnes) sur un VPS basique, Gitea et Forgejo offrent un ratio performance/coût matériel imbattable. Vous pouvez héberger votre forge, votre base de données PostgreSQL et votre runner CI sur la même machine physique sans voir le serveur planter.
GitLab CE : Le monolithe Ruby
GitLab, écrit principalement en Ruby on Rails et Go, est une application Enterprise. L’installation “Omnibus” de GitLab CE nécessite un minimum de 4 Go de RAM pour fonctionner correctement, et recommande vivement 8 Go pour une expérience fluide avec plusieurs projets. Au repos, le processus unicorn et les workers Sidekiq consomment déjà 1 à 2 Go. Dès que vous activez les pipelines CI/CD, les runners et le registry Docker, la consommation peut facilement dépasser 4-6 Go.
GitLab est conçu pour être hébergé sur des serveurs dédiés ou des clusters Kubernetes. L’installer sur un VPS à 5€/mois est une expérience frustrante, sujette aux crashes OOM (Out Of Memory) lors des tâches de maintenance comme le nettoyage des jobs ou la compilation des assets.
Tableau comparatif des ressources
| Critère | Gitea | Forgejo | GitLab CE |
|---|---|---|---|
| Langage principal | Go | Go | Ruby / Go |
| RAM au repos | 50 - 150 Mo | 50 - 150 Mo | 1.5 - 2.5 Go |
| RAM Recommandée | 1 Go | 1 Go | 4 - 8 Go |
| CPU | Faible (1 vCPU suffit) | Faible (1 vCPU suffit) | Élevé (2-4 vCPU min) |
| Taille du binaire | ~50 Mo | ~50 Mo | Multi-services (Giant) |
| Dépendances DB | SQLite, PostgreSQL, MySQL | SQLite, PostgreSQL, MySQL | PostgreSQL uniquement |
Fonctionnalités Core : Gestion de code et collaboration
Sur le fondement de la gestion de code, les trois forges sont compétentes, mais leurs approches diffèrent.
Pull Requests et Merge Requests
Gitea et Forgejo utilisent le terme “Pull Request” (inspiré de GitHub). L’interface est épurée, rapide et intuitive. La création de PR, les revues de code, les commentaires en ligne et les validations obligatoires sont parfaitement fonctionnels. La différence entre Gitea et Forgejo sur ce point est quasi nulle, Forgejo ayant parfois un avantage sur la réactivité des correctifs de bugs liés à l’interface.
GitLab utilise le terme “Merge Request” (MR). L’interface est plus dense, offrant plus d’informations contextuelles directement dans la vue de la MR. GitLab excelle dans la gestion des workflows complexes, avec des approbations hiérarchiques, des protections de branches granulaires et une intégration native avec les “Issue Boards” qui sont bien plus puissants que les simples “Projects” de Gitea.
Wiki et Documentation
Gitea et Forgejo intègrent un Wiki basé sur Markdown par dépôt. C’est simple, léger et suffisant pour 90% des projets. La documentation est versionnée avec le code, ce qui est un avantage majeur pour la cohérence.
GitLab propose un Wiki intégré par projet, mais aussi des fonctionnalités plus avancées comme les “Snippets” partagés entre projets et une meilleure gestion des pages statiques (GitLab Pages). Si votre équipe a besoin d’une documentation centralisée complexe, GitLab offre plus de leviers de configuration.
Registry Docker
Toutes les trois forges intègrent un registry de conteneurs.
- Gitea/Forgejo : Le registry est natif, facile à configurer et stocke les images directement sur le système de fichiers local ou via S3. Il est limité en fonctionnalités avancées de scanning de sécurité par défaut, mais suffisant pour un usage interne.
- GitLab : Le registry est robuste, intégré au système de permissions des groupes et offre des fonctionnalités de scanning de vulnérabilités (via SAST/DAST) plus poussées, bien que souvent réservées aux plans payants pour les fonctionnalités avancées de sécurité.
CI/CD : Le vrai facteur différenciant
C’est ici que le choix devient critique. La CI/CD n’est plus un luxe, c’est une exigence.
Gitea Actions et Forgejo Actions
Historiquement, Gitea manquait de CI/CD intégré, forçant les utilisateurs à installer Jenkins ou Drone CI séparément. Avec l’arrivée de Gitea Actions, le moteur a été porté pour être compatible avec le format GitHub Actions (.github/workflows).
- Compatibilité : La plupart des workflows GitHub fonctionnent “out of the box”. Vous pouvez réutiliser les mêmes
actions/checkout,actions/setup-node, etc. - Performance : Gitea Actions est exécuté par des runners légers. Sur une petite infrastructure, cela reste gérable.
- Forgejo : Forgejo a fait un pas de plus en optimisant la compatibilité et en ajoutant des fonctionnalités spécifiques à la fédération. Si vous utilisez Forgejo, vous bénéficiez de la même compatibilité GitHub Actions, souvent avec une communauté plus réactive sur les bugs d’intégration.
Le principal inconvénient reste la complexité de gestion des runners à grande échelle. Pour 50 dépôts, c’est parfait. Pour 500, vous devrez gérer une flotte de runners Docker ou Kubernetes, ce qui annule une partie de la simplicité initiale.
GitLab CI/CD
GitLab CI/CD est considéré comme la référence du marché. Il est plus mature, plus flexible et offre une intégration plus profonde avec le reste de la plateforme.
- YAML avancé : Support des includes, des templates, et une logique de pipeline plus complexe (parallélisme conditionnel, artefacts partagés entre jobs).
- Runners : La gestion des runners est plus centralisée et offre plus d’options de scalabilité automatique.
- Écosystème : Une bibliothèque d’actions communautaire immense, bien que moins compatible avec le format GitHub Actions pur (GitLab utilise son propre format de YAML, bien que des outils de migration existent).
Pour les équipes DevOps exigeantes, GitLab CI offre un niveau de contrôle et de visibilité (graphiques de pipeline, analyses de couverture, traces détaillées) que Gitea/Forgejo n’atteignent pas encore pleinement.
Gouvernance et Éthique : Pourquoi Forgejo existe
La décision de choisir entre Gitea et Forgejo ne relève pas de la technique, mais de la gouvernance.
En 2023, Gitea Ltd (l’entité commerciale derrière Gitea) a été rachetée par Lizard Global, une société de capital-investissement. Bien que Gitea reste open source (MIT License), cette acquisition a soulevé des inquiétudes au sein de la communauté sur la dépendance à une entité privée à but lucratif. Les craintes portaient sur une possible fermeture future, une monétisation agressive des fonctionnalités ou une perte de contrôle communautaire.
En réponse, la communauté a créé Forgejo en juillet 2023. Forgejo est un fork de Gitea, maintenu par la Forgejo Foundation, une organisation à but non lucratif.
Les différences clés de gouvernance
- Neutralité : Forgejo est garanti par une fondation indépendante, assurant que le projet ne sera jamais racheté par un acteur commercial cherchant à en tirer un profit exclusif.
- Fédération : Forgejo investit activement dans la fédération via ActivityPub. L’objectif est de permettre aux utilisateurs de Forgejo d’interagir entre eux et avec d’autres plateformes fédérées (comme Mastodon ou PeerTube), créant un écosystème décentralisé. Gitea n’a pas d’ambition fédérale à court terme.
- Compatibilité : Forgejo vise à rester 100% compatible avec Gitea. Vous pouvez migrer de Gitea vers Forgejo (et vice-versa) sans perte de données.
Si vous êtes un puriste du logiciel libre, méfiant envers les rachats de capital-risque, ou si vous croyez en l’avenir du web décentralisé, Forgejo est le choix éthique. Pour la majorité des entreprises pragmatiques qui ne lisent pas les communiqués de presse, Gitea reste une option solide et mature.
Migration et Écosystème : L’héritage GitHub
La facilité de migration est un argument de vente majeur pour les forges modernes.
Gitea et Forgejo : L’import GitHub
Les deux forges disposent d’un outil d’import GitHub officiel. Vous pouvez coller l’URL d’un repo GitHub public ou privé (avec token), et Gitea/Forgejo cloneront le code, les issues, les labels et les branches.
- Limites : Les Pull Requests ne sont pas migrés automatiquement (ils deviennent des Issues ou doivent être recréés). Les commentaires de PR peuvent être perdus selon la complexité.
- Gitea Actions : La plus grande force de Gitea/Forgejo est la réutilisation des workflows GitHub Actions. Si votre équipe est déjà habituée à GitHub, la courbe d’apprentissage est quasi nulle.
GitLab : Importation native
GitLab possède un outil d’import GitHub très puissant qui migre les projets, les issues, les milestones et les étiquettes. Cependant, la migration des pipelines CI/CD nécessite une réécriture complète du .gitlab-ci.yml, car la syntaxe est différente de GitHub Actions.
Cas d’usage concrets : Qui choisit quoi ?
Profil 1 : Le Développeur Solo / Le Side Project
- Besoin : Héberger du code, CI/CD simple, faible coût, accès depuis un Raspberry Pi ou un vieux VPS.
- Choix : Gitea ou Forgejo.
- Pourquoi : Installation en 5 minutes avec un binaire unique. Consommation RAM < 200 Mo. Vous pouvez tout faire tourner sur un serveur à 3€/mois. L’interface est légère et ne ralentit pas votre machine de développement.
Profil 2 : La Petite Équipe Startup (< 15 devs)
- Besoin : Collaboration, revues de code, CI/CD fiable, registry Docker, mais budget limité.
- Choix : Forgejo (si éthique prioritaire) ou Gitea.
- Pourquoi : Vous avez besoin de plus de fonctionnalités qu’un simple repo, mais GitLab serait trop lourd et cher à maintenir. Gitea/Forgejo offrent un excellent équilibre fonctionnalités/poids. Avec 2-3 VPS (un pour la forge, un pour les runners CI), vous avez une stack DevOps complète.
Profil 3 : L’Équipe DevOps / Entreprise (15+ devs)
- Besoin : Pipeline CI/CD complexe, sécurité avancée, conformité, gestion de multiples projets interdépendants, support professionnel.
- Choix : GitLab CE (ou EE).
- Pourquoi : La puissance de GitLab CI/CD, la gestion des groupes de niveau supérieur, les outils de SAST/DAST intégrés et l’écosystème de plugins en font la seule option viable pour des workflows DevOps industriels. Vous devez prévoir un budget infrastructure conséquent (VPS 8Go RAM+ ou cluster K8s) et du temps d’administration.
Quel choix selon ton profil ?
Voici une matrice de décision rapide pour vous aider à trancher :
| Votre Priorité | Recommandation | Justification |
|---|---|---|
| Minimalisme / Matériel limité | Gitea / Forgejo | Binaire unique, RAM < 150Mo. Idéal pour RPi ou VPS basiques. |
| Éthique / Décentralisation | Forgejo | Gouvernance à but non-lucratif, roadmap ActivityPub. |
| Compatibilité GitHub Actions | Gitea / Forgejo | Support natif du format .github/workflows. |
| CI/CD Avancé / Enterprise | GitLab CE | Pipeline YAML puissant, sécurité intégrée, gestion complexe. |
| Facilité de maintenance | Gitea / Forgejo | Mise à jour par remplacement du binaire. Pas de dépendances lourdes. |
| Support Professionnel Officiel | GitLab / Gitea | GitLab offre un support payant robuste. Gitea Ltd propose du support. Forgejo repose sur la communauté. |
FAQ : Gitea vs Forgejo
1. Puis-je migrer de Gitea vers Forgejo facilement ?
Oui. Forgejo est conçu pour être un fork direct. Vous pouvez arrêter Gitea, installer Forgejo, pointer la configuration sur le même dossier de données et la même base de données. La migration est généralement transparente, bien qu’il soit toujours recommandé de faire une sauvegarde complète avant toute opération.
2. Gitea Actions est-il aussi performant que GitLab CI ?
Pour des workflows simples à moyens (build, test, deploy), Gitea Actions est très performant et compatible GitHub. Cependant, pour des pipelines complexes nécessitant des artefacts volumineux, du parallélisme conditionnel avancé ou une orchestration fine des jobs, GitLab CI reste supérieur en termes de fonctionnalités et de stabilité à grande échelle.
3. Forgejo va-t-il remplacer Gitea ?
Non. Les deux projets coexisteront. Gitea continuera d’évoluer sous l’égide de Gitea Ltd, tandis que Forgejo évoluera sous la Forgejo Foundation. La concurrence entre les deux favorisera l’innovation et la qualité du code pour les utilisateurs, chacun pouvant choisir la forge qui correspond le mieux à ses valeurs et besoins techniques.
4. Est-il nécessaire d’utiliser un VPS puissant pour héberger Gitea/Forgejo ?
Absolument pas. C’est l’un de leurs plus grands avantages. Un VPS avec 1 Go de RAM et 1 vCPU est largement suffisant pour une installation personnelle ou une petite équipe. Si vous prévoyez d’héberger des milliers de dépôts ou des centaines de runners CI, alors oui, vous devrez scaler, mais pour 95% des cas d’usage self-hosted, une machine entrée de gamme suffit amplement.
Conclusion
Le choix entre Gitea, Forgejo et GitLab ne se fait pas sur la seule base de la technique, mais sur l’alignement entre vos contraintes matérielles, vos besoins DevOps et vos valeurs organisationnelles.
- Choisissez Gitea si vous voulez la solution la plus mature, simple et compatible avec l’écosystème GitHub, sans vous soucier de l’aspect gouvernance.
- Choisissez Forgejo si vous privilégiez la neutralité, l’éthique open source et la vision fédérée, tout en conservant la légèreté de Gitea.
- Choisissez GitLab CE si vous avez les ressources infrastructurelles et humaines pour gérer un outil puissant, complexe et complet, et que vous avez besoin d’une suite DevOps intégrée de niveau entreprise.
Pour la majorité des développeurs et petites équipes auto-hébergeant leur code en 2026, Gitea ou Forgejo représentent le meilleur rapport simplicité/performance. GitLab reste le roi incontesté pour les grandes structures, mais son coût (en argent et en temps d’administration) le réserve à ceux qui en ont réellement besoin.