4NK_env/IA_agents/scripts-advanced.md
2025-09-22 01:47:58 +00:00

305 lines
8.1 KiB
Markdown

# Scripts Avancés LeCoffre Node
## 🚀 Vue d'ensemble
LeCoffre Node dispose maintenant d'un ensemble complet de scripts pour la gestion, le monitoring et la maintenance de l'architecture complète.
## 📋 Scripts Principaux
### `start.sh` - Démarrage Séquentiel Intelligent
**Fonctionnalités** :
- Démarrage des services dans l'ordre logique optimal
- Affichage de la progression détaillée en temps réel
- Compatibilité complète avec Bitcoin Signet
- Gestion des timeouts adaptatifs
- Monitoring des healthchecks intégrés
**Utilisation** :
```bash
./scripts/start.sh
```
**Progression affichée** :
- Tor Bootstrap (0-100%)
- Bitcoin IBD (blocs synchronisés, pourcentage de vérification)
- BlindBit Oracle (scan des blocs, tweaks détectés)
- SDK Relay (synchronisation, connexions WebSocket)
- SDK Signer (état de connexion, clés disponibles)
- URLs publiques (accessibilité HTTPS/WebSocket)
### `validate-deployment.sh` - Validation Complète
**Fonctionnalités** :
- Vérification des volumes Docker (persistance des données)
- Validation des services et healthchecks
- Tests des URLs publiques et WebSockets
- Vérification des scripts et permissions
- Rapport détaillé avec compteurs
**Utilisation** :
```bash
./scripts/validate-deployment.sh
```
**Vérifications effectuées** :
- ✅ Volumes Docker (Bitcoin, BlindBit, SDK Storage, SDK Signer, Grafana, Loki)
- ✅ Services (Tor, Bitcoin, BlindBit, SDK Relay, SDK Signer, LeCoffre, IHM, Grafana)
- ✅ URLs publiques (Status, Grafana, Main Site, LeCoffre App)
- ✅ WebSockets (Bootstrap Relay, Signer Service)
- ✅ Scripts (disponibilité et permissions)
### `maintenance.sh` - Menu Interactif
**Fonctionnalités** :
- Menu interactif pour toutes les tâches de maintenance
- Validation complète du déploiement
- Sauvegarde et restauration des données
- Nettoyage des logs et images Docker
- Vérification de l'espace disque
- Redémarrage et mise à jour des services
**Utilisation** :
```bash
./scripts/maintenance.sh
```
**Options disponibles** :
1. Validation complète du déploiement
2. Sauvegarde des données
3. Nettoyage des logs anciens
4. Nettoyage des images Docker inutilisées
5. Vérification de l'espace disque
6. Redémarrage des services
7. Mise à jour des images
8. Collecte des logs
9. Vérification de la santé des services
## 🛡️ Protection des Données
### `backup-data.sh` - Sauvegarde Automatique
**Fonctionnalités** :
- Sauvegarde de tous les volumes Docker critiques
- Création d'archives compressées avec timestamps
- Gestion des permissions et erreurs
- Support des volumes Bitcoin, BlindBit, SDK Storage, SDK Signer
**Utilisation** :
```bash
./scripts/backup-data.sh
```
**Volumes sauvegardés** :
- `4nk_node_bitcoin_data` : Données Bitcoin Signet
- `4nk_node_blindbit_data` : Données BlindBit Oracle
- `4nk_node_sdk_data` : Données SDK Relay
- `4nk_node_sdk_signer_data` : Données SDK Signer
- `4nk_node_sdk_storage_data` : Données SDK Storage
- `4nk_node_grafana_data` : Données Grafana
- `4nk_node_loki_data` : Données Loki
### `restore-data.sh` - Restauration
**Fonctionnalités** :
- Restauration depuis une sauvegarde spécifiée
- Arrêt sécurisé des services avant restauration
- Remplacement complet des données existantes
- Gestion des permissions et erreurs
**Utilisation** :
```bash
./scripts/restore-data.sh <backup_file.tar.gz>
```
### `update-images.sh` - Mise à Jour Sécurisée
**Fonctionnalités** :
- Sauvegarde automatique avant mise à jour
- Téléchargement des nouvelles images Docker
- Redémarrage des services avec les nouvelles images
- Protection complète des données
**Utilisation** :
```bash
./scripts/update-images.sh
```
## 📊 Monitoring et Logs
### `collect-logs.sh` - Collecte des Logs
**Fonctionnalités** :
- Collecte automatique ou par service spécifique
- Organisation par répertoires avec timestamps
- Support de tous les services LeCoffre Node
**Utilisation** :
```bash
# Tous les services
./scripts/collect-logs.sh
# Service spécifique
./scripts/collect-logs.sh bitcoin-signet
```
**Services supportés** :
- Tor Proxy, Bitcoin Signet, BlindBit Oracle
- SDK Relay, SDK Signer, SDK Storage
- LeCoffre Backend, LeCoffre Frontend, IHM Client
- Grafana, Loki, Promtail, Status API, Signet Miner
### `test-monitoring.sh` - Tests de Monitoring
**Fonctionnalités** :
- Vérification des services Grafana, Loki, Promtail
- Tests de connectivité et API
- Validation des dashboards
### `test-dashboards.sh` - Tests des Dashboards
**Fonctionnalités** :
- Vérification des dashboards Grafana
- Tests des sources de données
- Validation des métriques
## 🔧 Scripts de Configuration
### `sync-configs.sh` - Synchronisation
**Fonctionnalités** :
- Copie des configurations vers les conteneurs
- Mise à jour des paramètres
- Redémarrage des services
### `sync-monitoring-config.sh` - Configuration Monitoring
**Fonctionnalités** :
- Configuration Grafana
- Configuration Loki/Promtail
- Déploiement des dashboards
### `setup-logs.sh` - Configuration des Logs
**Fonctionnalités** :
- Création des répertoires de logs
- Configuration des permissions
- Setup des rotations
## 🛠️ Scripts de Maintenance
### `fix_relay_funds.sh` - Correction des Fonds
**Fonctionnalités** :
- Vérification des fonds du relay
- Correction des problèmes
- Tests de connectivité
### `optimize-relay-startup.sh` - Optimisation Relay
**Fonctionnalités** :
- Optimisation des paramètres
- Amélioration des performances
- Tests de stabilité
### `verify_mining_fix.sh` - Vérification Minage
**Fonctionnalités** :
- Tests du minage Signet
- Vérification des blocs
- Validation des transactions
## 🔒 Scripts de Sécurité
### `generate-ssl-certs.sh` - Certificats SSL
**Fonctionnalités** :
- Création des certificats
- Configuration HTTPS
- Sécurisation des communications
### `uninstall-host-nginx.sh` - Désinstallation Nginx
**Fonctionnalités** :
- Nettoyage de Nginx
- Suppression des configurations
- Libération des ports
## 📁 Structure des Volumes
Les données sont persistées dans les volumes Docker suivants :
| Volume | Service | Description |
|--------|---------|-------------|
| `4nk_node_bitcoin_data` | Bitcoin Signet | Blockchain, wallet, configuration |
| `4nk_node_blindbit_data` | BlindBit Oracle | Cache des scans, tweaks détectés |
| `4nk_node_sdk_data` | SDK Relay | Messages, transactions, cache |
| `4nk_node_sdk_signer_data` | SDK Signer | Clés privées, signatures, profils |
| `4nk_node_sdk_storage_data` | SDK Storage | Données temporaires, cache |
| `4nk_node_grafana_data` | Grafana | Dashboards, configurations, utilisateurs |
| `4nk_node_loki_data` | Loki | Logs centralisés, index |
## 🔄 Workflows Recommandés
### Déploiement Initial
```bash
# 1. Démarrage complet
./scripts/start.sh
# 2. Validation
./scripts/validate-deployment.sh
# 3. Tests de monitoring
./scripts/test-monitoring.sh
```
### Maintenance Régulière
```bash
# 1. Menu de maintenance
./scripts/maintenance.sh
# 2. Sauvegarde manuelle si nécessaire
./scripts/backup-data.sh
# 3. Collecte des logs
./scripts/collect-logs.sh
```
### Mise à Jour
```bash
# 1. Mise à jour sécurisée (sauvegarde automatique)
./scripts/update-images.sh
# 2. Validation post-mise à jour
./scripts/validate-deployment.sh
```
### Récupération d'Urgence
```bash
# 1. Arrêt des services
docker compose down
# 2. Restauration
./scripts/restore-data.sh <backup_file>
# 3. Redémarrage
./scripts/start.sh
```
## ⚠️ Notes Importantes
- **Persistance des données** : Tous les scripts préservent les données importantes
- **Sauvegardes automatiques** : Les mises à jour incluent une sauvegarde automatique
- **Bitcoin Signet** : Tous les scripts sont compatibles avec le réseau de test
- **Volumes Docker** : Garantissent la persistance des données entre redémarrages
- **Monitoring intégré** : Healthchecks et progression en temps réel
- **Sécurité** : Aucune clé privée ou secret n'est exposé dans les scripts
## 📝 Logs et Debugging
- **Logs des services** : `./logs/<service>/`
- **Collecte des logs** : `./scripts/collect-logs.sh`
- **Monitoring** : Grafana sur port 3005
- **Status API** : Port 3006
- **Validation** : `./scripts/validate-deployment.sh`