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

79 lines
2.9 KiB
PowerShell

# Script de Deploy - Bot de Ajuda Telegram (Windows)
# ===================================================
Write-Host "🚀 Iniciando deploy do Bot de Ajuda Telegram..." -ForegroundColor Green
# Verificar se Docker está instalado
if (-not (Get-Command docker -ErrorAction SilentlyContinue)) {
Write-Host "❌ Docker não encontrado. Instale o Docker Desktop primeiro." -ForegroundColor Red
exit 1
}
# Verificar se Docker Compose está instalado
if (-not (Get-Command docker-compose -ErrorAction SilentlyContinue)) {
Write-Host "❌ Docker Compose não encontrado. Instale o Docker Compose primeiro." -ForegroundColor Red
exit 1
}
# Verificar se arquivo .env existe
if (-not (Test-Path .env)) {
Write-Host "⚠️ Arquivo .env não encontrado!" -ForegroundColor Yellow
Write-Host "📋 Copiando template de produção..." -ForegroundColor Cyan
Copy-Item .env.production .env
Write-Host "✅ Arquivo .env criado a partir do template." -ForegroundColor Green
Write-Host ""
Write-Host "🔧 AÇÃO NECESSÁRIA:" -ForegroundColor Yellow
Write-Host " 1. Edite o arquivo .env"
Write-Host " 2. Configure TELEGRAM_BOT_TOKEN"
Write-Host " 3. Configure DEFAULT_SSH_PASSWORD"
Write-Host " 4. Configure ALLOWED_USERS"
Write-Host " 5. Execute este script novamente"
Write-Host ""
exit 1
}
# Verificar configurações
$envContent = Get-Content .env -Raw
if ($envContent -match "YOUR_BOT_TOKEN_HERE" -or $envContent -match "YOUR_SSH_PASSWORD_HERE") {
Write-Host "❌ Arquivo .env contém valores de template. Configure as variáveis necessárias." -ForegroundColor Red
exit 1
}
Write-Host "✅ Configurações validadas" -ForegroundColor Green
# Parar containers existentes
Write-Host "🛑 Parando containers existentes..." -ForegroundColor Yellow
docker-compose down 2>$null
# Build da imagem
Write-Host "🔨 Construindo nova imagem..." -ForegroundColor Cyan
docker-compose build --no-cache
# Iniciar containers
Write-Host "🚀 Iniciando containers..." -ForegroundColor Green
docker-compose up -d
# Aguardar inicialização
Write-Host "⏳ Aguardando inicialização..." -ForegroundColor Yellow
Start-Sleep -Seconds 10
# Verificar status
Write-Host "📊 Verificando status dos containers..." -ForegroundColor Cyan
docker-compose ps
# Mostrar logs
Write-Host "📜 Últimos logs do bot:" -ForegroundColor Cyan
docker-compose logs --tail=20 telegram-bot
Write-Host ""
Write-Host "🎉 Deploy concluído!" -ForegroundColor Green
Write-Host ""
Write-Host "📋 Comandos úteis:" -ForegroundColor Cyan
Write-Host " Ver logs: docker-compose logs -f telegram-bot"
Write-Host " Parar bot: docker-compose down"
Write-Host " Reiniciar bot: docker-compose restart telegram-bot"
Write-Host " Status: docker-compose ps"
Write-Host ""
Write-Host "🔍 Para verificar se o bot está funcionando:" -ForegroundColor Yellow
Write-Host " Envie /start para o bot no Telegram"