305 lines
8.1 KiB
Markdown
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`
|