Pular para o conteúdo principal

Infraestrutura

Visão Geral

Toda a infraestrutura dos AI Agents INCI Brasil está hospedada em um único servidor cloud gerenciado pela OptiCloud, com deploy e orquestração através do EasyPanel.

Servidor Principal

Especificações

  • Provedor: OptiCloud
  • CPU: 16 cores
  • RAM: 32 GB
  • Sistema Operacional: Linux Ubuntu
  • Gerenciamento: EasyPanel

Por que EasyPanel?

EasyPanel é uma plataforma de gerenciamento de containers Docker que simplifica:

  • Deploy de aplicações
  • Gerenciamento de serviços
  • Configuração de variáveis de ambiente
  • Monitoramento básico
  • Backups automáticos

Documentação oficial: https://easypanel.io/docs


Instalação do EasyPanel

Pré-requisitos

Certifique-se de que o Docker está instalado:

curl -sSL https://get.docker.com | sh

Instalação

Execute com privilégios de root (sudo):

docker run --rm -it \
-v /etc/easypanel:/etc/easypanel \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
easypanel/easypanel setup
Importante
  • EasyPanel instala Docker Swarm e outras ferramentas
  • Recomendado instalar em servidor limpo
  • Portas 80 e 443 devem estar disponíveis e não bloqueadas pelo firewall

Atualização

EasyPanel tenta atualizar automaticamente. Para forçar atualização manual:

docker image pull easypanel/easypanel && docker service update easypanel --force

Reset de Senha

Se precisar resetar a senha do EasyPanel:

docker run --rm -it \
-v /etc/easypanel:/etc/easypanel \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
easypanel/easypanel reset-password

Serviços em Execução

1. Chatwoot (v4.0.1)

Containers:

  • chatwoot - Aplicação principal
  • chatwoot-sidekiq - Workers para jobs assíncronos
  • chatwoot-postgres - Banco de dados PostgreSQL
  • chatwoot-redis - Cache e filas

Como foi instalado:

  1. No EasyPanel, clicar em + no projeto
  2. Clicar em + em Services
  3. Na aba Templates, selecionar "Chatwoot"
  4. EasyPanel instala automaticamente todos os containers

URL: https://chatwoot.zamply.com.br


2. Dify (v0.13.0)

Containers:

  • dify-api - API backend
  • dify-web - Interface web
  • dify-worker - Processador de tarefas
  • dify-postgres - Banco de dados
  • dify-redis - Cache

Como foi instalado:

  1. No EasyPanel, selecionar template "Dify" (versão 0.13.0)
  2. Configurar variáveis de ambiente (LLM keys, etc.)

URL: https://dify.zamply.com.br


3. N8N (Queue Mode)

Arquitetura:

  • 1 réplica editor: Interface web para criar workflows
  • 10 réplicas webhook: Recebem webhooks HTTP
  • 25 réplicas worker: Processam jobs da fila (concurrency: 250 por worker)

Como foi configurado:

  1. Instalar N8N via template do EasyPanel
  2. Ativar modo queue nas configurações
  3. Escalar réplicas de webhook e worker conforme necessidade

Configurações importantes:

EXECUTIONS_MODE=queue
QUEUE_BULL_REDIS_HOST=redis
N8N_CONCURRENCY=250 # Por worker

URL Editor: https://n8n-queue.incibrasil.com.br


4. MySQL

Função: Banco de dados principal para dados customizados (logs, webhooks, insights)

Schema: Ver Schema do Banco de Dados

Tabelas principais:

  • agent - Configurações dos agentes
  • conversation - Conversas e status
  • message - Mensagens processadas
  • webhook - Webhooks recebidos
  • logs - Logs de processamento

Cloudflare Pages

Além do servidor OptiCloud, a documentação (este site) está hospedada no Cloudflare Pages para performance e CDN global.

Deploy:

npm run deploy

Este comando:

  1. Faz build do Docusaurus (npm run build)
  2. Usa Wrangler para deploy no Cloudflare Pages (wrangler pages deploy ./build)

Rede e DNS

Domínios

Todos os serviços usam subdomínios de zamply.com.br e incibrasil.com.br:

ServiçoURL
Chatwoothttps://chatwoot.zamply.com.br
Difyhttps://dify.zamply.com.br
N8Nhttps://n8n-queue.incibrasil.com.br

SSL/TLS

EasyPanel gerencia certificados SSL automaticamente via Let's Encrypt.


Backup e Recuperação

Estratégia de Backup

  1. Banco de Dados PostgreSQL (Chatwoot):

    • Backup automático diário via EasyPanel
    • Retenção: 7 dias
  2. Banco de Dados MySQL:

    • Dump manual semanal
    • Armazenado em Google Cloud Storage
  3. Configurações N8N:

    • Workflows exportados mensalmente
    • Versionados no Git (repositório privado)

Recuperação de Desastre

Em caso de falha total do servidor:

  1. Provisionar novo servidor OptiCloud
  2. Instalar EasyPanel
  3. Restaurar backups dos bancos de dados
  4. Recriar serviços via templates do EasyPanel
  5. Reconfigurar DNS (downtime ~1-2 horas)

Monitoramento

Recursos do Servidor

Através do EasyPanel:

  • Uso de CPU por serviço
  • Uso de memória
  • Uso de disco
  • Logs de containers

Alertas

Configurar

Ainda não temos alertas automáticos configurados. Recomenda-se:

  • Integrar com Uptime Robot ou similar
  • Configurar alertas de uso de recursos (>80% CPU/RAM)
  • Monitorar disponibilidade dos endpoints

Custos Mensais Estimados

ItemCusto Mensal
OptiCloud (16 CPU, 32GB)R$ 1.500
Cloudflare PagesGratuito
WhatsApp Business APIVariável (por mensagem)
Total FixoR$ 1.500
WhatsApp Pricing

Para informações detalhadas sobre os custos por mensagem do WhatsApp Business API, consulte a página oficial de preços da Meta.


Próximos Passos