-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart-dev.sh
More file actions
104 lines (90 loc) · 3.48 KB
/
start-dev.sh
File metadata and controls
104 lines (90 loc) · 3.48 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/bin/bash
#
# SteerDock Development Mode Startup Script
# Starts backend and frontend in development mode with hot-reload
#
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${CYAN}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${CYAN}║ SteerDock Development Mode ║${NC}"
echo -e "${CYAN}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
# Check requirements
echo -e "${YELLOW}Checking requirements...${NC}"
# Check Go
if ! command -v go &> /dev/null; then
echo -e "${RED}Go is not installed. Please install Go 1.24+${NC}"
exit 1
fi
# Check Node.js
if ! command -v node &> /dev/null; then
echo -e "${RED}Node.js is not installed. Please install Node.js 18+${NC}"
exit 1
fi
# Check npm
if ! command -v npm &> /dev/null; then
echo -e "${RED}npm is not installed. Please install npm${NC}"
exit 1
fi
echo -e "${GREEN}All requirements satisfied${NC}"
echo ""
# Stop any existing processes
echo -e "${YELLOW}Stopping existing processes...${NC}"
pkill -f "go run.*backend" 2>/dev/null || true
pkill -f "npm.*dev" 2>/dev/null || true
pkill -f "vite" 2>/dev/null || true
sleep 2
# Create logs directory if it doesn't exist
mkdir -p logs
# Start backend
echo -e "${YELLOW}Starting backend (Go)...${NC}"
cd backend
go mod tidy
nohup go run . > ../logs/backend-dev.log 2>&1 &
BACKEND_PID=$!
echo -e "${GREEN}Backend started (PID: $BACKEND_PID)${NC}"
cd ..
# Wait for backend to start
echo -e "${YELLOW}Waiting for backend to start...${NC}"
sleep 3
# Check if backend is running
if ! curl -f http://localhost:8383/health/live > /dev/null 2>&1; then
echo -e "${RED}Backend failed to start. Check logs/backend-dev.log${NC}"
exit 1
fi
# Start frontend
echo -e "${YELLOW}Starting frontend (Vite)...${NC}"
cd frontend
if [ ! -d "node_modules" ]; then
echo -e "${YELLOW}Installing frontend dependencies...${NC}"
npm install
fi
nohup npm run dev > ../logs/frontend-dev.log 2>&1 &
FRONTEND_PID=$!
echo -e "${GREEN}Frontend started (PID: $FRONTEND_PID)${NC}"
cd ..
echo ""
echo -e "${GREEN}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║ SteerDock Started ║${NC}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${CYAN}Access Points:${NC}"
echo -e "${GREEN} Frontend (Dev): http://localhost:5151${NC}"
echo -e "${GREEN} Backend API: http://localhost:8383${NC}"
echo -e "${GREEN} Health Check: http://localhost:8383/health/live${NC}"
echo ""
echo -e "${CYAN}Default Login:${NC}"
echo -e "${YELLOW} Username: admin${NC}"
echo -e "${YELLOW} Password: admin123${NC}"
echo ""
echo -e "${CYAN}Logs:${NC}"
echo -e "${YELLOW} Backend: tail -f logs/backend-dev.log${NC}"
echo -e "${YELLOW} Frontend: tail -f logs/frontend-dev.log${NC}"
echo ""
echo -e "${CYAN}To stop all services:${NC}"
echo -e "${YELLOW} ./stop-all.sh${NC}"
echo ""