4NK_node/docs/scripts/manage_services.md
Debian 49b30a7ef1
Some checks failed
CI - 4NK_node / Code Quality (push) Failing after 50s
CI - 4NK_node / Unit Tests (push) Failing after 36s
CI - 4NK_node / Integration Tests (push) Successful in 34s
CI - 4NK_node / Security Tests (push) Failing after 32s
CI - 4NK_node / Docker Build & Test (push) Failing after 15s
CI - 4NK_node / Documentation Tests (push) Successful in 11s
CI - 4NK_node / Security Audit (push) Successful in 9s
CI - 4NK_node / Release Guard (push) Has been skipped
CI - 4NK_node / Performance Tests (push) Successful in 34s
CI - 4NK_node / Notify (push) Failing after 2s
CI - 4NK_node / Publish Release (push) Has been skipped
feat: Ajout du script de gestion des services et documentation
- 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
2025-08-29 15:37:32 +00:00

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

  1. Docker non installé

    ❌ Docker n'est pas installé ou n'est pas dans le PATH
    
  2. Daemon Docker non démarré

    ❌ Docker daemon n'est pas en cours d'exécution
    
  3. 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.