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

8.1 KiB

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 :

./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 :

./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 :

./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 :

./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 :

./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 :

./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 :

# 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

# 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

# 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

# 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

# 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