paraAI_rag / deploy_integrado.sh
caarleexx's picture
Upload 7 files
35e36f1 verified
#!/bin/bash
# deploy_integrado.sh - Deploy completo (API + Frontend)
set -e
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║ PARA.AI RAG - DEPLOY INTEGRADO ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""
# Verificar dependências
echo "1️⃣ Verificando dependências..."
command -v python3 >/dev/null 2>&1 || { echo "❌ Python3 não encontrado!"; exit 1; }
command -v pip >/dev/null 2>&1 || { echo "❌ pip não encontrado!"; exit 1; }
echo " ✅ Python OK"
echo ""
# Instalar dependências
echo "2️⃣ Instalando dependências..."
pip install -q -r requirements.txt
echo " ✅ Dependências instaladas"
echo ""
# Iniciar API em background
echo "3️⃣ Iniciando API FastAPI..."
cd ../para_ai_rag_cluster 2>/dev/null || {
echo " ⚠️ Pasta para_ai_rag_cluster não encontrada"
echo " Pulando inicialização da API..."
}
if [ -f "app.py" ]; then
python3 -u app.py > /tmp/para_ai_api.log 2>&1 &
API_PID=$!
echo " ✅ API iniciada (PID: $API_PID)"
echo " 📋 Logs em: /tmp/para_ai_api.log"
# Aguardar API iniciar
echo " ⏳ Aguardando API responder..."
sleep 5
# Testar conexão
if curl -s http://localhost:7860/ > /dev/null 2>&1; then
echo " ✅ API respondendo!"
else
echo " ⚠️ API pode não estar pronta ainda"
echo " (Normal se setup ainda rodando)"
fi
cd - > /dev/null
else
echo " ⚠️ app.py não encontrado, pulando..."
fi
echo ""
# Iniciar Gradio
echo "4️⃣ Iniciando Interface Gradio..."
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🐝 Interface estará disponível em:"
echo " → http://localhost:7861"
echo ""
echo "📊 API estará em:"
echo " → http://localhost:7860"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# Executar Gradio (bloqueia aqui)
python3 app_gradio.py
# Cleanup (só chega aqui se Ctrl+C)
echo ""
echo "🛑 Encerrando..."
if [ ! -z "$API_PID" ]; then
kill $API_PID 2>/dev/null || true
echo " ✅ API encerrada"
fi
echo "✅ Shutdown completo!"