Implementation Resilience O2switch
Date : 16-01-2026
Status : A FAIRE
Proposition : /home/gouroubleu/propositions/15-01-2026-00-36-resilience-o2switch.md
Estimation : ~7h30
Contexte
Architecture de backup froid / resilience utilisant O2switch (hebergement mutualisé).
Phases a implementer
Phase 1 : Fondations (~1h)
- [ ] Generer cle SSH ed25519 pour O2switch
- [ ] Copier cle publique sur O2switch
- [ ] Creer structure repertoires :
~/backup/{postgres,gitlab,configs,claude}
- [ ] Creer structure public_html :
~/public_html/{dashboard,cdn,webhooks,status}
- [ ] Configurer SMTP fallback dans notif-logger
Phase 2 : Dashboard Git (~1h30)
- [ ] Creer repo bare
~/repositories/dashboard.git sur O2switch
- [ ] Configurer hook post-receive (auto-deploy)
- [ ] Initialiser repo Git dans
/stock_8to/33800-stack/monitoring
- [ ] Ajouter remote o2switch
- [ ] Modifier generate.sh pour auto-push
- [ ] Deployer .htaccess (IP + Basic Auth fallback)
- [ ] Creer htpasswd
Phase 3 : Backup Configs + BDD + GitLab (~1h30)
- [ ] Script sync-configs-o2switch.sh (rsync)
- [ ] Script pg-to-o2switch.sh (pg_dump Supabase)
- [ ] Script gitlab-to-o2switch.sh (sync backups GitLab)
- [ ] Configurer crons PVE
Phase 4-5 : CDN + Webhooks (~1h)
- [ ] Creer structure CDN
- [ ] Script sync CDN
- [ ] Deployer receive.php (webhooks proxy)
Phase 6-7 : Status + Monitoring (~1h)
- [ ] Deployer index.php (status page)
- [ ] Creer sous-domaine status.nowhere84.com
- [ ] Script healthcheck.sh sur O2switch
- [ ] Configurer cron O2switch (/5 *)
Phase 8 : Git Claude + Viewer MD (~1h)
- [ ] Creer repo bare
~/repositories/claude-docs.git sur O2switch
- [ ] Configurer hook post-receive
- [ ] Initialiser repo Git dans
/stock_8to/33800-stack/claude
- [ ] Ajouter remotes (GitLab + O2switch)
- [ ] Configurer hook post-commit (auto-push)
- [ ] Deployer claude.php (viewer Markdown)
- [ ] Installer Parsedown
Phase 9 : Navigation (~30min)
- [ ] Deployer index.php (hub navigation)
- [ ] Configurer sous-domaine dashboard.nowhere84.com
Crons a configurer
PVE
0 * * * * generate.sh (dashboard)
0 */2 * * * sync-configs-o2switch.sh
0 */6 * * * pg-to-o2switch.sh
30 */6 * * * gitlab-to-o2switch.sh
O2switch
*/5 * * * * healthcheck.sh
Sous-domaines a creer
| Sous-domaine |
Cible |
| dashboard.nowhere84.com |
~/public_html/dashboard |
| cdn.nowhere84.com |
~/public_html/cdn |
| status.nowhere84.com |
~/public_html/status |
Notes
- IP a whitelister : 82.65.119.221 (deja fait pour SSH)
- Mot de passe htpasswd a definir
- Logs : restes sur Grafana/Loki local uniquement (pas d'archivage O2switch)