Guide de déploiement

Gitea vs GitLab : quelle forge Git self-hosted sur VPS ?

Déployer sur un VPS Cloud →

Comparatif3 min de lecture

Gitea vs GitLab : quelle forge Git self-hosted sur VPS ?

Héberger sa propre forge Git, c'est reprendre le contrôle de son code, de sa CI et de ses secrets. Gitea joue la légèreté, GitLab la plateforme complète. Voici comment trancher et déployer la votre sur un VPS.

Pourquoi self-héberger sa forge Git sur VPS

Une forge Git auto-hébergée garde votre propriété intellectuelle hors des plateformes publiques et supprime toute limite arbitraire sur le nombre de dépôts privés, de collaborateurs ou de minutes de CI. Sur un VPS, vous maîtrisez la localisation des données, les sauvegardes et l'intégration avec votre pipeline interne. Gitea (et son fork Forgejo) est écrit en Go : un binaire unique, démarrage instantané, empreinte mémoire minime, idéal pour un VPS modeste. GitLab CE est une suite intégrée (issues, CI/CD, registre Docker, registre de paquets, wiki, environnements) mais consomme bien plus de RAM. Le choix dépend de votre besoin : un Git propre et rapide, ou une plateforme DevOps complète en un seul produit.

Les bénéfices d'une forge auto-hébergée

  • Dépôts privés sans plafond ni abonnement par siège
  • CI/CD sous votre contrôle, avec vos propres runners sur le VPS
  • Secrets et tokens stockés chez vous, hors d'une plateforme tierce
  • Registre d'images Docker et de paquets intégré, proche de vos déploiements
  • Conformité et localisation des données au Maroc maîtrisées
  • Avec Gitea : un seul binaire, sauvegarde en copiant un dossier et une base

Prérequis selon la forge choisie

Gitea est frugal : 1 vCPU et 1 Go de RAM suffisent pour une petite équipe, 2 Go avec la base de données et quelques runners. GitLab CE est bien plus gourmand : visez au minimum 4 Go de RAM (8 Go recommandés en usage réel avec CI), 4 vCPU et un disque rapide, car la suite embarque PostgreSQL, Redis, Sidekiq et Gitaly. Dans les deux cas il vous faut Docker et Compose, un sous-domaine (git.votredomaine.com), un reverse proxy pour le TLS, et idéalement un second sous-domaine si vous activez le registre Docker. Prévoyez un volume dédié aux dépôts et une stratégie de sauvegarde.

Déployer Gitea (ou GitLab) sur VPS avec Docker

01

Créer les volumes et le réseau

Préparez mkdir -p /srv/gitea/{data,db} et un réseau Docker dédié docker network create forge. La séparation data/db facilite les sauvegardes différenciées du code et de la base.

02

Définir le docker-compose.yml

Pour Gitea, déclarez le service gitea/gitea plus un postgres, montez les volumes, et exposez le port HTTP 3000 et le port SSH Git 2222 en local. Pour GitLab, utilisez gitlab/gitlab-ce avec la variable GITLAB_OMNIBUS_CONFIG pour fixer l'external_url.

03

Lancer et finaliser l'installation

Exécutez docker compose up -d. Gitea affiche un assistant d'installation à la première connexion (renseignez le type de base et le domaine) ; GitLab met plusieurs minutes à s'initialiser, récupérez le mot de passe root généré dans les logs.

04

Configurer le reverse proxy et le SSL

Proxifiez git.votredomaine.com vers le port HTTP de la forge avec Caddy ou Nginx pour obtenir un certificat Let's Encrypt. Veillez à transmettre le bon X-Forwarded-Proto afin que les URL de clone HTTPS soient correctes.

05

Activer le SSH Git

Mappez le port SSH du conteneur vers un port du VPS (ex : 2222) et configurez vos clés. Renseignez SSH_DOMAIN pour que les commandes git clone proposées par l'interface soient exactes.

06

Brancher la CI/CD

Enregistrez un runner : Gitea Actions (compatible syntaxe GitHub Actions) ou un GitLab Runner Docker. Limitez ses ressources et isolez-le dans son propre conteneur pour qu'un job lourd ne fasse pas tomber la forge.

CritèreGiteaGitLab CE
RAM minimale conseillée1 à 2 Go4 à 8 Go
ArchitectureBinaire Go uniqueSuite multi-services (omnibus)
Temps de démarrageQuasi instantanéPlusieurs minutes
CI/CD intégréeGitea Actions (style GitHub)GitLab CI/CD, très complète
Registre Docker / paquetsInclus et légerInclus, riche
Gestion de projet (issues, boards)EssentielleAvancée (epics selon édition)
Facilite de sauvegardeDossier + dump SQLProcédure omnibus dédiée
Idéal pourVPS modeste, petite/moyenne équipePlateforme DevOps complète

Sur GitLab, évitez l'OOM-kill sur un petit VPS en réduisant la concurrence : passez puma['worker_processes'] à 2 et sidekiq['max_concurrency'] à 10 dans la config omnibus. Si la RAM reste un problème, regardez du côté de Forgejo (fork communautaire de Gitea) qui conserve la légèreté tout en couvrant 90% des besoins d'une équipe, registre et Actions inclus.

Votre forge Git prête à cloner

Un VPS Cloud ServOrbit avec template Docker vous permet de déployer Gitea ou GitLab avec reverse proxy, SSL et runner CI en quelques étapes, depuis votre espace client.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.