gateway/start.sh
2025-03-16 02:15:07 +01:00

68 lines
No EOL
1.7 KiB
Bash

#!/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/static
# 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