Comment Configurer un Serveur Git Privé sur VPS
Guide complet pour configurer votre propre serveur Git privé sur un VPS. Apprenez à héberger des dépôts Git avec un contrôle complet et la confidentialité en utilisant GitLab, Gitea ou des dépôts bare.

Héberger votre propre serveur Git vous donne un contrôle total sur vos dépôts de code, garantissant la confidentialité et évitant la dépendance aux services tiers. Que vous ayez besoin d'un simple dépôt bare ou d'une plateforme d'hébergement Git complète, ce guide couvre plusieurs options pour configurer un serveur Git privé sur votre VPS.
Pourquoi Héberger Votre Propre Serveur Git ?
- Confidentialité complète : Votre code reste sur votre serveur
- Pas de verrouillage fournisseur : Contrôle total sur vos dépôts
- Personnalisation : Configurez exactement comme vous le souhaitez
- Rentable : Un serveur pour des dépôts illimités
- Conformité : Respectez les exigences de résidence des données
- Apprentissage : Comprenez les internes du serveur Git
Option 1 : GitLab (Complet)
GitLab fournit une plateforme DevOps complète :
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# Accédez à GitLab à http://ip-de-votre-serveur
# Nom d'utilisateur par défaut : root
# Définissez le mot de passe à la première connexionOption 2 : Gitea (Léger)
Gitea est un service Git léger et auto-hébergé :
wget -O gitea https://dl.gitea.io/gitea/1.21.0/gitea-1.21.0-linux-amd64
chmod +x gitea
mv gitea /usr/local/bin/
# Créer un service systemd
nano /etc/systemd/system/gitea.service
# Configurez et démarrez Gitea
systemctl enable gitea
systemctl start giteaOption 3 : Dépôt Git Bare (Simple)
Pour l'hébergement Git de base sans interface web :
mkdir -p /srv/git/monprojet.git
cd /srv/git/monprojet.git
git --bare init
# Définir les permissions appropriées
chown -R git:git /srv/git
chmod -R 755 /srv/git
# Cloner depuis le client :
git clone git@votre-serveur:/srv/git/monprojet.gitConfiguration de l'Accès SSH
Configurez SSH pour un accès Git sécurisé :
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Ajoutez les clés publiques des développeurs
chmod 600 .ssh/authorized_keys
# Tester la connexion :
ssh git@votre-serveurMeilleures Pratiques de Sécurité
- Utilisez des clés SSH au lieu de mots de passe
- Activez l'authentification à deux facteurs (GitLab/Gitea)
- Sauvegardes régulières des dépôts
- Maintenez le logiciel serveur Git à jour
- Configurez le pare-feu pour restreindre l'accès
- Utilisez SSL/TLS pour les interfaces web
- Implémentez des contrôles d'accès et des permissions
- Surveillez les journaux pour activité suspecte
Stratégie de Sauvegarde
Les sauvegardes régulières sont essentielles :
#!/bin/bash
# Script de sauvegarde du dépôt Git
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Conservez les 30 derniers jours
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete