#!/bin/bash # Farben für die Ausgabe GREEN='\033[0;32m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${GREEN}Data Platform - Multi-Agent Service${NC}" echo -e "${BLUE}Startskript für gwserver${NC}" echo "----------------------------------------" # Verzeichnisstruktur erstellen, falls sie nicht existiert mkdir -p gwserver/data mkdir -p gwserver/uploads mkdir -p gwserver/results mkdir -p gwserver/webparts # Prüfen, ob Python installiert ist if command -v python3 &>/dev/null; then PYTHON_CMD="python3" elif command -v python &>/dev/null; then PYTHON_CMD="python" else echo "Python ist nicht installiert. Bitte installieren Sie Python 3.8 oder höher." exit 1 fi # Virtuelle Umgebung erstellen, falls sie nicht existiert if [ ! -d "gwserver/venv" ]; then echo "Erstelle virtuelle Python-Umgebung..." cd gwserver $PYTHON_CMD -m venv venv cd .. fi # Virtuelle Umgebung aktivieren echo "Aktiviere virtuelle Umgebung..." source gwserver/venv/bin/activate 2>/dev/null || . gwserver/venv/bin/activate # Abhängigkeiten installieren echo "Installiere Abhängigkeiten..." pip install -r requirements.txt # gwserver als Hintergrundprozess starten echo "Starte gwserver-Server..." cd gwserver uvicorn app:app --reload --host 0.0.0.0 --port 8000 & GWSERVER_PID=$! cd .. echo "----------------------------------------" echo "gwserver API läuft auf: http://localhost:8000" echo "API-Dokumentation: http://localhost:8000/docs" echo -e "${BLUE}Drücke STRG+C, um Server zu beenden${NC}" # Funktion zum Beenden der Server bei STRG+C cleanup() { echo -e "\n${GREEN}Beende Server...${NC}" kill $GWSERVER_PID echo "Server wurden beendet" exit 0 } # Signal-Handler für STRG+C trap cleanup SIGINT # Warten auf Benutzeraktion wait