53 lines
1.5 KiB
Bash
Executable File
53 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Pedigree Draw - Start Server Script
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
# Check if node_modules exists
|
|
if [ ! -d "node_modules" ]; then
|
|
echo "Installing dependencies..."
|
|
npm install
|
|
fi
|
|
|
|
# Check if another instance is running
|
|
if [ -f ".server.pid" ]; then
|
|
OLD_PID=$(cat .server.pid)
|
|
if kill -0 "$OLD_PID" 2>/dev/null; then
|
|
echo "Server is already running (PID: $OLD_PID)"
|
|
echo "Access at: http://localhost:5173/pedigree-draw/"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
echo "Starting Pedigree Draw server..."
|
|
npm run dev > .server.log 2>&1 &
|
|
SERVER_PID=$!
|
|
echo $SERVER_PID > .server.pid
|
|
|
|
# Wait for server to start
|
|
sleep 2
|
|
|
|
if kill -0 "$SERVER_PID" 2>/dev/null; then
|
|
# Get local IP address (works on both Linux and macOS)
|
|
LOCAL_IP=$(ip route get 1 2>/dev/null | awk '{print $7; exit}' || hostname -I 2>/dev/null | awk '{print $1}' || echo "YOUR_IP")
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " Pedigree Draw Server Started!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo " Local: http://localhost:5173/pedigree-draw/"
|
|
if [ "$LOCAL_IP" != "YOUR_IP" ] && [ -n "$LOCAL_IP" ]; then
|
|
echo " Network: http://${LOCAL_IP}:5173/pedigree-draw/"
|
|
else
|
|
echo " Network: Check 'ip addr' for your IP address"
|
|
fi
|
|
echo ""
|
|
echo " To stop the server, run: ./stop.sh"
|
|
echo "=========================================="
|
|
else
|
|
echo "Failed to start server. Check .server.log for details."
|
|
rm -f .server.pid
|
|
exit 1
|
|
fi
|