#!/bin/bash # Script de démarrage de la stack 4NK_IA_back # Usage: ./start-stack.sh set -euo pipefail echo "🚀 Démarrage de la stack 4NK_IA_back..." # Vérifier que nous sommes dans le bon répertoire if [ ! -f "requirements-test.txt" ]; then echo "❌ Erreur: Ce script doit être exécuté depuis le répertoire racine du projet 4NK_IA_back" exit 1 fi # Vérifier Docker if ! command -v docker >/dev/null 2>&1; then echo "❌ Docker n'est pas installé" exit 1 fi if ! docker ps >/dev/null 2>&1; then echo "❌ Docker n'est pas démarré" exit 1 fi # Aller dans le répertoire infra cd infra # Créer le fichier .env s'il n'existe pas if [ ! -f .env ]; then echo "📝 Création du fichier .env..." cat > .env << 'EOF' # Configuration de l'environnement 4NK_IA_back # Fichier généré automatiquement pour le démarrage de la stack # Configuration générale TZ=Europe/Paris PUID=1000 PGID=1000 # Configuration PostgreSQL POSTGRES_USER=notariat POSTGRES_PASSWORD=notariat_pwd POSTGRES_DB=notariat # Configuration MinIO MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=minio_pwd MINIO_BUCKET=ingest MINIO_ENDPOINT=minio:9000 # Configuration Neo4j NEO4J_AUTH=neo4j/neo4j_pwd # Configuration OpenSearch OPENSEARCH_PASSWORD=opensearch_pwd # Configuration AnythingLLM ANYLLM_BASE_URL=http://anythingsqlite:3001 ANYLLM_API_KEY=notariat_api_key_2025 ANYLLM_WORKSPACE_NORMES=workspace_normes ANYLLM_WORKSPACE_TRAMES=workspace_trames ANYLLM_WORKSPACE_ACTES=workspace_actes # Configuration Ollama OLLAMA_BASE_URL=http://ollama:11434 # Configuration des URLs externes (pour les tests) EXTERNAL_ANYLLM_BASE_URL=http://localhost:3001 EXTERNAL_OLLAMA_BASE_URL=http://localhost:11434 EOF echo "✅ Fichier .env créé" else echo "✅ Fichier .env existe déjà" fi # Démarrer les services echo "🐳 Démarrage des services Docker..." docker compose up -d # Attendre que les services soient prêts echo "⏳ Attente du démarrage des services..." sleep 15 # Vérifier l'API echo "🔍 Vérification de l'API..." if curl -s http://localhost:8000/api/health > /dev/null; then echo "✅ API accessible sur http://localhost:8000" else echo "⚠️ API non accessible, vérifiez les logs avec: docker compose logs host-api" fi # Afficher le statut echo "📊 Statut des services:" docker compose ps echo "" echo "🎉 Stack 4NK_IA_back démarrée !" echo "" echo "📋 Services disponibles:" echo " • API Notariale: http://localhost:8000" echo " • Documentation API: http://localhost:8000/docs" echo " • MinIO Console: http://localhost:9001" echo " • PostgreSQL: localhost:5432" echo " • Redis: localhost:6379" echo "" echo "🔧 Commandes utiles:" echo " • Voir les logs: docker compose logs -f" echo " • Arrêter: docker compose down" echo " • Redémarrer: docker compose restart"