feat: add start.sh script for running v1/v2 servers
This commit is contained in:
108
start.sh
Executable file
108
start.sh
Executable file
@@ -0,0 +1,108 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# TCKRTUIYO Start Script
|
||||||
|
# Usage:
|
||||||
|
# ./start.sh v1 - Start v1 (Flask) server
|
||||||
|
# ./start.sh v2 - Start v2 (Vite) server
|
||||||
|
# ./start.sh v1 v2 - Start both servers
|
||||||
|
# ./start.sh v2 --expose - Expose v2 to network (0.0.0.0)
|
||||||
|
# ./start.sh v1 v2 --expose 192.168.1.100 - Expose both to specific IP
|
||||||
|
|
||||||
|
V1_PORT=8080
|
||||||
|
V2_PORT=5173
|
||||||
|
V1_HOST="127.0.0.1"
|
||||||
|
V2_HOST="127.0.0.1"
|
||||||
|
V1_PID=""
|
||||||
|
V2_PID=""
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
echo ""
|
||||||
|
echo "Shutting down servers..."
|
||||||
|
[ -n "$V1_PID" ] && kill $V1_PID 2>/dev/null
|
||||||
|
[ -n "$V2_PID" ] && kill $V2_PID 2>/dev/null
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
trap cleanup SIGINT SIGTERM
|
||||||
|
|
||||||
|
start_v1=false
|
||||||
|
start_v2=false
|
||||||
|
expose_all=false
|
||||||
|
expose_ip=""
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
for arg in "$@"; do
|
||||||
|
case $arg in
|
||||||
|
v1)
|
||||||
|
start_v1=true
|
||||||
|
;;
|
||||||
|
v2)
|
||||||
|
start_v2=true
|
||||||
|
;;
|
||||||
|
--expose)
|
||||||
|
expose_all=true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# If it's an IP address, use it
|
||||||
|
if [[ "$arg" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
expose_ip="$arg"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Set hosts based on expose flag
|
||||||
|
if [ "$expose_all" = true ]; then
|
||||||
|
if [ -n "$expose_ip" ]; then
|
||||||
|
V1_HOST="$expose_ip"
|
||||||
|
V2_HOST="$expose_ip"
|
||||||
|
else
|
||||||
|
V1_HOST="0.0.0.0"
|
||||||
|
V2_HOST="0.0.0.0"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
start_v1_server() {
|
||||||
|
echo "Starting v1 (Flask) on $V1_HOST:$V1_PORT..."
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
python3 src/app.py &
|
||||||
|
V1_PID=$!
|
||||||
|
}
|
||||||
|
|
||||||
|
start_v2_server() {
|
||||||
|
echo "Starting v2 (Vite) on $V2_HOST:$V2_PORT..."
|
||||||
|
cd "$(dirname "$0")/v2"
|
||||||
|
|
||||||
|
if [ "$V2_HOST" = "0.0.0.0" ]; then
|
||||||
|
npm run dev -- --host &
|
||||||
|
else
|
||||||
|
npm run dev &
|
||||||
|
fi
|
||||||
|
V2_PID=$!
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default: show usage
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "Usage: $0 <v1|v2> [v1|v2] [--expose [IP]]"
|
||||||
|
echo ""
|
||||||
|
echo "Examples:"
|
||||||
|
echo " $0 v1 # Start v1 only (localhost)"
|
||||||
|
echo " $0 v2 # Start v2 only (localhost)"
|
||||||
|
echo " $0 v1 v2 # Start both v1 and v2"
|
||||||
|
echo " $0 v2 --expose # Start v2 exposed to all (0.0.0.0)"
|
||||||
|
echo " $0 v1 v2 --expose 192.168.1.100 # Expose both to specific IP"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$start_v1" = true ] && start_v1_server
|
||||||
|
[ "$start_v2" = true ] && start_v2_server
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Servers running:"
|
||||||
|
[ "$start_v1" = true ] && echo " - v1: http://$V1_HOST:$V1_PORT"
|
||||||
|
[ "$start_v2" = true ] && echo " - v2: http://$V2_HOST:$V2_PORT"
|
||||||
|
echo ""
|
||||||
|
echo "Press Ctrl+C to stop all servers"
|
||||||
|
|
||||||
|
# Wait for any process to exit
|
||||||
|
wait
|
||||||
Reference in New Issue
Block a user