feat: add start.sh script for running v1/v2 servers

This commit is contained in:
2026-03-12 13:45:51 +08:00
parent ec743b3df1
commit 708d2c0d04

108
start.sh Executable file
View 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