Aller au contenu
Culture DevOps medium

Forgejo : présentation de la forge Git communautaire

9 min de lecture

Forgejo est une forge logicielle self-hosted, légère et 100 % libre, conçue pour héberger des dépôts Git avec gestion de projet, CI/CD et registre de paquets intégrés. Fork communautaire de Gitea créé en 2022, Forgejo est porté par une communauté indépendante sous l’égide de Codeberg e.V., une association à but non lucratif allemande. Avec un binaire unique consommant moins de 200 Mo de RAM, c’est l’une des forges les plus légères du marché — tout en offrant un périmètre fonctionnel comparable à GitHub.

  • Comprendre ce qu’est Forgejo : son origine, sa gouvernance communautaire et sa licence
  • Connaître les fonctionnalités principales : dépôts Git, CI/CD, registre de paquets, fédération
  • Identifier la stack technique : un binaire Go unique, bases de données supportées, composants
  • Comparer Forgejo à Gitea et aux autres forges : différences concrètes de gouvernance et de fonctionnalités
  • Évaluer si Forgejo convient à votre contexte (ressources, conformité, philosophie)

Forgejo est né en octobre 2022 après que Gitea Ltd. a été créée en tant qu’entreprise commerciale, suscitant des inquiétudes dans la communauté open-source. Un groupe de contributeurs a forké Gitea pour garantir que le projet reste libre et gouverné collectivement.

Le projet est placé sous la tutelle de Codeberg e.V., une association à but non lucratif enregistrée à Berlin. Codeberg détient les domaines et fournit l’infrastructure, mais la gouvernance technique reste indépendante et définie collectivement par les contributeurs.

AspectDétail
CréationOctobre 2022 (fork de Gitea)
OrganisationCodeberg e.V. (association à but non lucratif, Berlin)
GouvernanceCollective, définie par les contributeurs
LicenceGPL v3+ (depuis v9.0 ; MIT pour les versions antérieures)
Code sourcecodeberg.org/forgejo/forgejo
FinancementBénévolat, dons (Liberapay), subventions, contrats de service

Forgejo est un binaire unique écrit en Go qui embarque tous les composants nécessaires.

ComposantTechnologieRôle
Serveur webGo (Chi)Interface web, API REST, serveur Git HTTP/SSH
ORMXORMAbstraction base de données
Base de donnéesSQLite, PostgreSQL, MySQL/MariaDBStockage des métadonnées (projets, utilisateurs, issues)
Indexeur de codeBleve (intégré) ou MeilisearchRecherche full-text dans le code et les issues
File de messagesEn mémoire ou RedisGestion des tâches asynchrones (webhooks, emails)
UIVue 3, Fomantic UIInterface utilisateur web
CI/CDForgejo Runner (Go)Exécution des workflows Forgejo Actions
  • Dépôts Git avec interface web, éditeur en ligne et visualisation de diff
  • Pull requests avec revue de code en ligne, discussions et approbations
  • Branches protégées avec règles de merge configurables
  • Miroir de dépôts (pull et push) depuis/vers d’autres forges
  • Signature GPG/SSH des commits
  • Workflows YAML compatibles avec la syntaxe GitHub Actions
  • Forgejo Runner : exécuteur léger en Go (shell, Docker, LXC)
  • Réutilisation d’Actions existantes : la plupart des Actions GitHub fonctionnent directement
  • Téléchargement d’Actions depuis n’importe quel dépôt Git (pas uniquement GitHub)
  • Issues avec labels, milestones, assignations et suivi de temps
  • Tableaux Kanban (boards de projet)
  • Wiki intégré par dépôt
  • Webhooks vers Slack, Discord, Matrix, Mattermost et endpoints personnalisés
  • Container Registry (images OCI/Docker)
  • Package Registry compatible : npm, PyPI, Maven, NuGet, Cargo, Composer, Conda, Helm, RubyGems, Conan, Pub, Vagrant et plus de 20 formats
  • ActivityPub / ForgeFed : Forgejo travaille activement sur la fédération entre instances
  • Objectif : permettre à des forges indépendantes de collaborer (suivre des utilisateurs distants, interagir avec des dépôts d’autres instances)
  • Fonctionnalité expérimentale — des changements incompatibles sont possibles
MéthodeDescriptionRecommandée pour
BinaireTéléchargement direct depuis forgejo.org/releasesServeurs Linux, contrôle maximal
Container OCIcodeberg.org/forgejo/-/packages/container/forgejoDocker, Podman, Kubernetes
Packages Debian/RPMVia les dépôts communautairesDistributions Linux standard

Forgejo et Gitea partagent la même base de code historique, mais les projets divergent de plus en plus.

AspectForgejoGitea
GouvernanceCommunauté (Codeberg e.V.)Entreprise (Gitea Ltd. / CommitGo Inc.)
LicenceGPL v3+ (depuis v9.0)MIT
Offre commercialeAucune (services professionnels communautaires)Gitea Cloud + Gitea Enterprise
Support WindowsAbandonnéMaintenu
Fédération ActivityPubEn développement actifNon prioritaire
Certification SOC 2NonOui (CommitGo)
APICompatible Gitea (divergences mineures)API de référence
Migration Gitea → ForgejoSupportée officiellement
CritèreForgejoGitLab CE
RAM minimum~200 Mo~4 Go
CPU minimum1 vCPU2 vCPU
Installation1 binairePackage Omnibus (~1 Go)
CI/CDForgejo Actions (compatible GitHub Actions)GitLab CI (syntaxe propriétaire)
SAST/DASTNon intégréIntégré (Ultimate)
Registre de paquets20+ formats10+ formats
Gestion de portefeuilleNonEpics, Milestones (Premium+)
Complexité opérationnelleFaibleÉlevée
  • Forgejo est une forge Git self-hosted légère, 100 % libre (GPL v3+), portée par une communauté indépendante sous Codeberg e.V.
  • Fork de Gitea depuis 2022, motivé par la volonté de préserver une gouvernance communautaire face à la commercialisation de Gitea
  • Un binaire unique en Go qui embarque serveur web, Git, base de données (SQLite possible) et indexeur
  • Empreinte minimale : ~200 Mo RAM, fonctionne sur un Raspberry Pi
  • Forgejo Actions pour le CI/CD, compatible avec la syntaxe GitHub Actions
  • Registre de paquets intégré (Docker, npm, PyPI, Maven et 20+ formats)
  • La fédération (ActivityPub/ForgeFed) est la fonctionnalité phare en développement, absente chez Gitea et GitLab
  • Migration depuis Gitea supportée officiellement (remplacement du binaire)

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn