4NK_IA_back/services/host_api/start_server.py
root bf2c0901f4 feat: Organisation des scripts et amélioration de l'installation
- Création du répertoire scripts/ avec tous les scripts d'installation et de test
- Scripts d'installation automatique (install.sh, quick-start.sh)
- Scripts de maintenance complète (maintenance.sh)
- Scripts de test (test-installation.sh, test-api.sh, test-services.sh, test-integration.sh)
- Amélioration du Dockerfile avec healthchecks et sécurité
- Mise à jour du docker-compose.yml avec healthchecks et dépendances
- Makefile étendu avec nouvelles commandes
- Documentation complète mise à jour
- Fichier de configuration d'exemple (env.example)
- app.py corrigé et fonctionnel
2025-09-11 00:41:57 +02:00

57 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Script de démarrage du serveur backend
"""
import sys
import os
import subprocess
def install_requirements():
"""Installe les dépendances nécessaires"""
print("🔧 Installation des dépendances...")
try:
# Installation via apt
subprocess.run(["apt", "update"], check=True)
subprocess.run(["apt", "install", "-y", "python3-pip"], check=True)
# Installation via pip
subprocess.run(["python3", "-m", "pip", "install", "fastapi", "uvicorn"], check=True)
print("✅ Dépendances installées avec succès")
return True
except Exception as e:
print(f"❌ Erreur lors de l'installation: {e}")
return False
def start_server():
"""Démarre le serveur"""
print("🚀 Démarrage du serveur backend...")
try:
# Démarrage du serveur
subprocess.run([
"python3", "-m", "uvicorn",
"app:app",
"--host", "0.0.0.0",
"--port", "18000",
"--reload"
], check=True)
except KeyboardInterrupt:
print("\n🛑 Arrêt du serveur")
except Exception as e:
print(f"❌ Erreur lors du démarrage: {e}")
if __name__ == "__main__":
print("🎯 Démarrage de l'API 4NK IA Backend")
# Vérification des dépendances
try:
import fastapi
print("✅ FastAPI disponible")
except ImportError:
print("⚠️ FastAPI non disponible, tentative d'installation...")
if not install_requirements():
print("❌ Impossible d'installer les dépendances")
sys.exit(1)
# Démarrage du serveur
start_server()