ADR-006 : Utiliser Forgejo
Statut
Section titled “Statut”Accepté
- Date : 27/07/2026
- Auteur : Corentin Talour
Contexte et problème
Section titled “Contexte et problème”L’objectif de cette infrastructure est de s’appuyer autant que possible sur des solutions open source auto-hébergées. Le serveur cible est un VPS disposant de ressources limitées (4 Go de RAM), ce qui impose de privilégier des solutions légères.
Options considérées
Section titled “Options considérées”Option 1 : GitLab
Section titled “Option 1 : GitLab”Solution d’hébergement open source et gratuite avec la version GitLab Community Edition. Elle offre une plateforme complète sans installation complémentaire.
GitLab Community Edition est une plateforme très complète, mais ses besoins en ressources sont nettement supérieurs aux autres solutions étudiées. Pour un VPS de 4 Go de RAM, cette solution est jugée peu adaptée.
Option 2 : Gitea
Section titled “Option 2 : Gitea”Gitea est une solution open source et gratuite. Elle consomme peu de ressources (environ 1 Go de RAM), par contre elle nécessite une installation supplémentaire pour mettre en place un runner pour avoir accès à un pipeline CI/CD.
Le projet Gitea est piloté par une société commerciale. Cette gouvernance ne correspond pas aux objectifs du projet, qui privilégie une gouvernance communautaire.
Option 3 : Forgejo (choisi)
Section titled “Option 3 : Forgejo (choisi)”Forgejo est une solution open source et gratuite. C’est un projet qui a été fork de Gitea suite à la direction commerciale que le projet prenait. Forgejo est un fork communautaire de Gitea. Il reste compatible avec l’écosystème Gitea (Actions, runners, API) tout en étant gouverné par une organisation à but non lucratif. Il nécessite également une installation supplémentaire pour ajouter un runner pour pouvoir exécuter un pipeline CI/CD.
Décision
Section titled “Décision”Forgejo est retenu comme forge Git de l’infrastructure. Il offre une consommation de ressources faible, une installation simple via Docker et une gouvernance communautaire conforme aux objectifs du projet. GitLab CE est écarté en raison de ses besoins matériels, tandis que Gitea n’est pas retenu en raison de son modèle de gouvernance. En ce qui concerne GitLab CE, il consomme trop de ressources.
Conséquences
Section titled “Conséquences”Positives
Section titled “Positives”- Infrastructure entièrement auto-hébergée.
- Faible consommation mémoire.
- Déploiement simple via Docker.
- Compatibilité avec les workflows GitHub Actions grâce aux Forgejo Actions.
- Projet gouverné par une communauté open source.
Négatives
Section titled “Négatives”- Nécessite le déploiement et la maintenance d’un Forgejo Runner pour exécuter les pipelines CI/CD.
- Les mises à jour et sauvegardes sont à notre charge.
- Communauté plus réduite que GitLab.