Guide de déploiement

Héberger Forgejo sur votre propre VPS

Déployer sur un VPS Cloud →

Self-hosting7 min de lecture

Héberger Forgejo sur votre propre VPS

Forgejo est le fork communautaire de Gitea, porté par Codeberg e.V. et placé sous gouvernance associative. Il vise une forge Git réellement souveraine, fédérable et sans dépendance commerciale. Voici comment le déployer sur votre VPS avec Docker, un reverse proxy et un certificat SSL, et ce qui le distingue de Gitea.

Pourquoi choisir Forgejo pour votre forge auto-hébergée

Forgejo est né en 2022 d'un désaccord sur la gouvernance de Gitea, passée sous le contrôle d'une société. Le projet est désormais maintenu par une association à but non lucratif et progresse vers une forge décentralisée capable de fédération via ActivityPub — l'objectif étant qu'un dépôt sur une instance puisse interagir avec une issue ouverte depuis une autre instance. Pour qui valorise la pérennité et l'indépendance de son outillage, Forgejo offre les mêmes qualités techniques que Gitea (légèreté, rapidité, faible consommation) tout en garantissant une licence et une gouvernance entièrement communautaires. C'est la forge de référence de Codeberg, ce qui prouve sa capacité à tenir la charge en production.

Bénéfices concrets d'un Forgejo auto-hébergé

  • Gouvernance associative à but non lucratif : aucun risque de pivot commercial du projet.
  • Forgejo Actions, compatible avec la syntaxe des workflows GitHub Actions, sans service tiers.
  • Migration sans douleur depuis Gitea : même format de base et de volume de données.
  • Fédération ActivityPub en cours de déploiement pour interconnecter les instances.
  • Empreinte légère identique à Gitea : idéal sur un VPS modeste.
  • 100% logiciel libre, sans édition entreprise payante ni fonctionnalité bridée.

Prérequis matériels et logiciels

Comme Gitea, Forgejo est extrêmement sobre. Un VPS de 2 vCPU et 2 Go de RAM gère une équipe de 10 à 20 développeurs sans effort ; passez à 4 Go si vous exécutez Forgejo Actions avec des runners qui compilent localement. Réservez 20 à 40 Go de SSD pour les dépôts et l'historique. Il vous faut Docker et Docker Compose, un sous-domaine git.votredomaine.ma avec un enregistrement A vers l'IP du VPS, et un port distinct du 22 système pour le SSH des dépôts (par exemple 2222).

Déployer Forgejo avec Docker et SSL

01

Initialiser l'environnement

En SSH sur le VPS, installez Docker et le plugin Compose, puis créez /opt/forgejo. Prévoyez un sous-dossier data qui contiendra dépôts, configuration et avatars, monté en volume pour résister aux mises à jour.

02

Écrire le docker-compose.yml

Utilisez l'image officielle codeberg.org/forgejo/forgejo:latest. Ajoutez un service postgres:16 pour la base. Montez ./data:/data, fixez USER_UID/USER_GID à 1000 et publiez le SSH de Forgejo sur l'hôte avec "2222:22", en gardant le port 3000 interne.

03

Démarrer la stack

Lancez docker compose up -d, puis surveillez docker compose logs -f forgejo jusqu'à voir le serveur HTTP écouter sur le port 3000 et la base répondre.

04

Mettre en place le reverse proxy et SSL

Avec Caddy : git.votredomaine.ma { reverse_proxy localhost:3000 }, le certificat Let's Encrypt est géré automatiquement. Avec Traefik ou Nginx, proxifiez vers 127.0.0.1:3000 et activez HTTP/2 ainsi que la redirection HTTP vers HTTPS.

05

Configurer l'instance

Accédez à https://git.votredomaine.ma, renseignez l'hôte PostgreSQL (db:5432), l'URL de base HTTPS et le port SSH externe 2222. Créez le compte administrateur et désactivez l'auto-inscription pour une instance privée.

06

Brancher un runner Forgejo Actions

Récupérez le jeton d'enregistrement dans l'administration, puis démarrez un conteneur forgejo-runner pointant vers votre instance. Validez avec un workflow .forgejo/workflows/ci.yml minimal qui exécute echo ok.

Si vous migrez depuis une instance Gitea existante, Forgejo lit directement le même volume de données et la même base : arrêtez Gitea, sauvegardez, remplacez l'image par celle de Forgejo dans le docker-compose.yml, puis relancez. La version de Forgejo doit être compatible avec celle de Gitea utilisée — vérifiez la table de correspondance des versions avant la bascule pour éviter une migration de schéma à sens unique. Faites toujours un snapshot du VPS avant l'opération.

Forgejo face à Gitea

CritèreForgejoGitea
GouvernanceAssociation à but non lucratif (Codeberg e.V.)Société commerciale
Licence / modèle100% libre, pas d'édition entrepriseOpen source avec édition Gitea Cloud commerciale
CI/CD intégréForgejo Actions (compatible GitHub Actions)Gitea Actions (compatible GitHub Actions)
FédérationActivityPub en développement actifNon prioritaire
Consommation RAMTrès faible (~200-300 Mo)Très faible (~200-300 Mo)
Migration croiséeLit le volume et la base GiteaOrigine du fork
Image Dockercodeberg.org/forgejo/forgejogitea/gitea
Cas d'usage typeSouveraineté et pérennité communautaireForge généraliste avec services managés possibles

Hébergez votre forge Forgejo souveraine sur un VPS Cloud ServOrbit

Avec un VPS Cloud livré avec Docker prêt à l'emploi, montez Forgejo et son runner CI/CD en quelques commandes. Vous gardez la pleine maîtrise de votre code et de vos données.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.