Forgejo héberge votre code sur votre propre serveur pour 100 Mo de RAM
Forgejo publie sa version 16.0 le 16 juillet 2026, trois ans et demi après le fork communautaire de Gitea. Un binaire unique de 100 Mo remplace GitHub et GitLab sur n’importe quel VPS d’entrée de gamme, sans renoncer à la CI/CD ni à la gouvernance libre.
Le 16 juillet 2026, Forgejo publie sa version 16.0. Quatre jours plus tôt, Codeberg, la forge communautaire qui l’héberge, franchit la barre des 120 000 dépôts. Trois ans et demi après le fork de Gitea en octobre 2022 — né de la reprise en main du projet par une société à but lucratif sans consultation de la communauté — le verdict est sans appel : Forgejo fait tout ce que fait GitHub pour les équipes de 2 à 20 développeurs, tourne avec 100 Mo de RAM, et n’appartient à personne.
C’est la seule forge légère dont la gouvernance est verrouillée par une association à but non lucratif. Si votre code mérite de rester chez vous, voici pourquoi Forgejo est le chemin le plus court.
Le fork qui a changé de nature
En octobre 2022, le nom de domaine et la marque Gitea sont transférés à une société commerciale sans vote ni concertation. La communauté publie une lettre ouverte et, devant le refus de revenir en arrière, crée Forgejo sous l’égide de Codeberg e.V., une association allemande à but non lucratif.
Pendant un an, Forgejo reste un soft fork : il suit Gitea de près, comme LineageOS suit Android. Début 2024, le projet annonce un hard fork : les deux bases de code divergent, Forgejo ne suit plus les commits amont automatiquement et les cherry-picks deviennent sélectifs. La version 1.21 est la dernière à garantir une compatibilité de migration entre les deux projets. Depuis, les choix techniques et la feuille de route sont totalement indépendants.
La différence n’est pas cosmétique. Gitea Ltd exige une cession de droits d’auteur pour toute contribution et réserve l’annonce anticipée des correctifs de sécurité à ses clients payants. Forgejo ne demande aucune cession de droits, notifie les tiers de confiance par canaux chiffrés sans contrepartie financière, et publie ses annonces de sécurité sur un dépôt public accessible à tous. La transparence est structurelle, pas cosmétique.
Un binaire, un serveur, zéro friction
Forgejo est distribué sous forme d’un binaire Go unique de moins de 100 Mo. Pas de runtime, pas de dépendances système complexes, pas de cluster de conteneurs obligatoire. Trois modes de déploiement officiels :
- Binaire : téléchargez, rendez exécutable, lancez. Le processus d’installation prend moins de cinq minutes sur une machine vierge.
- Docker : une image unique, un
docker compose up -d, et l’interface web est accessible sur le port 3000. - Kubernetes : un chart Helm maintenu par la communauté pour les déploiements multi-nœuds.
La base de données est au choix : SQLite pour les instances personnelles ou les petites équipes (zéro maintenance), PostgreSQL ou MySQL pour la montée en charge. Le stockage des dépôts Git repose sur le système de fichiers local, avec support de S3 et des stockages objet compatibles pour les releases et les packages.
Le docker-compose de référence tient en trente lignes :
version: "3"
services:
server:
image: codeberg.org/forgejo/forgejo:16.0
container_name: forgejo
environment:
- FORGEJO__database__DB_TYPE=sqlite3
restart: always
volumes:
- ./forgejo/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000" Deux précisions qui évitent des déconvenues. D’abord, ne laissez jamais le port 3000 exposé directement sur Internet : passez par un reverse proxy (Nginx, Caddy, Traefik) avec Let’s Encrypt. La configuration de l’instance se fait via l’interface web au premier démarrage, et c’est à ce moment que le compte administrateur est créé — un port ouvert pendant cette phase, c’est une invitation à la compromission. Ensuite, Forgejo 16.0 a modifié le comportement du paramètre REVERSE_PROXY_TRUSTED_PROXIES dans les conteneurs : la valeur par défaut * a été retirée. Si vous utilisiez l’authentification par reverse proxy, vous devez explicitement déclarer les plages d’adresses de vos proxies de confiance avant la mise à jour.
Ce que Forgejo fait, et ce qu’il ne fait pas
Le périmètre fonctionnel couvre l’intégralité du cycle de développement quotidien d’une équipe :
- Dépôts Git avec gestion des branches, tags, forks et pull requests
- Revue de code avec commentaires multi-lignes (nouveauté de la version 16.0), suggestions de modification et approbations
- Suivi des tickets avec labels, jalons, assignations et modèles
- CI/CD via Forgejo Actions, syntaxiquement compatible avec les workflows GitHub Actions — vos fichiers
.github/workflows/*.ymlmigrent vers.forgejo/workflows/avec un simple changement de chemin - Registre de paquets intégré : conteneurs, npm, PyPI, Maven, NuGet, RubyGems
- Wiki par dépôt, releases avec artefacts signés, webhooks et intégration SSH
Ce que Forgejo ne fait pas, et que GitLab fait : l’analyse statique (SAST) et dynamique (DAST) intégrée, le scan de vulnérabilités dans les dépendances, la gestion de conformité et les groupes imbriqués. Ces fonctions sont disponibles dans GitLab Ultimate, la version payante. Pour une équipe qui les utilise déjà via des outils dédiés (SonarQube, Trivy, Snyk), leur absence dans Forgejo n’est pas un manque : c’est une simplification.
La fédération ActivityPub mérite une mention à part. Le projet y travaille activement, avec des rapports mensuels publics, et les étoiles fédérées sont la première brique livrée. L’objectif est de permettre à un utilisateur d’une instance Forgejo d’ouvrir une issue ou de suivre un dépôt sur une autre instance, sans compte centralisé. Ce n’est pas un argument d’achat aujourd’hui — le chantier est long et les cas d’usage concrets encore rares — mais c’est la preuve que le projet investit dans une architecture décentralisée là où Gitea n’a aucune feuille de route fédérée et où GitHub n’en a tout simplement pas le mandat commercial.
La comparaison qui tue le débat
Le chiffre qui décide pour la plupart des équipes : un VPS à 6 $ par mois (1 Go de RAM, 1 vCPU) fait tourner Forgejo confortablement pour une équipe de 2 à 10 développeurs avec SQLite en backend. Le même VPS ne peut pas lancer GitLab CE — il lui faut 8 Go de RAM pour un usage fluide avec CI/CD actif, ce qui vous place d’emblée sur une machine à 40-80 $ par mois. Multiplié par douze mois, l’écart est de 400 à 900 $ par an. Pour une petite équipe ou un indépendant, c’est le budget d’un NAS, d’un mini PC dédié ou d’un abonnement à trois autres services auto-hébergés.
Verdict
Pour une nouvelle installation en 2026, partez sur Forgejo. Il fait tout ce que Gitea fait, avec la même empreinte mémoire et le même support des workflows GitHub Actions, mais sa gouvernance communautaire sous Codeberg e.V. le protège structurellement d’un virage commercial. Le jour où Gitea Ltd décidera de verrouiller une fonctionnalité derrière un paywall — et l’histoire des projets open core dit que ce jour arrive — les utilisateurs de Forgejo ne seront pas concernés.
Restez sur Gitea si votre instance tourne déjà et que vous n’avez aucune raison de migrer. La migration n’est pas indolore depuis les versions post-1.21, et les deux projets restent fonctionnellement proches. Investissez votre énergie ailleurs.
Ne considérez GitLab CE que si vous avez 30 développeurs ou plus et un besoin avéré de SAST/DAST intégré. À ce niveau d’équipe, le coût du VPS devient négligeable face à la masse salariale, et l’intégration verticale de GitLab (registry, pipelines, sécurité, conformité) justifie l’empreinte mémoire. Pour tout le reste, Forgejo suffit.
Votre code, votre serveur, vos règles. Le tout pour le prix d’un café par mois.
Références
- Forgejo — Site officiel
- Forgejo v16.0 release notes, 16 juillet 2026
- Forgejo — Comparison with other forges
- Forgejo — Comparison with Gitea
- Forgejo — Installation documentation
- SaaSCompared — Forgejo vs Gitea vs GitLab in 2026, 19 juin 2026
- StackFreeks — Forgejo vs Gitea vs GitLab CE 2026, juillet 2026
- Noted — Forgejo: Powerful Self-Hosted Git Service
- Codeberg — Forgejo repository