Files
pedigree-draw/start.sh
gbanyan 8b07e483d2
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Initial commit
2025-12-14 21:53:34 +08:00

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