222 lines
5.5 KiB
Bash
Executable File
222 lines
5.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 🚀 Deploy PIX Completo - Local para Servidor
|
|
# Execute: ./deploy-pix-completo.sh usuario@servidor
|
|
|
|
echo "🚀 Deploy PIX - Liberi Kids (Local → Servidor)"
|
|
echo "=============================================="
|
|
|
|
# Cores para output
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
log() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
warn() {
|
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
|
}
|
|
|
|
info() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Verificar parâmetros
|
|
if [ -z "$1" ]; then
|
|
error "❌ Uso: ./deploy-pix-completo.sh usuario@servidor"
|
|
echo "Exemplo: ./deploy-pix-completo.sh tiago@192.168.195.145"
|
|
exit 1
|
|
fi
|
|
|
|
SERVIDOR=$1
|
|
info "🎯 Servidor destino: $SERVIDOR"
|
|
|
|
# Verificar se estamos no diretório correto
|
|
if [ ! -f "server-supabase.js" ]; then
|
|
error "❌ Execute este script no diretório raiz do projeto!"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
info "📦 ETAPA 1: Preparando arquivos locais..."
|
|
|
|
# Build do frontend
|
|
if [ -d "client" ]; then
|
|
info "🔨 Fazendo build do frontend..."
|
|
cd client
|
|
npm run build
|
|
if [ $? -eq 0 ]; then
|
|
log "✅ Build do frontend concluído"
|
|
else
|
|
error "❌ Erro no build do frontend"
|
|
exit 1
|
|
fi
|
|
cd ..
|
|
else
|
|
warn "⚠️ Diretório client não encontrado"
|
|
fi
|
|
|
|
echo ""
|
|
info "📤 ETAPA 2: Enviando arquivos para o servidor..."
|
|
|
|
# Criar lista de arquivos para enviar
|
|
ARQUIVOS_ENVIAR=(
|
|
"server-supabase.js"
|
|
"config/"
|
|
"sql/"
|
|
"scripts/"
|
|
"client/build/"
|
|
"package.json"
|
|
".env.example"
|
|
"aplicar-pix-supabase.sql"
|
|
"configurar-pix-servidor.sh"
|
|
"INTEGRACAO-PIX-GUIDE.md"
|
|
)
|
|
|
|
# Verificar conectividade SSH
|
|
info "🔗 Testando conexão SSH..."
|
|
ssh -o ConnectTimeout=10 -o BatchMode=yes $SERVIDOR exit
|
|
if [ $? -ne 0 ]; then
|
|
error "❌ Não foi possível conectar ao servidor $SERVIDOR"
|
|
echo "Verifique:"
|
|
echo " - Se o servidor está ligado"
|
|
echo " - Se o SSH está funcionando"
|
|
echo " - Se as credenciais estão corretas"
|
|
exit 1
|
|
fi
|
|
log "✅ Conexão SSH OK"
|
|
|
|
# Criar diretório no servidor se não existir
|
|
info "📁 Criando diretório no servidor..."
|
|
ssh $SERVIDOR "mkdir -p ~/app_estoque"
|
|
|
|
# Enviar arquivos
|
|
info "📤 Enviando arquivos PIX..."
|
|
for arquivo in "${ARQUIVOS_ENVIAR[@]}"; do
|
|
if [ -e "$arquivo" ]; then
|
|
info "📤 Enviando: $arquivo"
|
|
rsync -avz --progress "$arquivo" $SERVIDOR:~/app_estoque/
|
|
if [ $? -eq 0 ]; then
|
|
log "✅ $arquivo enviado"
|
|
else
|
|
warn "⚠️ Erro ao enviar $arquivo"
|
|
fi
|
|
else
|
|
warn "⚠️ Arquivo não encontrado: $arquivo"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
info "🔧 ETAPA 3: Configurando no servidor..."
|
|
|
|
# Executar configuração no servidor
|
|
ssh $SERVIDOR << 'EOF'
|
|
cd ~/app_estoque
|
|
|
|
echo "🏦 Configurando PIX no servidor..."
|
|
|
|
# Dar permissão de execução
|
|
chmod +x configurar-pix-servidor.sh
|
|
|
|
# Instalar dependências se necessário
|
|
if [ ! -d "node_modules" ]; then
|
|
echo "📦 Instalando dependências..."
|
|
npm install
|
|
fi
|
|
|
|
# Instalar mercadopago se não existir
|
|
if [ ! -d "node_modules/mercadopago" ]; then
|
|
echo "📦 Instalando Mercado Pago SDK..."
|
|
npm install mercadopago
|
|
fi
|
|
|
|
# Verificar se .env existe
|
|
if [ ! -f ".env" ]; then
|
|
echo "📝 Criando arquivo .env..."
|
|
cp .env.example .env
|
|
fi
|
|
|
|
# Verificar se credenciais PIX estão no .env
|
|
if ! grep -q "MERCADOPAGO_ACCESS_TOKEN" .env; then
|
|
echo "📝 Adicionando configurações PIX ao .env..."
|
|
cat >> .env << 'ENVEOF'
|
|
|
|
# =====================================================
|
|
# CONFIGURAÇÕES PIX - MERCADO PAGO
|
|
# =====================================================
|
|
|
|
# Access Token do Mercado Pago (TEST para desenvolvimento, PROD para produção)
|
|
MERCADOPAGO_ACCESS_TOKEN=TEST-sua_access_token_aqui
|
|
|
|
# Public Key do Mercado Pago
|
|
MERCADOPAGO_PUBLIC_KEY=pk_test_sua_public_key_aqui
|
|
|
|
# URL base para webhooks (importante para produção)
|
|
BASE_URL=http://localhost:5000
|
|
ENVEOF
|
|
fi
|
|
|
|
echo "✅ Configuração no servidor concluída!"
|
|
EOF
|
|
|
|
if [ $? -eq 0 ]; then
|
|
log "✅ Configuração no servidor concluída"
|
|
else
|
|
error "❌ Erro na configuração do servidor"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
info "🎉 DEPLOY PIX CONCLUÍDO COM SUCESSO!"
|
|
echo ""
|
|
|
|
log "✅ Arquivos enviados para: $SERVIDOR:~/app_estoque/"
|
|
log "✅ Dependências instaladas"
|
|
log "✅ Configurações preparadas"
|
|
echo ""
|
|
|
|
warn "📝 PRÓXIMOS PASSOS NO SERVIDOR:"
|
|
echo ""
|
|
echo "1. 🏦 CONFIGURAR CREDENCIAIS MERCADO PAGO:"
|
|
echo " ssh $SERVIDOR"
|
|
echo " cd ~/app_estoque"
|
|
echo " nano .env"
|
|
echo " # Configure MERCADOPAGO_ACCESS_TOKEN e MERCADOPAGO_PUBLIC_KEY"
|
|
echo ""
|
|
|
|
echo "2. 🗄️ APLICAR SQL NO SUPABASE:"
|
|
echo " - Acesse: https://supabase.com/dashboard"
|
|
echo " - SQL Editor → Execute: aplicar-pix-supabase.sql"
|
|
echo ""
|
|
|
|
echo "3. 🔄 REINICIAR SERVIDOR:"
|
|
echo " ssh $SERVIDOR"
|
|
echo " cd ~/app_estoque"
|
|
echo " pm2 restart liberi-kids"
|
|
echo " # ou: pm2 start server-supabase.js --name liberi-kids"
|
|
echo ""
|
|
|
|
echo "4. 🧪 TESTAR PIX:"
|
|
echo " - Acesse o sistema no servidor"
|
|
echo " - Vá em Vendas → Clique no botão PIX (💳)"
|
|
echo " - Verifique se QR Code é gerado"
|
|
echo ""
|
|
|
|
info "💡 CREDENCIAIS MERCADO PAGO:"
|
|
echo " - Acesse: https://www.mercadopago.com.br/developers"
|
|
echo " - Crie aplicação de 'Pagamentos online'"
|
|
echo " - Copie Access Token e Public Key"
|
|
echo ""
|
|
|
|
log "🎉 SEU SISTEMA PIX ESTÁ PRONTO PARA CONFIGURAÇÃO FINAL!"
|
|
echo ""
|
|
warn "Execute os próximos passos no servidor para ativar o PIX!"
|