Spaces:
Sleeping
Sleeping
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # ArabApp Dev Server Launcher | |
| # Starts all required backend services: | |
| # Port 3002: Quran-MD audio database (Node.js/DuckDB) | |
| # Port 3003: Arabic AI TTS server (Python/FastPitch+HiFi-GAN) | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| echo "π ArabApp Backend Services" | |
| echo "ββββββββββββββββββββββββββββ" | |
| echo "" | |
| # ββ Service 1: Quran-MD Database (port 3002) ββββββββββββββββββββββββββββββ | |
| echo "βΆ Starting Quran-MD audio database (port 3002)..." | |
| if lsof -ti:3002 > /dev/null 2>&1; then | |
| echo " ! Port 3002 busy. Killing old instance..." | |
| lsof -ti:3002 | xargs kill -9 | |
| fi | |
| cd "$SCRIPT_DIR" | |
| node index.js & | |
| NODE_PID=$! | |
| echo " β Quran-MD server started (PID: $NODE_PID)" | |
| # ββ Service 2: Arabic AI TTS (port 3003) βββββββββββββββββββββββββββββββββ | |
| echo "βΆ Starting Arabic AI TTS (port 3003)..." | |
| if lsof -ti:3003 > /dev/null 2>&1; then | |
| echo " ! Port 3003 busy. Killing old instance..." | |
| lsof -ti:3003 | xargs kill -9 | |
| fi | |
| VENV_PYTHON="$SCRIPT_DIR/tts_venv/bin/python3" | |
| if [ ! -f "$VENV_PYTHON" ]; then | |
| echo " β οΈ TTS venv not found. Running with system python if available..." | |
| python3 "$SCRIPT_DIR/tts_server.py" & | |
| TTS_PID=$! | |
| else | |
| "$VENV_PYTHON" "$SCRIPT_DIR/tts_server.py" & | |
| TTS_PID=$! | |
| fi | |
| echo " β AI TTS server started (PID: $TTS_PID)" | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββ" | |
| echo "Services ready on ports 3002 and 3003" | |
| echo "Press Ctrl+C to stop" | |
| wait | |