# 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 ``` ### `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 # 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//` - **Collecte des logs** : `./scripts/collect-logs.sh` - **Monitoring** : Grafana sur port 3005 - **Status API** : Port 3006 - **Validation** : `./scripts/validate-deployment.sh`