# HUB FRATE — Recovery Rapide

Ce document sert de procédure de secours locale en cas d'incident.

---

## 1. Symptômes fréquents

**Cas A — Le HUB est allumé mais inaccessible**
Causes possibles :
- Tunnel WireGuard absent ou tombé
- Service SSH cassé
- UFW (Pare-feu) trop restrictif
- Réseau local (Box internet) modifié

**Cas B — Le VPN fonctionne mais les services ne répondent pas**
Causes possibles :
- Conteneurs Docker arrêtés
- Pi-hole ou NPM en erreur (Crash)
- Problème de port (Bind address) ou de daemon Docker

**Cas C — Le HUB remonte mal dans le monitoring central**
Causes possibles :
- Timer Systemd du Heartbeat non exécuté
- Problème d'accès à l'API du VPS (Réseau)
- Tunnel WireGuard dégradé

---

## 2. Check rapide minimum

**Vérifier WireGuard :**
```bash
sudo wg
ip a show wg0
ping -c 2 10.10.10.1
```
*(Si `wg0` n'existe pas ou ne ping plus le VPS, le problème est probablement lié au réseau, au provisioning ou à la configuration WireGuard).*

**Vérifier Docker et les conteneurs :**
```bash
systemctl status docker --no-pager
docker compose -f /opt/hub/core/compose/core/docker-compose.yml ps
```

**Vérifier les services locaux (Script de santé) :**
```bash
/opt/hub/scripts/hub_status.sh
```

---

## 3. Relancer les services Docker

Si les conteneurs sont arrêtés ou dégradés :
```bash
cd /opt/hub/core/compose/core
docker compose up -d
docker compose ps
```

Si un service reste `unhealthy`, consultez ses logs :
```bash
docker logs pihole --tail 100
docker logs npm --tail 100
```

---

## 4. Réappliquer le pare-feu du HUB

En cas de doute sur UFW (Attention : ce script suppose que `wg0` existe, ne pas le lancer à l'aveugle si le tunnel n'est pas monté) :
```bash
sudo /opt/hub/scripts/ufw_apply.sh
sudo ufw status verbose
```

---

## 5. Rejouer le provisioning WireGuard

Si le tunnel est cassé et que le token d'installation est disponible :
```bash
sudo /opt/hub/scripts/wg_provision.sh <TOKEN>
```
*(À utiliser avec prudence, uniquement si le diagnostic confirme un problème critique WireGuard).*

---

## 6. Vérifier la télémétrie / Heartbeat

**Vérifier les unités systemd liées au heartbeat :**
```bash
systemctl list-timers | grep hub-heartbeat
systemctl status hub-heartbeat.timer --no-pager
systemctl status hub-heartbeat.service --no-pager
```

---

## 7. Crash Majeur (Le HUB est totalement cassé)

Les dossiers critiques à préserver ou restaurer sont :
- `/opt/hub/`
- `/etc/`

Après restauration complète du dossier `/opt/hub/`, relancez la stack Docker :
```bash
cd /opt/hub/core/compose/core
docker compose up -d
```

---

## 8. Escalade

Si le diagnostic local ne suffit pas :
1. Vérifier depuis le VPS si le HUB apparaît encore dans `hub-monitor`.
2. Vérifier l'état de l'interface WireGuard côté VPS.
3. Vérifier la santé de l'API du Control Plane.
4. Consulter la documentation d'administration complète sur le repo privé.

---