68 lines
No EOL
1.7 KiB
Bash
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 |