#!/bin/bash # Script pour ajouter les variables d'environnement manquantes au fichier .env.master set -e # Couleurs pour l'affichage RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color ENV_FILE="/home/debian/4NK_env/.env.master" BACKUP_FILE="${ENV_FILE}.backup.$(date +%Y%m%d_%H%M%S)" echo -e "${BLUE}========================================${NC}" echo -e "${BLUE} Ajout des Variables d'Environnement Manquantes${NC}" echo -e "${BLUE}========================================${NC}" echo # Fonction pour vérifier si une variable existe check_var_exists() { local var_name="$1" grep -q "^${var_name}=" "$ENV_FILE" 2>/dev/null } # Fonction pour ajouter une variable si elle n'existe pas add_var_if_missing() { local var_name="$1" local var_value="$2" local description="$3" if ! check_var_exists "$var_name"; then echo -e "${YELLOW}Ajout de ${var_name}: ${description}${NC}" echo "${var_name}=${var_value}" >> "$ENV_FILE" return 0 else echo -e "${GREEN}✓ ${var_name} existe déjà${NC}" return 1 fi } # Créer une sauvegarde echo -e "${BLUE}Création d'une sauvegarde: ${BACKUP_FILE}${NC}" cp "$ENV_FILE" "$BACKUP_FILE" echo -e "${BLUE}Ajout des variables manquantes...${NC}" echo # Variables Bitcoin echo -e "${CYAN}=== Variables Bitcoin ===${NC}" add_var_if_missing "BITCOIN_RPC_USER" "bitcoin_user" "Nom d'utilisateur RPC Bitcoin" add_var_if_missing "BITCOIN_RPC_PASSWORD" "FAKE-DATA-IA-bitcoin_password_secure" "Mot de passe RPC Bitcoin" add_var_if_missing "BITCOIN_RPC_PORT" "38332" "Port RPC Bitcoin" echo # Variables BlindBit echo -e "${CYAN}=== Variables BlindBit ===${NC}" add_var_if_missing "BLINDBIT_API_PORT" "8000" "Port de l'API BlindBit" add_var_if_missing "BITCOIN_RPC_URL" "http://bitcoin:38332" "URL du RPC Bitcoin" echo # Variables SDK Relay echo -e "${CYAN}=== Variables SDK Relay ===${NC}" add_var_if_missing "RELAY_PORT" "8090" "Port du relay" add_var_if_missing "RELAY_HTTP_PORT" "8091" "Port HTTP du relay" add_var_if_missing "STORAGE_URL" "http://sdk_storage:8080" "URL du service de stockage" echo # Variables SDK Storage echo -e "${CYAN}=== Variables SDK Storage ===${NC}" add_var_if_missing "STORAGE_PORT" "8080" "Port du service de stockage" add_var_if_missing "STORAGE_DATA_DIR" "/app/data" "Répertoire des données de stockage" echo # Variables IHM Client echo -e "${CYAN}=== Variables IHM Client ===${NC}" add_var_if_missing "VITE_API_URL" "https://dev4.4nkweb.com/api" "URL de l'API pour Vite" add_var_if_missing "VITE_4NK_URL" "https://dev4.4nkweb.com" "URL 4NK pour Vite" add_var_if_missing "VITE_RELAY_URL" "wss://dev4.4nkweb.com/ws" "URL du relay pour Vite" echo # Variables Grafana echo -e "${CYAN}=== Variables Grafana ===${NC}" add_var_if_missing "GF_SECURITY_ADMIN_PASSWORD" "FAKE-DATA-IA-admin123" "Mot de passe admin Grafana" add_var_if_missing "GF_DATABASE_TYPE" "sqlite3" "Type de base de données Grafana" echo # Variables Loki echo -e "${CYAN}=== Variables Loki ===${NC}" add_var_if_missing "LOKI_CONFIG_FILE" "/etc/loki/loki-config.yaml" "Fichier de configuration Loki" add_var_if_missing "LOKI_DATA_DIR" "/app/data" "Répertoire des données Loki" echo # Variables Status API echo -e "${CYAN}=== Variables Status API ===${NC}" add_var_if_missing "STATUS_API_PORT" "3006" "Port de l'API de statut" add_var_if_missing "STATUS_API_HOST" "0.0.0.0" "Hôte de l'API de statut" echo # Variables Tor (pour compléter) echo -e "${CYAN}=== Variables Tor ===${NC}" add_var_if_missing "TOR_SOCKS_PORT" "9050" "Port SOCKS Tor" add_var_if_missing "TOR_CONTROL_PORT" "9051" "Port de contrôle Tor" echo echo -e "${GREEN}✅ Variables ajoutées avec succès !${NC}" echo echo -e "${BLUE}Fichiers:${NC}" echo -e "${YELLOW} - Fichier principal: ${ENV_FILE}${NC}" echo -e "${YELLOW} - Sauvegarde: ${BACKUP_FILE}${NC}" echo echo -e "${BLUE}Pour tester:${NC}" echo -e "${YELLOW} cd /home/debian/4NK_env/scripts/lecoffre_node${NC}" echo -e "${YELLOW} ./start.sh${NC}" echo