Paramétrage de mon serveur git

Après avoir eu plusieurs problèmes avec gitlab.com (impossibilitée de git push sur mon propre dépot, par example). J’ai décidé de faire un truc simple, inspiré de git.linkmauve.fr. J’ai mis tout mes dépots git dans le /git

Démarrage avec juste nginx et ssh

Celui-là est trivial quand on connais le truc, suffit de mettre git update-server-info dans hooks/post-update ou hooks/post-receive du dépot git (qui doit être un --bare)

Ajout de git-daemon

Celui-là fût encore plus simple, j’ai juste eu à dire où sont les dépots git

Une meilleure interface

En cherchant des alternatives au GNU je suis tombé sur stagit, un générateur static pour git (je n’aime pas les CGI, surtout quand ça peut avoir un accès sur mon dépot git), pour l’utiliser j’ai rajouté ces lines au post-update-hook :

repo=$(pwd)
cd "$(pwd | sed s/.git$//)" && stagit -c "$repo.cache" "$repo"
cd /git && stagit-index *.git > /git/index.html

Garbage Collector

Ce n’est pas comme si mes dépots étaient gros, git est censé faire ça tout-seul mais apparement non, donc je fait un git gc à chaque fois, ce qui n’est pas très optimisé.

Code Final (déployement, stagit, …)

Le code peut être vu dans mon dépot /git/utils, dans le dossier git-hooks

Aussi, le blog est un lien symbolique vers /git/blog.work qui contient les fichiers bruts fait par ce hook

article seul(HTML-brut)