topsapp: mostra Circuit-ID do cliente
Signed-off-by: Rodrigo Martins <rodrigo@martinsevieira.adv.br>
This commit is contained in:
1 parent
d8badf1fde
commit
01f1315f9e
34 files changed
+70789
-70768
No files matched your search
+304
-304
@@ -1,304 +1,304 @@
|
||||
# 🐳 Deploy em Produção - Bot de Ajuda Telegram
|
||||
|
||||
## 📦 **ARQUIVOS CRIADOS**
|
||||
|
||||
### 🔧 **Arquivos Docker**
|
||||
- ✅ `Dockerfile` - Configuração da imagem Docker
|
||||
- ✅ `docker-compose.yml` - Orquestração de containers
|
||||
- ✅ `.dockerignore` - Otimização do build
|
||||
|
||||
### ⚙️ **Arquivos de Configuração**
|
||||
- ✅ `.env.production` - Template de configuração de produção
|
||||
- ✅ `deploy.sh` - Script de deploy para Linux/Mac
|
||||
- ✅ `deploy.ps1` - Script de deploy para Windows
|
||||
|
||||
## 🚀 **INSTRUÇÕES DE DEPLOY**
|
||||
|
||||
### **Pré-requisitos:**
|
||||
- 🐳 Docker instalado
|
||||
- 🔧 Docker Compose instalado
|
||||
- 🔑 Token do bot do Telegram
|
||||
- 🌐 Acesso SSH aos equipamentos
|
||||
|
||||
### **1. Configurar Ambiente**
|
||||
|
||||
**Linux/Mac:**
|
||||
```bash
|
||||
# Copiar template de configuração
|
||||
cp .env.production .env
|
||||
|
||||
# Editar configurações
|
||||
nano .env
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```powershell
|
||||
# Copiar template de configuração
|
||||
Copy-Item .env.production .env
|
||||
|
||||
# Editar configurações
|
||||
notepad .env
|
||||
```
|
||||
|
||||
### **2. Configurar Variáveis (arquivo .env)**
|
||||
|
||||
```properties
|
||||
# Token do Bot (OBRIGATÓRIO)
|
||||
TELEGRAM_BOT_TOKEN=7673419014:AAGK7HNBYMMWl-bTNc5VBAl4FDLutMBx7pc
|
||||
|
||||
# SSH (OBRIGATÓRIO)
|
||||
DEFAULT_SSH_HOST=131.0.192.254
|
||||
DEFAULT_SSH_USER=rodrigo
|
||||
DEFAULT_SSH_PASSWORD=@102030Rod
|
||||
|
||||
# Bot
|
||||
BOT_DEBUG=false
|
||||
NODE_ENV=production
|
||||
|
||||
# Usuários autorizados
|
||||
ALLOWED_USERS=593272271
|
||||
```
|
||||
|
||||
### **3. Deploy Automatizado**
|
||||
|
||||
**Linux/Mac:**
|
||||
```bash
|
||||
chmod +x deploy.sh
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```powershell
|
||||
.\deploy.ps1
|
||||
```
|
||||
|
||||
### **4. Deploy Manual**
|
||||
|
||||
```bash
|
||||
# Build e iniciar
|
||||
docker-compose up -d --build
|
||||
|
||||
# Verificar status
|
||||
docker-compose ps
|
||||
|
||||
# Ver logs
|
||||
docker-compose logs -f telegram-bot
|
||||
```
|
||||
|
||||
## 🏗️ **ARQUITETURA DO CONTAINER**
|
||||
|
||||
### **Base Image:** `node:18-alpine`
|
||||
- 📦 Tamanho otimizado (~50MB)
|
||||
- 🔒 Segurança aprimorada
|
||||
- ⚡ Performance superior
|
||||
|
||||
### **Características de Segurança:**
|
||||
- 👤 Usuário não-root (`botuser`)
|
||||
- 🛡️ Permissões restritivas
|
||||
- 🔐 Variáveis de ambiente seguras
|
||||
- 📋 Health checks automáticos
|
||||
|
||||
### **Recursos do Container:**
|
||||
- 💾 **Memória:** 256MB-512MB
|
||||
- ⚡ **CPU:** 0.25-0.5 cores
|
||||
- 📊 **Logs:** Rotação automática (10MB, 3 arquivos)
|
||||
- 🔄 **Restart:** unless-stopped
|
||||
|
||||
## 🎛️ **GERENCIAMENTO**
|
||||
|
||||
### **Comandos Essenciais:**
|
||||
|
||||
```bash
|
||||
# Ver status
|
||||
docker-compose ps
|
||||
|
||||
# Ver logs em tempo real
|
||||
docker-compose logs -f telegram-bot
|
||||
|
||||
# Reiniciar bot
|
||||
docker-compose restart telegram-bot
|
||||
|
||||
# Parar bot
|
||||
docker-compose down
|
||||
|
||||
# Atualizar e reiniciar
|
||||
docker-compose up -d --build
|
||||
|
||||
# Limpar logs
|
||||
docker-compose logs --tail=0 telegram-bot
|
||||
|
||||
# Executar comando no container
|
||||
docker-compose exec telegram-bot npm --version
|
||||
```
|
||||
|
||||
### **Monitoramento:**
|
||||
|
||||
```bash
|
||||
# CPU e Memória
|
||||
docker stats bot-ajuda-telegram
|
||||
|
||||
# Health check
|
||||
docker-compose ps telegram-bot
|
||||
|
||||
# Logs de erro
|
||||
docker-compose logs telegram-bot | grep ERROR
|
||||
```
|
||||
|
||||
## 📊 **VOLUMES E PERSISTÊNCIA**
|
||||
|
||||
### **Logs Persistentes:**
|
||||
- 📁 `./logs` → `/app/logs`
|
||||
- 🔄 Rotação automática
|
||||
- 📝 Formato JSON estruturado
|
||||
|
||||
### **Configuração:**
|
||||
- 🔧 Variáveis via `.env`
|
||||
- 🔒 Secrets via Docker Compose
|
||||
- 📋 Configuração read-only no container
|
||||
|
||||
## 🚨 **TROUBLESHOOTING**
|
||||
|
||||
### **Bot não inicia:**
|
||||
```bash
|
||||
# Verificar configuração
|
||||
docker-compose config
|
||||
|
||||
# Ver logs de erro
|
||||
docker-compose logs telegram-bot
|
||||
|
||||
# Verificar variáveis
|
||||
docker-compose exec telegram-bot env | grep TELEGRAM
|
||||
```
|
||||
|
||||
### **Erro de SSH:**
|
||||
```bash
|
||||
# Testar conectividade
|
||||
docker-compose exec telegram-bot ping 131.0.192.254
|
||||
|
||||
# Verificar credenciais
|
||||
docker-compose logs telegram-bot | grep SSH
|
||||
```
|
||||
|
||||
### **Bot não responde:**
|
||||
```bash
|
||||
# Health check manual
|
||||
docker-compose exec telegram-bot node -e "console.log('Bot is running')"
|
||||
|
||||
# Verificar logs do Telegram
|
||||
docker-compose logs telegram-bot | grep TelegramError
|
||||
```
|
||||
|
||||
## 🔄 **ATUALIZAÇÕES**
|
||||
|
||||
### **Atualizar código:**
|
||||
```bash
|
||||
# Parar bot
|
||||
docker-compose down
|
||||
|
||||
# Atualizar código (git pull, etc.)
|
||||
|
||||
# Rebuild e reiniciar
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
### **Atualizar dependências:**
|
||||
```bash
|
||||
# Rebuild sem cache
|
||||
docker-compose build --no-cache
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 🔒 **SEGURANÇA EM PRODUÇÃO**
|
||||
|
||||
### **Variáveis Sensíveis:**
|
||||
- 🔑 Nunca commitar arquivo `.env`
|
||||
- 🔐 Usar Docker secrets em produção
|
||||
- 🛡️ Restringir acesso ao servidor
|
||||
|
||||
### **Monitoramento:**
|
||||
- 📊 Logs de tentativas de acesso
|
||||
- 🚨 Alertas de falhas
|
||||
- 📈 Métricas de uso
|
||||
|
||||
### **Backup:**
|
||||
- 💾 Backup regular da configuração
|
||||
- 📋 Documentar usuários autorizados
|
||||
- 🔄 Plano de disaster recovery
|
||||
|
||||
## 📈 **MÉTRICAS E LOGS**
|
||||
|
||||
### **Logs Importantes:**
|
||||
```bash
|
||||
# Comandos executados
|
||||
docker-compose logs telegram-bot | grep "📨 Mensagem"
|
||||
|
||||
# Operações SSH
|
||||
docker-compose logs telegram-bot | grep "SSH"
|
||||
|
||||
# Acessos negados
|
||||
docker-compose logs telegram-bot | grep "🚫 Acesso negado"
|
||||
|
||||
# Errors
|
||||
docker-compose logs telegram-bot | grep "❌"
|
||||
```
|
||||
|
||||
### **Monitoramento Automático:**
|
||||
- 🔍 Health checks a cada 30s
|
||||
- 📊 Restart automático em falhas
|
||||
- 📝 Logs estruturados para análise
|
||||
|
||||
## 🎯 **COMANDOS DE PRODUÇÃO**
|
||||
|
||||
### **Deploy inicial:**
|
||||
```bash
|
||||
git clone <repo>
|
||||
cd bot-ajuda
|
||||
cp .env.production .env
|
||||
# Editar .env com credenciais reais
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
### **Manutenção diária:**
|
||||
```bash
|
||||
# Ver status
|
||||
docker-compose ps
|
||||
|
||||
# Ver logs recentes
|
||||
docker-compose logs --tail=50 telegram-bot
|
||||
|
||||
# Restart se necessário
|
||||
docker-compose restart telegram-bot
|
||||
```
|
||||
|
||||
### **Deploy de atualização:**
|
||||
```bash
|
||||
git pull
|
||||
docker-compose down
|
||||
docker-compose up -d --build
|
||||
docker-compose logs --tail=20 telegram-bot
|
||||
```
|
||||
|
||||
## ✅ **RESULTADO FINAL**
|
||||
|
||||
**Após o deploy bem-sucedido, você terá:**
|
||||
|
||||
- 🤖 **Bot rodando em container Docker**
|
||||
- 🔒 **Usuário restrito e seguro**
|
||||
- 📊 **Logs persistentes e organizados**
|
||||
- 🔄 **Restart automático em falhas**
|
||||
- 📈 **Monitoramento via health checks**
|
||||
- 🛡️ **Variáveis de ambiente seguras**
|
||||
- ⚡ **Performance otimizada**
|
||||
|
||||
**Para testar:** Envie `/start` para o bot no Telegram!
|
||||
|
||||
## 🎉 **PRONTO PARA PRODUÇÃO!**
|
||||
|
||||
Seu bot agora está:
|
||||
- ✅ Containerizado e isolado
|
||||
- ✅ Configurado para produção
|
||||
- ✅ Monitorado automaticamente
|
||||
- ✅ Seguro e restrito
|
||||
- ✅ Fácil de gerenciar e atualizar
|
||||
|
||||
**Deploy completo e bot em produção!** 🚀🎯
|
||||
# 🐳 Deploy em Produção - Bot de Ajuda Telegram
|
||||
|
||||
## 📦 **ARQUIVOS CRIADOS**
|
||||
|
||||
### 🔧 **Arquivos Docker**
|
||||
- ✅ `Dockerfile` - Configuração da imagem Docker
|
||||
- ✅ `docker-compose.yml` - Orquestração de containers
|
||||
- ✅ `.dockerignore` - Otimização do build
|
||||
|
||||
### ⚙️ **Arquivos de Configuração**
|
||||
- ✅ `.env.production` - Template de configuração de produção
|
||||
- ✅ `deploy.sh` - Script de deploy para Linux/Mac
|
||||
- ✅ `deploy.ps1` - Script de deploy para Windows
|
||||
|
||||
## 🚀 **INSTRUÇÕES DE DEPLOY**
|
||||
|
||||
### **Pré-requisitos:**
|
||||
- 🐳 Docker instalado
|
||||
- 🔧 Docker Compose instalado
|
||||
- 🔑 Token do bot do Telegram
|
||||
- 🌐 Acesso SSH aos equipamentos
|
||||
|
||||
### **1. Configurar Ambiente**
|
||||
|
||||
**Linux/Mac:**
|
||||
```bash
|
||||
# Copiar template de configuração
|
||||
cp .env.production .env
|
||||
|
||||
# Editar configurações
|
||||
nano .env
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```powershell
|
||||
# Copiar template de configuração
|
||||
Copy-Item .env.production .env
|
||||
|
||||
# Editar configurações
|
||||
notepad .env
|
||||
```
|
||||
|
||||
### **2. Configurar Variáveis (arquivo .env)**
|
||||
|
||||
```properties
|
||||
# Token do Bot (OBRIGATÓRIO)
|
||||
TELEGRAM_BOT_TOKEN=7673419014:AAGK7HNBYMMWl-bTNc5VBAl4FDLutMBx7pc
|
||||
|
||||
# SSH (OBRIGATÓRIO)
|
||||
DEFAULT_SSH_HOST=131.0.192.254
|
||||
DEFAULT_SSH_USER=rodrigo
|
||||
DEFAULT_SSH_PASSWORD=@102030Rod
|
||||
|
||||
# Bot
|
||||
BOT_DEBUG=false
|
||||
NODE_ENV=production
|
||||
|
||||
# Usuários autorizados
|
||||
ALLOWED_USERS=593272271
|
||||
```
|
||||
|
||||
### **3. Deploy Automatizado**
|
||||
|
||||
**Linux/Mac:**
|
||||
```bash
|
||||
chmod +x deploy.sh
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```powershell
|
||||
.\deploy.ps1
|
||||
```
|
||||
|
||||
### **4. Deploy Manual**
|
||||
|
||||
```bash
|
||||
# Build e iniciar
|
||||
docker-compose up -d --build
|
||||
|
||||
# Verificar status
|
||||
docker-compose ps
|
||||
|
||||
# Ver logs
|
||||
docker-compose logs -f telegram-bot
|
||||
```
|
||||
|
||||
## 🏗️ **ARQUITETURA DO CONTAINER**
|
||||
|
||||
### **Base Image:** `node:18-alpine`
|
||||
- 📦 Tamanho otimizado (~50MB)
|
||||
- 🔒 Segurança aprimorada
|
||||
- ⚡ Performance superior
|
||||
|
||||
### **Características de Segurança:**
|
||||
- 👤 Usuário não-root (`botuser`)
|
||||
- 🛡️ Permissões restritivas
|
||||
- 🔐 Variáveis de ambiente seguras
|
||||
- 📋 Health checks automáticos
|
||||
|
||||
### **Recursos do Container:**
|
||||
- 💾 **Memória:** 256MB-512MB
|
||||
- ⚡ **CPU:** 0.25-0.5 cores
|
||||
- 📊 **Logs:** Rotação automática (10MB, 3 arquivos)
|
||||
- 🔄 **Restart:** unless-stopped
|
||||
|
||||
## 🎛️ **GERENCIAMENTO**
|
||||
|
||||
### **Comandos Essenciais:**
|
||||
|
||||
```bash
|
||||
# Ver status
|
||||
docker-compose ps
|
||||
|
||||
# Ver logs em tempo real
|
||||
docker-compose logs -f telegram-bot
|
||||
|
||||
# Reiniciar bot
|
||||
docker-compose restart telegram-bot
|
||||
|
||||
# Parar bot
|
||||
docker-compose down
|
||||
|
||||
# Atualizar e reiniciar
|
||||
docker-compose up -d --build
|
||||
|
||||
# Limpar logs
|
||||
docker-compose logs --tail=0 telegram-bot
|
||||
|
||||
# Executar comando no container
|
||||
docker-compose exec telegram-bot npm --version
|
||||
```
|
||||
|
||||
### **Monitoramento:**
|
||||
|
||||
```bash
|
||||
# CPU e Memória
|
||||
docker stats bot-ajuda-telegram
|
||||
|
||||
# Health check
|
||||
docker-compose ps telegram-bot
|
||||
|
||||
# Logs de erro
|
||||
docker-compose logs telegram-bot | grep ERROR
|
||||
```
|
||||
|
||||
## 📊 **VOLUMES E PERSISTÊNCIA**
|
||||
|
||||
### **Logs Persistentes:**
|
||||
- 📁 `./logs` → `/app/logs`
|
||||
- 🔄 Rotação automática
|
||||
- 📝 Formato JSON estruturado
|
||||
|
||||
### **Configuração:**
|
||||
- 🔧 Variáveis via `.env`
|
||||
- 🔒 Secrets via Docker Compose
|
||||
- 📋 Configuração read-only no container
|
||||
|
||||
## 🚨 **TROUBLESHOOTING**
|
||||
|
||||
### **Bot não inicia:**
|
||||
```bash
|
||||
# Verificar configuração
|
||||
docker-compose config
|
||||
|
||||
# Ver logs de erro
|
||||
docker-compose logs telegram-bot
|
||||
|
||||
# Verificar variáveis
|
||||
docker-compose exec telegram-bot env | grep TELEGRAM
|
||||
```
|
||||
|
||||
### **Erro de SSH:**
|
||||
```bash
|
||||
# Testar conectividade
|
||||
docker-compose exec telegram-bot ping 131.0.192.254
|
||||
|
||||
# Verificar credenciais
|
||||
docker-compose logs telegram-bot | grep SSH
|
||||
```
|
||||
|
||||
### **Bot não responde:**
|
||||
```bash
|
||||
# Health check manual
|
||||
docker-compose exec telegram-bot node -e "console.log('Bot is running')"
|
||||
|
||||
# Verificar logs do Telegram
|
||||
docker-compose logs telegram-bot | grep TelegramError
|
||||
```
|
||||
|
||||
## 🔄 **ATUALIZAÇÕES**
|
||||
|
||||
### **Atualizar código:**
|
||||
```bash
|
||||
# Parar bot
|
||||
docker-compose down
|
||||
|
||||
# Atualizar código (git pull, etc.)
|
||||
|
||||
# Rebuild e reiniciar
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
### **Atualizar dependências:**
|
||||
```bash
|
||||
# Rebuild sem cache
|
||||
docker-compose build --no-cache
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 🔒 **SEGURANÇA EM PRODUÇÃO**
|
||||
|
||||
### **Variáveis Sensíveis:**
|
||||
- 🔑 Nunca commitar arquivo `.env`
|
||||
- 🔐 Usar Docker secrets em produção
|
||||
- 🛡️ Restringir acesso ao servidor
|
||||
|
||||
### **Monitoramento:**
|
||||
- 📊 Logs de tentativas de acesso
|
||||
- 🚨 Alertas de falhas
|
||||
- 📈 Métricas de uso
|
||||
|
||||
### **Backup:**
|
||||
- 💾 Backup regular da configuração
|
||||
- 📋 Documentar usuários autorizados
|
||||
- 🔄 Plano de disaster recovery
|
||||
|
||||
## 📈 **MÉTRICAS E LOGS**
|
||||
|
||||
### **Logs Importantes:**
|
||||
```bash
|
||||
# Comandos executados
|
||||
docker-compose logs telegram-bot | grep "📨 Mensagem"
|
||||
|
||||
# Operações SSH
|
||||
docker-compose logs telegram-bot | grep "SSH"
|
||||
|
||||
# Acessos negados
|
||||
docker-compose logs telegram-bot | grep "🚫 Acesso negado"
|
||||
|
||||
# Errors
|
||||
docker-compose logs telegram-bot | grep "❌"
|
||||
```
|
||||
|
||||
### **Monitoramento Automático:**
|
||||
- 🔍 Health checks a cada 30s
|
||||
- 📊 Restart automático em falhas
|
||||
- 📝 Logs estruturados para análise
|
||||
|
||||
## 🎯 **COMANDOS DE PRODUÇÃO**
|
||||
|
||||
### **Deploy inicial:**
|
||||
```bash
|
||||
git clone <repo>
|
||||
cd bot-ajuda
|
||||
cp .env.production .env
|
||||
# Editar .env com credenciais reais
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
### **Manutenção diária:**
|
||||
```bash
|
||||
# Ver status
|
||||
docker-compose ps
|
||||
|
||||
# Ver logs recentes
|
||||
docker-compose logs --tail=50 telegram-bot
|
||||
|
||||
# Restart se necessário
|
||||
docker-compose restart telegram-bot
|
||||
```
|
||||
|
||||
### **Deploy de atualização:**
|
||||
```bash
|
||||
git pull
|
||||
docker-compose down
|
||||
docker-compose up -d --build
|
||||
docker-compose logs --tail=20 telegram-bot
|
||||
```
|
||||
|
||||
## ✅ **RESULTADO FINAL**
|
||||
|
||||
**Após o deploy bem-sucedido, você terá:**
|
||||
|
||||
- 🤖 **Bot rodando em container Docker**
|
||||
- 🔒 **Usuário restrito e seguro**
|
||||
- 📊 **Logs persistentes e organizados**
|
||||
- 🔄 **Restart automático em falhas**
|
||||
- 📈 **Monitoramento via health checks**
|
||||
- 🛡️ **Variáveis de ambiente seguras**
|
||||
- ⚡ **Performance otimizada**
|
||||
|
||||
**Para testar:** Envie `/start` para o bot no Telegram!
|
||||
|
||||
## 🎉 **PRONTO PARA PRODUÇÃO!**
|
||||
|
||||
Seu bot agora está:
|
||||
- ✅ Containerizado e isolado
|
||||
- ✅ Configurado para produção
|
||||
- ✅ Monitorado automaticamente
|
||||
- ✅ Seguro e restrito
|
||||
- ✅ Fácil de gerenciar e atualizar
|
||||
|
||||
**Deploy completo e bot em produção!** 🚀🎯
|
||||
Reference in new issue
Block a user