Contexto#

n8n rodando em n8n.castroti.com.br — infraestrutura própria em vez de depender do plano cloud deles. É onde ficam as automações que sustentam outros projetos meus, incluindo parte da orquestração do pipeline de Leads Migre.


Arquitetura#

Traefik (TLS + rate limit)
        │
        ▼
     n8n (editor/API) ──┐
        │                │
  n8n-worker (fila)      │
        │                │
   Postgres          Redis (fila)
  • Modo fila (EXECUTIONS_MODE=queue) — worker separado do processo principal, escala independente
  • Postgres — persistência de workflows e execuções
  • Redis — fila de jobs (Bull)
  • Traefik — TLS automático, rate limit (10 req/s, burst 20) na frente do editor/webhooks

Observabilidade#

  • Prometheus — métricas do n8n (N8N_METRICS=true, incluindo métricas de fila) e do host (node-exporter)
  • cAdvisor — métricas de container
  • Loki + Promtail — centralização de logs de todos os containers
  • Grafana — dashboards unificando tudo, atrás do próprio Traefik com TLS

Por que montar em vez de usar o n8n Cloud#

  • Dados dos workflows (inclusive credenciais de automações de clientes) ficam no meu servidor, não em terceiro
  • Observabilidade integrada com o resto da minha stack (mesmo padrão Prometheus/Loki/Grafana usado em outros projetos)
  • Sem limite de execução por plano — modo fila escala conforme a demanda real

Tecnologias#

n8n · Docker Compose · PostgreSQL · Redis · Traefik · Prometheus · Loki · Grafana · cAdvisor