
- Ajout du script manage_services.sh pour arrêter, nettoyer et redémarrer les services - Documentation complète du script dans docs/scripts/ - Tests unitaires pour le script dans tests/scripts/ - Correction des contextes de build dans docker-compose.yml
4.2 KiB
Script de Gestion des Services 4NK Node
Description
Le script manage_services.sh
est un outil de gestion complet pour arrêter, nettoyer et relancer tous les services de l'infrastructure 4NK Node. Il utilise Docker Compose pour orchestrer les services et fournit des fonctionnalités de nettoyage et de surveillance.
Emplacement
4NK_dev/4NK_node/scripts/manage_services.sh
Fonctionnalités
Commandes Disponibles
Commande | Description |
---|---|
stop |
Arrêter tous les services |
clean |
Arrêter et nettoyer les conteneurs |
clean-all |
Arrêter, nettoyer conteneurs et volumes |
start |
Démarrer tous les services |
restart |
Arrêter, nettoyer et redémarrer (défaut) |
status |
Afficher le statut des services |
logs |
Afficher les logs en temps réel |
help |
Afficher l'aide |
Services Gérés
Le script gère les services suivants définis dans docker-compose.yml
:
- tor-proxy : Proxy Tor pour l'anonymat
- bitcoin-signet : Nœud Bitcoin Core (signet)
- blindbit-oracle : Oracle BlindBit
- sdk_relay_1/2/3 : Trois instances de relais SDK
- sdk-storage : Service de stockage
- 4nk-ihm-client : Interface utilisateur
- 4nk-reverse-proxy : Proxy inverse Nginx
Utilisation
Redémarrage Complet (Recommandé)
./scripts/manage_services.sh
# ou
./scripts/manage_services.sh restart
Arrêt des Services
./scripts/manage_services.sh stop
Nettoyage Complet
./scripts/manage_services.sh clean-all
⚠️ Attention : Cette commande supprime TOUTES les données persistantes !
Vérification du Statut
./scripts/manage_services.sh status
Surveillance des Logs
./scripts/manage_services.sh logs
Fonctionnalités Avancées
Nettoyage Intelligent
Le script effectue un nettoyage intelligent en supprimant :
- Conteneurs arrêtés
- Images non utilisées
- Volumes non utilisés
- Réseaux non utilisés
Attente des Services Critiques
Le script attend automatiquement que les services critiques soient prêts :
- Tor Proxy
- Bitcoin Core
- BlindBit Oracle
Gestion des Erreurs
- Vérification de la présence de Docker
- Vérification du daemon Docker
- Vérification de Docker Compose
- Arrêt en cas d'erreur (
set -e
)
Configuration
Variables d'Environnement
Le script utilise les variables suivantes :
PROJECT_NAME="4NK Node"
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
COMPOSE_FILE="$PROJECT_DIR/docker-compose.yml"
Couleurs d'Affichage
Le script utilise des couleurs pour améliorer la lisibilité :
- 🔵 Bleu : En-têtes
- 🟢 Vert : Succès
- 🟡 Jaune : Avertissements
- 🔴 Rouge : Erreurs
- 🟣 Violet : Informations
- 🔵 Cyan : Étapes en cours
Dépannage
Problèmes Courants
-
Docker non installé
❌ Docker n'est pas installé ou n'est pas dans le PATH
-
Daemon Docker non démarré
❌ Docker daemon n'est pas en cours d'exécution
-
Docker Compose non disponible
❌ Docker Compose n'est pas installé ou n'est pas dans le PATH
Logs de Construction
En cas de problème lors de la construction des images, utilisez :
docker compose -f docker-compose.yml build --no-cache --progress=plain
Notes Techniques
Services Temporairement Désactivés
Le service sdk_signer
est temporairement désactivé en raison de dépendances manquantes (module ../pkg/sdk_client
).
Volumes Persistants
Les volumes suivants sont préservés lors du redémarrage :
4nk_node_bitcoin_data
4nk_node_blindbit_data
4nk_node_sdk_relay_1_data
4nk_node_sdk_relay_2_data
4nk_node_sdk_relay_3_data
4nk_node_sdk_storage_data
4nk_node_sdk_signer_data
Réseau Docker
Le script utilise le réseau 4nk_node_btcnet
pour la communication inter-services.
Historique des Modifications
- 2025-08-29 : Création du script avec support Docker Compose v2
- Correction des chemins de build pour sdk_storage et sdk_signer
- Désactivation temporaire du service sdk_signer
- Ajout de la documentation complète
Auteur
Script créé pour l'infrastructure 4NK Node.