Backup GitHub
Principe
Section intitulée « Principe »Chaque projet dans /docker/*/ est synchronisé avec un repo privé GitHub (compte sidy-coder). Le backup fonctionne à deux niveaux :
| Mécanisme | Déclencheur | Fiabilité |
|---|---|---|
| Post-commit hook | Automatique après chaque git commit | Immédiat |
| Cron quotidien | Tous les jours à 3h du matin | Filet de sécurité |
Mapping repos
Section intitulée « Mapping repos »| Dossier local | Repo GitHub |
|---|---|
/docker/diary | sidy-coder/diary |
/docker/kam | sidy-coder/kam |
/docker/suivi | sidy-coder/suivi |
/docker/traefik-lr9j | sidy-coder/infra-traefik |
/docker/n8n-rkaf | sidy-coder/infra-n8n |
/docker/n8n-mcp | sidy-coder/infra-n8n-mcp |
/docker/beszel-p8z2 | sidy-coder/infra-beszel |
/docker/kamctrl | sidy-coder/kamctrl |
/docker/docs | sidy-coder/docs |
Post-commit hook
Section intitulée « Post-commit hook »Chaque projet a un hook dans .git/hooks/post-commit qui lance automatiquement git push en arrière-plan après chaque commit :
cat /docker/<projet>/.git/hooks/post-commitBackup manuel (tous les projets)
Section intitulée « Backup manuel (tous les projets) »~/scripts/git-push-all.shCe script parcourt tous les dossiers /docker/*/, vérifie s’il y a des changements non pushés, et les envoie sur GitHub.
Log du cron
Section intitulée « Log du cron »cat ~/.lab_tracking/git-push.log | tail -20Secrets exclus du versioning
Section intitulée « Secrets exclus du versioning »Certains fichiers contenant des secrets ne sont jamais pushés sur GitHub :
| Fichier | Projet | Alternative versionnée |
|---|---|---|
.env (n8n-mcp) | n8n-mcp | .env.example |
.env | kamctrl | Variables dans docker-compose.yml |
Restaurer un projet depuis GitHub
Section intitulée « Restaurer un projet depuis GitHub »Si le VPS est perdu ou si tu travailles sur un nouveau serveur :
# 1. Cloner le repogit clone https://github.com/sidy-coder/<nom-repo> /docker/<nom-projet>cd /docker/<nom-projet>
# 2. Recréer les fichiers secrets (non versionnés)# → .env, tokens OAuth, etc. depuis context.md ou le gestionnaire de secrets
# 3. Réinstaller le post-commit hookcat > .git/hooks/post-commit << 'HOOK'#!/bin/shgit push origin $(git branch --show-current) &HOOKchmod +x .git/hooks/post-commit
# 4. Démarrer le containerdocker compose up -d --buildAccès Sidking01 (backup du backup)
Section intitulée « Accès Sidking01 (backup du backup) »Le compte GitHub Sidking01 est invité comme collaborateur (permission push) sur tous les repos. En cas de perte d’accès au compte sidy-coder, les repos restent accessibles depuis Sidking01.
# Vérifier les collaborateurs d'un repogh api repos/sidy-coder/<repo>/collaborators --jq '.[].login'