Files
rodrigonet/deploy.sh
T
2025-08-08 10:34:12 -03:00

89 lines
2.4 KiB
Bash

#!/bin/bash
# Script de Deploy - Bot de Ajuda Telegram
# ========================================
set -e
echo "🚀 Iniciando deploy do Bot de Ajuda Telegram..."
# Verificar se Docker está instalado
if ! command -v docker &> /dev/null; then
echo "❌ Docker não encontrado. Instale o Docker primeiro."
exit 1
fi
# Verificar se Docker Compose está instalado
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose não encontrado. Instale o Docker Compose primeiro."
exit 1
fi
# Verificar se arquivo .env existe
if [ ! -f .env ]; then
echo "⚠️ Arquivo .env não encontrado!"
echo "📋 Copiando template de produção..."
cp .env.production .env
echo "✅ Arquivo .env criado a partir do template."
echo ""
echo "🔧 AÇÃO NECESSÁRIA:"
echo " 1. Edite o arquivo .env"
echo " 2. Configure TELEGRAM_BOT_TOKEN"
echo " 3. Configure DEFAULT_SSH_PASSWORD"
echo " 4. Configure ALLOWED_USERS"
echo " 5. Execute este script novamente"
echo ""
exit 1
fi
# Verificar se variáveis obrigatórias estão configuradas
source .env
if [ -z "$TELEGRAM_BOT_TOKEN" ] || [ "$TELEGRAM_BOT_TOKEN" = "YOUR_BOT_TOKEN_HERE" ]; then
echo "❌ TELEGRAM_BOT_TOKEN não configurado no arquivo .env"
exit 1
fi
if [ -z "$DEFAULT_SSH_PASSWORD" ] || [ "$DEFAULT_SSH_PASSWORD" = "YOUR_SSH_PASSWORD_HERE" ]; then
echo "❌ DEFAULT_SSH_PASSWORD não configurado no arquivo .env"
exit 1
fi
echo "✅ Configurações validadas"
# Parar containers existentes
echo "🛑 Parando containers existentes..."
docker-compose down 2>/dev/null || true
# Build da imagem
echo "🔨 Construindo nova imagem..."
docker-compose build --no-cache
# Iniciar containers
echo "🚀 Iniciando containers..."
docker-compose up -d
# Aguardar inicialização
echo "⏳ Aguardando inicialização..."
sleep 10
# Verificar status
echo "📊 Verificando status dos containers..."
docker-compose ps
# Mostrar logs
echo "📜 Últimos logs do bot:"
docker-compose logs --tail=20 telegram-bot
echo ""
echo "🎉 Deploy concluído!"
echo ""
echo "📋 Comandos úteis:"
echo " Ver logs: docker-compose logs -f telegram-bot"
echo " Parar bot: docker-compose down"
echo " Reiniciar bot: docker-compose restart telegram-bot"
echo " Status: docker-compose ps"
echo ""
echo "🔍 Para verificar se o bot está funcionando:"
echo " Envie /start para o bot no Telegram"