-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstartScript.sh
More file actions
executable file
·84 lines (73 loc) · 2.49 KB
/
Copy pathstartScript.sh
File metadata and controls
executable file
·84 lines (73 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash
# Skript-Verzeichnis holen
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR"
echo ""
echo " ========================================"
echo " OceanGuard wird gestartet..."
echo " ========================================"
echo ""
# Prüfen, ob Backend eingerichtet ist
if [ ! -d "backend/.venv" ]; then
echo "FEHLER: Backend noch nicht eingerichtet!"
echo "Führen Sie zuerst aus: ./backend/setup.sh"
read -p "Drücken Sie Enter zum Beenden"
exit 1
fi
# Prüfen, ob Frontend eingerichtet ist
if [ ! -d "frontend/node_modules" ]; then
echo "FEHLER: Frontend noch nicht eingerichtet!"
echo "Führen Sie zuerst aus: ./frontend/setup.sh"
read -p "Drücken Sie Enter zum Beenden"
exit 1
fi
# Backend in neuem Terminal-Fenster starten (plattformabhängig)
echo "[Backend] Wird in einem neuen Fenster gestartet..."
echo ""
echo " HINWEIS: Bitte schließen Sie das Backend-Fenster NICHT!"
echo " Dort sehen Sie API-Verbindungen (AISstream, OBIS, Open-Meteo)"
echo " und eventuelle Fehlermeldungen während des Tests."
echo ""
BACKEND_SCRIPT="$SCRIPT_DIR/backend/start_backend.sh"
# Detect OS and open terminal accordingly
if [[ "$OSTYPE" == "darwin"* ]]; then
# macOS - Terminal.app
osascript - "$BACKEND_SCRIPT" <<'EOF'
on run argv
set backendScript to item 1 of argv
tell application "Terminal"
activate
do script "bash " & quoted form of backendScript
end tell
end run
EOF
elif command -v gnome-terminal &> /dev/null; then
# Linux mit GNOME
gnome-terminal --title="OceanGuard Backend" -- bash -c "bash '$BACKEND_SCRIPT'; exec bash"
elif command -v xterm &> /dev/null; then
# Fallback zu xterm
xterm -title "OceanGuard Backend" -e "bash -c 'bash \"'$BACKEND_SCRIPT'\"; exec bash'"
else
# Wenn kein separates Fenster möglich, im gleichen Fenster (background)
echo "Hinweis: Kein unterstütztes Terminal gefunden. Backend läuft im Hintergrund."
bash "$BACKEND_SCRIPT" &
BACKEND_PID=$!
sleep 2
fi
# Kurz warten bis Backend-Fenster geöffnet ist
sleep 2
# Frontend im aktuellen Fenster starten
echo ""
echo "[Frontend] Wird gestartet..."
echo ""
cd frontend
npm run dev
# Wenn npm dev beendet wird, aufräumen
echo ""
echo " ========================================"
echo " Frontend gestoppt"
echo " ========================================"
echo ""
echo "HINWEIS: Das Backend-Fenster ist noch geöffnet."
echo "Sie können es jetzt schließen oder für weitere Tests offen lassen."
echo ""