Guide de déploiement

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

Déployer sur un VPS Cloud →

Comparatif8 min de lecture

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

Heberger sa propre forge Git, c'est reprendre le controle de son code, de sa CI et de ses secrets. Gitea joue la legerete, GitLab la plateforme complete. Voici comment trancher et deployer la votre sur un VPS.

Pourquoi self-heberger sa forge Git sur VPS

Une forge Git auto-hebergee garde votre propriete intellectuelle hors des plateformes publiques et supprime toute limite arbitraire sur le nombre de depots prives, de collaborateurs ou de minutes de CI. Sur un VPS, vous maitrisez la localisation des donnees, les sauvegardes et l'integration avec votre pipeline interne. Gitea (et son fork Forgejo) est ecrit en Go : un binaire unique, demarrage instantane, empreinte memoire minime, ideal pour un VPS modeste. GitLab CE est une suite integree (issues, CI/CD, registre Docker, registre de paquets, wiki, environnements) mais consomme bien plus de RAM. Le choix depend de votre besoin : un Git propre et rapide, ou une plateforme DevOps complete en un seul produit.

Les benefices d'une forge auto-hebergee

  • Depots prives illimites sans abonnement par siege
  • CI/CD sous votre controle, avec vos propres runners sur le VPS
  • Secrets et tokens stockes chez vous, hors d'une plateforme tierce
  • Registre d'images Docker et de paquets integre, proche de vos deploiements
  • Conformite et localisation des donnees au Maroc maitrisees
  • Avec Gitea : un seul binaire, sauvegarde en copiant un dossier et une base

Prerequis selon la forge choisie

Gitea est frugal : 1 vCPU et 1 Go de RAM suffisent pour une petite equipe, 2 Go avec la base de donnees et quelques runners. GitLab CE est bien plus gourmand : visez au minimum 4 Go de RAM (8 Go recommandes en usage reel 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.ma), un reverse proxy pour le TLS, et idealement un second sous-domaine si vous activez le registre Docker. Prevoyez un volume dedie aux depots et une strategie de sauvegarde.

Deployer Gitea (ou GitLab) sur VPS avec Docker

01

Creer les volumes et le reseau

Preparez mkdir -p /srv/gitea/{data,db} et un reseau Docker dedie docker network create forge. La separation data/db facilite les sauvegardes differenciees du code et de la base.

02

Definir le docker-compose.yml

Pour Gitea, declarez 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

Executez docker compose up -d. Gitea affiche un assistant d'installation a la premiere connexion (renseignez le type de base et le domaine) ; GitLab met plusieurs minutes a s'initialiser, recuperez le mot de passe root genere dans les logs.

04

Configurer le reverse proxy et le SSL

Proxifiez git.votredomaine.ma vers le port HTTP de la forge avec Caddy ou Nginx pour obtenir un certificat Let's Encrypt. Veillez a 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 cles. Renseignez SSH_DOMAIN pour que les commandes git clone proposees 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.

CritereGiteaGitLab CE
RAM minimale conseillee1 a 2 Go4 a 8 Go
ArchitectureBinaire Go uniqueSuite multi-services (omnibus)
Temps de demarrageQuasi instantanePlusieurs minutes
CI/CD integreeGitea Actions (style GitHub)GitLab CI/CD, tres complete
Registre Docker / paquetsInclus et legerInclus, riche
Gestion de projet (issues, boards)EssentielleAvancee (epics selon edition)
Facilite de sauvegardeDossier + dump SQLProcedure omnibus dediee
Ideal pourVPS modeste, petite/moyenne equipePlateforme DevOps complete

Sur GitLab, evitez l'OOM-kill sur un petit VPS en reduisant la concurrence : passez puma['worker_processes'] a 2 et sidekiq['max_concurrency'] a 10 dans la config omnibus. Si la RAM reste un probleme, regardez du cote de Forgejo (fork communautaire de Gitea) qui conserve la legerete tout en couvrant 90% des besoins d'une equipe, registre et Actions inclus.

Votre forge Git prete a cloner

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

Besoin d'aide ?

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