86 lines
3.0 KiB
Bash
Executable File
86 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
################################################################################
|
|
# Server Startup Script
|
|
# This script starts the animation server, Vite client, and GPT-SoVITS server
|
|
################################################################################
|
|
|
|
#------------------------------------------------------------------------------
|
|
# USER CONFIGURATION - Modify these paths for your environment
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Project paths
|
|
PROJECT_ROOT="/mnt/4TB/AI/riko_project_patreon-main"
|
|
SOVITS_ROOT="/mnt/4TB/AI/GPT-SoVITS"
|
|
|
|
# Virtual environment paths
|
|
VENV_PROJECT="${PROJECT_ROOT}/.venv"
|
|
VENV_SOVITS="${SOVITS_ROOT}/.venv"
|
|
|
|
# Server directories
|
|
SERVER_DIR="${PROJECT_ROOT}/server"
|
|
CLIENT_DIR="${PROJECT_ROOT}/client"
|
|
|
|
# GPT-SoVITS configuration
|
|
SOVITS_CONFIG="${SOVITS_ROOT}/GPT_SoVITS/configs/tts_infer.yaml"
|
|
SOVITS_HOST="127.0.0.1"
|
|
SOVITS_PORT="9880"
|
|
|
|
# Optional: Uncomment to enable second GPT-SoVITS server
|
|
SOVITS_ROOT="/mnt/4TB/AI/GPT-SoVITS"
|
|
SOVITS_PORT_2="9881"
|
|
|
|
# Startup delay (seconds to wait for ports to free after killing processes)
|
|
STARTUP_DELAY=4
|
|
|
|
#------------------------------------------------------------------------------
|
|
# SCRIPT LOGIC - No need to modify below this line
|
|
#------------------------------------------------------------------------------
|
|
|
|
echo "========================================="
|
|
echo "Starting Server Stack"
|
|
echo "========================================="
|
|
|
|
# Kill existing processes
|
|
echo "→ Stopping existing servers..."
|
|
pkill -f "python3 api_v2.py"
|
|
pkill -f "server.py"
|
|
pkill -f "npx vite"
|
|
pkill -f "vite"
|
|
|
|
echo "→ Waiting ${STARTUP_DELAY} seconds for ports to free up..."
|
|
sleep "$STARTUP_DELAY"
|
|
|
|
# Start animation server
|
|
echo "→ Starting animation server..."
|
|
bash -c "source ${VENV_PROJECT}/bin/activate && cd ${SERVER_DIR} && python server.py" &
|
|
|
|
# Start Vite client
|
|
echo "→ Starting Vite client..."
|
|
bash -c "cd ${CLIENT_DIR} && npx vite" &
|
|
|
|
# Start GPT-SoVITS server
|
|
echo "→ Starting GPT-SoVITS server on ${SOVITS_HOST}:${SOVITS_PORT}..."
|
|
bash -c "source ${VENV_SOVITS}/bin/activate && cd ${SOVITS_ROOT} && python3 api_v2.py -a ${SOVITS_HOST} -p ${SOVITS_PORT} -c ${SOVITS_CONFIG}" &
|
|
|
|
# Optional: Start second GPT-SoVITS server
|
|
# Uncomment the block below if you need a second server instance
|
|
# if [ -n "$SOVITS_CONFIG_2" ] && [ -n "$SOVITS_PORT_2" ]; then
|
|
# echo "→ Starting GPT-SoVITS server 2 on ${SOVITS_HOST}:${SOVITS_PORT_2}..."
|
|
# bash -c "source ${VENV_SOVITS}/bin/activate && cd ${SOVITS_ROOT} && python3 api_v2.py -a ${SOVITS_HOST} -p ${SOVITS_PORT_2} -c ${SOVITS_CONFIG_2}" &
|
|
# fi
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo "✅ All servers launched successfully"
|
|
echo "========================================="
|
|
echo ""
|
|
echo "Active servers:"
|
|
echo " • Animation server: ${SERVER_DIR}/server.py"
|
|
echo " • Vite client: ${CLIENT_DIR}"
|
|
echo " • GPT-SoVITS: ${SOVITS_HOST}:${SOVITS_PORT}"
|
|
echo ""
|
|
echo "To stop all servers, run:"
|
|
echo " pkill -f 'python3 api_v2.py|server.py|npx vite'"
|
|
echo ""
|