Auto-héberger ses dépôts git

J'ai un serveur dans mon sous-sol, où j'héberge le site web que vous consulter en ce moment. Et dans cette foulée d'indépendance numérique, j'ai donc décidé d'héberger également mes dépôts git.

En ce moment, pour mes projets, j'utilise soit Github, Gitlab ou Notabug. L'idée est donc de continuer à envoyer mes dépôts git vers ces services tout en utilisant mon propre serveur pour héberger code source de mes projets.

Sans faire des miroirs, je peux pousser mes commits vers plusieurs dépôts distant en même temps en ajoutant un deuxième répertoire distant: git remote set-url --add --push origin git@soucy.cc:soucy.cc.git. Voir la note au sujet de l'option pushurl.

Mes exemples sont sous OpenBSD, mais cela peut s'appliquer facilement à n'importe quel environment unix.

Se connecter au serveur par SSH et installer git

Créer un utilisateur qui acceuillera les dépôts git dans son $HOME

Autoriser votre utilisateur a se connecter par SSH au répertoire /home/git

Par exemple si vous vous connectez avec root sur votre serveur maison ou sur votre VPS:

Créer le dépôt distant et faire son premier commit

Maintenant depuis votre répertoire local (sur votre ordinateur) où se trouve votre code, créez le dépôt distant de type bare par SSH:

Voilà qui est fait. Vous pourriez aussi exposer votre code dans des pages HTML avec stagit ou cgit.