#!/bin/bash # Script de gestion des services 4NK_node set -e # Variables COMPOSE_FILE="docker-compose.yml" SERVICES=("tor-proxy" "bitcoin-signet" "blindbit-oracle" "sdk_relay_1" "sdk_relay_2" "sdk_relay_3" "sdk_signer" "sdk_storage" "ihm_client" "reverse_proxy") # Fonction d'aide show_help() { echo "🔧 Gestionnaire des services 4NK_node" echo "" echo "Usage: $0 [COMMANDE]" echo "" echo "Commandes:" echo " start Démarrer tous les services" echo " stop Arrêter tous les services" echo " restart Redémarrer tous les services" echo " status Afficher le statut des services" echo " logs Afficher les logs de tous les services" echo " logs [SVC] Afficher les logs d'un service spécifique" echo " build Construire tous les modules" echo " clean Nettoyer les containers et volumes" echo " help Afficher cette aide" echo "" echo "Services disponibles:" printf " %s\n" "${SERVICES[@]}" } # Fonction pour démarrer les services start_services() { echo "🚀 Démarrage des services 4NK_node..." docker compose -f "$COMPOSE_FILE" up -d echo "✅ Services démarrés" } # Fonction pour arrêter les services stop_services() { echo "🛑 Arrêt des services 4NK_node..." docker compose -f "$COMPOSE_FILE" down echo "✅ Services arrêtés" } # Fonction pour redémarrer les services restart_services() { echo "🔄 Redémarrage des services 4NK_node..." docker compose -f "$COMPOSE_FILE" restart echo "✅ Services redémarrés" } # Fonction pour afficher le statut show_status() { echo "📊 Statut des services 4NK_node..." docker compose -f "$COMPOSE_FILE" ps } # Fonction pour afficher les logs show_logs() { local service=$1 if [ -z "$service" ]; then echo "📋 Logs de tous les services..." docker compose -f "$COMPOSE_FILE" logs --tail=50 else echo "📋 Logs du service $service..." docker compose -f "$COMPOSE_FILE" logs --tail=50 "$service" fi } # Fonction pour construire les modules build_modules() { echo "🏗️ Construction des modules..." ./build_modules.sh } # Fonction pour nettoyer clean_services() { echo "🧹 Nettoyage des services..." docker compose -f "$COMPOSE_FILE" down -v --remove-orphans docker system prune -f echo "✅ Nettoyage terminé" } # Gestion des commandes case "${1:-help}" in start) start_services ;; stop) stop_services ;; restart) restart_services ;; status) show_status ;; logs) show_logs "$2" ;; build) build_modules ;; clean) clean_services ;; help|*) show_help ;; esac