8.1 KiB
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 :
- Validation complète du déploiement
- Sauvegarde des données
- Nettoyage des logs anciens
- Nettoyage des images Docker inutilisées
- Vérification de l'espace disque
- Redémarrage des services
- Mise à jour des images
- Collecte des logs
- 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 Signet4nk_node_blindbit_data
: Données BlindBit Oracle4nk_node_sdk_data
: Données SDK Relay4nk_node_sdk_signer_data
: Données SDK Signer4nk_node_sdk_storage_data
: Données SDK Storage4nk_node_grafana_data
: Données Grafana4nk_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