kv-tiktok/restart_app.sh

49 lines
1.3 KiB
Bash

#!/bin/bash
echo "🔄 Restarting PureStream WebApp..."
# Function to kill process on port
kill_port() {
PORT=$1
if lsof -i:$PORT -t >/dev/null; then
PID=$(lsof -ti:$PORT)
echo "Killing process on port $PORT (PID: $PID)..."
kill -9 $PID
else
echo "Port $PORT is free."
fi
}
# 1. Stop existing processes
echo "🛑 Stopping services..."
kill_port 8000 # Backend
kill_port 8002 # Frontend (Target)
kill_port 8003 # Frontend (Alt)
kill_port 5173 # Frontend (Default)
# 2. Start Backend
echo "🚀 Starting Backend (Port 8000)..."
cd backend
# Check if venv exists matching user env, else use python3
PYTHON_CMD="python3"
# Start uvicorn in background
nohup $PYTHON_CMD -m uvicorn main:app --reload --host 0.0.0.0 --port 8000 > ../backend.log 2>&1 &
BACKEND_PID=$!
echo "Backend started with PID $BACKEND_PID"
cd ..
# 3. Start Frontend
echo "🎨 Starting Frontend (Port 8002)..."
cd frontend
# Start vite in background
nohup npm run dev -- --port 8002 --host > ../frontend.log 2>&1 &
FRONTEND_PID=$!
echo "Frontend started with PID $FRONTEND_PID"
cd ..
echo "✅ App restarted successfully!"
echo "--------------------------------"
echo "Backend: http://localhost:8000"
echo "Frontend: http://localhost:8002"
echo "--------------------------------"
echo "Logs are being written to backend.log and frontend.log"