Não perca as ofertas da Promoção de Ano Novo!
search

Como configurar o n8n queue mode em um VPS

À medida que seus workflows de automação no n8n ficam mais complexos, executá-los de forma eficiente pode se tornar um desafio. Rodar tudo em um único processo pode causar lentidão, sobrecarregar o sistema ou até fazer com que as automações falhem.

A solução para esse problema é o n8n queue mode (modo de fila). Ele adiciona uma fila de tarefas que distribui as execuções entre vários processos de trabalho (workers), em vez de concentrar tudo em um único ponto. Com isso, os workflows passam a rodar de forma independente, melhorando tanto o desempenho quanto a escalabilidade das automações.

Neste guia, você vai aprender passo a passo como configurar o n8n queue mode em um VPS da Hostinger. Ao final, seu ambiente de automação com n8n estará mais estável, confiável e pronto para crescer conforme a demanda aumenta.

Como funciona o queue mode?

Por padrão, o n8n opera dentro de um processo principal de thread única, onde Por padrão, o n8n funciona em um único processo principal, no qual todas as tarefas são executadas de forma sequencial. Esse modelo atende bem automações com baixo volume, mas começa a gerar gargalos quando a carga de trabalho aumenta.

O n8n queue mode resolve esse problema ao dividir o back-end do n8n em três partes bem definidas:

  • Camada de gerenciamento – responsável pela interface visual, configuração dos workflows e gerenciamento de todos os gatilhos.
  • Camada de armazenamento – onde ficam salvos dados como tarefas, workflows, credenciais e logs. A diferença em relação a uma instalação padrão é o uso do Redis, um banco de dados chave-valor que atua como intermediário das mensagens da fila.
  • Camada de workers – onde a lógica das automações é executada. Aqui, os passos dos workflows rodam em paralelo, em vez de um por vez.

Visualmente, a arquitetura do n8n queue mode funciona da seguinte forma:

Serviço Papel
Instância principal no n8nGerencia a interface visual, as configurações dos workflows e seus gatilhos
RedisAtua como intermediário da fila de tarefas
Banco de dados do n8nArmazena dados de execução, como logs e resultados
Instâncias worker do n8nPegam tarefas pendentes no Redis e executam os passos da automação

Assim se apresenta o fluxo geral do processo no modo de fila:

Para facilitar o entendimento, dá para comparar esse modelo com outras soluções conhecidas:

  • O Kubernetes funciona de forma parecida, usando um plano de controle para gerenciar pods, enquanto containers individuais executam as cargas de trabalho.
  • Jobs em lote de provedores de nuvem seguem o mesmo princípio, com uma fila de tarefas processada de forma assíncrona por diferentes serviços.
  • Load balancers também operam de maneira semelhante, distribuindo requisições entre várias instâncias idênticas para execução paralela.

No fim das contas, o n8n queue mode é uma forma simples e eficiente de escalar automações. Para rodar mais execuções ao mesmo tempo, basta adicionar mais processos de automação. A fila atua como um balanceador, distribuindo os workflows entre os workers disponíveis.

Pré-requisitos

Para hospedar o n8n queue mode com Redis, o seu VPS precisa atender aos seguintes requisitos mínimos:

  • 1 vCPU (2 vCPUs recomendados)
  • 1 GB de memória RAM (2 GB recomendados)

Você também precisará de:

  • Docker ou Node.js com npm instalados no VPS.
  • Conhecimentos básicos de comandos Linux e uso do terminal.
  • Conforto para editar arquivos de configuração manualmente.

Embora seja possível rodar o n8n queue mode usando o banco SQLite que vem por padrão, a recomendação é instalar o PostgreSQL, como veremos mais adiante neste guia. Ele oferece mais estabilidade e desempenho para cenários com maior volume de execuções.

Tanto o n8n quanto o Redis não exigem muito processamento. Por isso, a memória RAM costuma ser o fator mais importante. Um VPS Hostinger KVM 2 com Ubuntu é uma escolha equilibrada para uma configuração básica de n8n queue mode, comportando tranquilamente:

  • O processo principal do n8n
  • Um cluster Redis
  • Um banco de dados PostgreSQL
  • Três processos worker do n8n

Esse setup é mais do que suficiente para workflows de pequeno a médio porte e ainda deixa uma boa margem para escalar conforme suas automações crescem.

Configurando o n8n queue mode

Neste tutorial, vamos configurar o queue mode em uma única instância VPS KVM 2 rodando Ubuntu 24.04, com o n8n instalado manualmente via Docker. Esse é o método recomendado, pois é o mais simples de implementar e também facilita a escalabilidade conforme suas automações crescem.

1. Prepare um contêiner Redis

O queue mode do n8n depende do Redis como intermediário da fila de tarefas, o que faz dele um componente essencial dessa configuração. Para preparar um container Redis na sua instância do n8n, siga os passos abaixo.

  1. Faça login no hPanel.
  2. Vá até VPS e clique em Gerenciar na sua instância.
  1. Clique em Configurações → Terminal do navegador.
  1. Crie um diretório onde o Redis armazenará os dados persistentes:
mkdir -p ~/redis-data
  1. Crie um diretório para armazenar os arquivos do seu setup:
mkdir ~/n8n-queue-mode
cd ~/n8n-queue-mode
  1. Crie o arquivo docker-compose.yml:
sudo nano docker-compose.yml
  1. Dentro dele, cole a configuração YAML para um container Redis 6:
version: "3.7"
services:
  redis:
    image: redis:6
    container_name: redis
    restart: always
    volumes:
      - ~/redis-data:/data
  1. Salve as alterações pressionando Ctrl + X → Y → Enter.

Com o Redis preparado e pronto para uso, você pode adicionar configurações extras, como definir uma senha. Para isso, siga os passos descritos em um guia de instalação do Redis.

Como estamos usando um container, será necessário criar um arquivo redis.conf personalizado, salvar as configurações nele e montá-lo como volume junto com um comando customizado.

Por exemplo, se você adicionou o arquivo redis.conf no diretório ~/redis-conf, você precisaria adicionar as seguintes linhas ao seu arquivo docker-compose.yml,:

volumes:
  - ~/redis-conf/redis.conf:/usr/local/etc/redis/redis.conf
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]

2. Configure as variáveis de ambiente

Agora que o Redis está pronto, é hora de configurar as variáveis necessárias para ativar o queue mode. Neste cenário, consideramos que você já tem uma instância do n8n configurada com NGINX e que agora vai migrá-la para um ambiente baseado em containers.

Estas são as variáveis principais que você precisa definir:

VariávelFinalidade
EXECUTIONS_MODE=queueDefine o método de execução como queue mode
QUEUE_BULL_REDIS_HOST=redisHost do Redis. Como estamos usando Redis em container, o valor será redis
QUEUE_BULL_REDIS_PORT=6379Porta em que o Redis está escutando (6379 por padrão)
N8N_RUNNERS_ENABLED=trueAtiva os task runners
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=trueGarante que execuções manuais também sejam enviadas aos workers

Outras variáveis importantes incluem:

VariávelFinalidade
QUEUE_HEALTH_CHECK_ACTIVE=trueAdiciona um health check interno para monitorar a conexão com o Redis
QUEUE_BULL_REDIS_PASSWORDNecessária se você configurou uma senha no Redis

Agora que você já sabe quais são as configurações necessárias, vamos configurá-las.

  1. Volte ao seu diretório de trabalho:
cd ~/n8n-queue-mode
  1. Crie um arquivo .env para armazenar as variáveis (o nome pode ser alterado, se preferir):
sudo nano .env

Insira os seguintes valores no arquivo:

N8N_LOG_LEVEL=debug
N8N_LOG_OUTPUT=console

N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=<your_username>
N8N_BASIC_AUTH_PASSWORD=<your_password>

N8N_HOST=srv721674.hstgr.cloud
N8N_PORT=5678
N8N_PROTOCOL=https
WEBHOOK_URL=https://srv721674.hstgr.cloud/
GENERIC_TIMEZONE=UTC

N8N_EXPRESS_TRUST_PROXY=true
N8N_SECURE_COOKIE=true

EXECUTIONS_MODE=queue
QUEUE_BULL_REDIS_HOST=redis
QUEUE_BULL_REDIS_PORT=6379
N8N_RUNNERS_ENABLED=true
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true

Se você já tiver um arquivo de ambiente configurado, basta adicionar apenas as linhas relacionadas ao queue mode.

Dica

As configurações de log não são obrigatórias, mas ajudam bastante a acompanhar o status dos containers e a identificar problemas durante a configuração ou operação do queue mode.

  1. Salve as alterações pressionando Ctrl + X → Y → Enter.

3. Faça o deploy do processo principal do n8n

Até aqui, você já definiu as variáveis de ambiente necessárias para o queue mode funcionar. Agora, vamos criar o container do n8n responsável pelo processo principal.

  1. Abra o arquivo docker-compose.yml executando:
sudo nano docker-compose.yml
  1. Abaixo de services, adicione o seguinte bloco:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    restart: always
    env_file:
      - .env
    ports:
      - "5678:5678"
    volumes:
      - ~/.n8n:/home/node/.n8n
    depends_on:
      - redis
  1. Salve as alterações pressionando Ctrl + X → Y → Enter.

Seu arquivo docker-compose.yml deve ficar mais ou menos assim:

Neste ponto, você pode executar seu processo n8n executando o seguinte comando:

docker compose up -d

Depois disso, você já deve conseguir acessar sua instância normalmente e ver a interface como de costume. Para testar, rode um workflow simples que faça uma requisição web para o Google.

Mesmo com o queue mode ativado e o processo principal configurado para orquestrar uma fila, esse teste deve funcionar. Isso acontece por um motivo: o n8n tem um mecanismo de segurança. Se não houver workers disponíveis para executar as tarefas, a instância principal assume a execução em vez de enviar tudo para o Redis.

Ou seja: neste ponto, você ainda não está usando o queue mode de fato. Para isso, o próximo passo é criar e subir os workers.

4. Faça o deploy do banco de dados PostgreSQL

Com o processo principal já configurado, o próximo passo é definir o banco PostgreSQL. Ele é opcional, mas recomendado para uso em produção, já que o SQLite não foi feito para lidar bem com volumes maiores de execução. A boa notícia é que subir um Postgres via Docker é bem rápido.

  1. Abra o arquivo docker-compose.yml,:
sudo nano docker-compose.yml
  1. Adicione o conteúdo abaixo no final do arquivo:
  postgres:
    image: postgres:15
    container_name: n8n-postgres
    restart: always
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: <sua_senha>
      POSTGRES_DB: n8ndb
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:
  1. Salve com Ctrl + X → Y → Enter.
  2. Abra o arquivo.env:
sudo nano.env
  1. Adicione as configurações do Postgres:
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=postgres
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8ndb
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=<sua_senha>
  1. Salve com Ctrl + X → Y → Enter.

Em seguida, suba os containers novamente:

docker compose up -d

Para conferir se o banco PostgreSQL está funcionando, rode:

docker exec -it n8n-postgres psql -U n8n -d n8ndb
\dt

Opcionalmente, você pode agora excluir o SQLite:

rm ~/.n8n/database.sqlite
rm ~/.n8n/*.sqlite*

Importante! Se a variável da chave de criptografia não estiver definida na sua instância principal, o n8n pode gerar uma chave nova ao recriar arquivos de configuração. Para evitar isso (e não correr o risco de perder o acesso a credenciais já salvas), defina N8N_ENCRYPTION_KEY no(s) arquivo(s) de ambiente usados pelos containers, garantindo consistência e estabilidade.

5. Inicie os processos worker

Quando o n8n entra no queue mode, ele depende de processos worker dedicados para buscar tarefas no Redis e executá-las. Vamos configurar o primeiro worker.

  1. Primeiro, você precisa obter a chave de criptografia usada pelo n8n. Você pode definir essa chave manualmente ao criar a instância, mas, se não fizer isso, o próprio n8n gera uma automaticamente. Rode:
cat ~/.n8n/config

Copie o valor de encryptionKey – você vai usá-lo nas variáveis de ambiente dos workers.

  1. Crie um arquivo de ambiente separado para os workers. Dá para usar um único arquivo para tudo, mas separar em um arquivo para o processo principal e outro para os workers costuma ser mais fácil de manter:
sudo nano.env.worker
  1. Insira os seguintes detalhes de configuração:
N8N_LOG_LEVEL=debug
N8N_LOG_OUTPUT=console

EXECUTIONS_MODE=queue
N8N_RUNNERS_ENABLED=true
OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true
N8N_ENCRYPTION_KEY=<your_encryption_key>

QUEUE_BULL_REDIS_HOST=redis
QUEUE_BULL_REDIS_PORT=6379

DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=postgres
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8ndb
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=<your_password>
  1. Salve com Ctrl + X → Y → Enter.
  2. Abra o arquivo docker-compose.yml,:
sudo nano docker-compose.yml
  1. Adicione este serviço logo abaixo do serviço PostgreSQL:
  n8n-worker:
    image: n8nio/n8n
    restart: always
    command: worker
    env_file:
      - .env.worker
    depends_on:
      - redis
      - postgres
  1. Salve com Ctrl + X → Y → Enter.
  2. Suba o worker:
docker compose up -d n8n-worker

Importante! Se o valor de N8N_ENCRYPTION_KEY não estiver definido para a instância principal, o n8n pode gerar uma chave nova ao recriar arquivos de configuração. Para evitar inconsistências (e possíveis problemas com credenciais salvas), defina N8N_ENCRYPTION_KEY tanto no arquivo .env quanto no .env.worker.

Para rodar mais workers, use o parâmetro scale:

docker compose up -d --scale n8n-worker=3

6. Teste o setup

Para testar se o modo de fila n8n está funcionando, execute alguns workflows de teste ou ative um workflow com agendamento. Neste exemplo, usamos um workflow simples configurado para rodar a cada 10 segundos.

Depois de alguns minutos, volte ao terminal e verifique os logs dos workers:

docker logs <nome-do-worker> -f

Você deverá ver algo parecido com isto:

Os principais pontos a serem observados são registros como “Worker started execution <number>”, que indicam que o n8n está obtendo tarefas do broker de mensagens com sucesso.

E pronto! Você configurou com sucesso o modo de fila n8n e ele agora está pronto para lidar com suas cargas de trabalho.

7. Monitore e dimensione

Manter o queue mode bem ajustado é essencial para garantir desempenho e estabilidade ao longo do tempo. Alguns pontos importantes para acompanhar no dia a dia:

  • Monitore o uso de CPU e memória pelo hPanel ou usando o comando htop no terminal.
  • Use o comando docker stats para acompanhar o desempenho de cada container individualmente.
  • Acompanhe o Redis com comandos como info memory e info stats via redis-cli.

Se você notar que algum container está no limite ou apresentando lentidão, é hora de escalar. Você pode fazer isso executando o comando `docker compose up -d –scale service=numero`.

Considerando a capacidade de hardware oferecida pelo VPS da Hostinger para n8n, rodar de 2 a 3 workers costuma ser um ponto de partida seguro. Dependendo do volume e da complexidade das automações, também é possível operar com 5 ou mais workers sem problemas.

Caso você comece a enfrentar limitações de infraestrutura, algumas alternativas a considerar são:

  • Mover o Redis e o PostgreSQL para um VPS separado e dedicado.
  • Implementar um orquestrador como o Kubernetes para escalar os workers do n8n de forma automática, com base na carga, em vez de fazer isso manualmente.
  • Fazer upgrade da infraestrutura para acompanhar o crescimento das suas automações.

Conclusão

Rodar o n8n em queue mode libera um novo nível de escalabilidade, estabilidade e controle sobre a execução dos workflows. Ao separar o agendamento das tarefas da execução em si e delegar o processamento para workers dedicados, você reduz bastante o risco de gargalos de desempenho.

Com este guia, você configurou o queue mode, subiu os workers e aprendeu como monitorar e escalar o sistema em um VPS da Hostinger. À medida que suas automações crescerem, será possível escalar horizontalmente adicionando mais workers ou até separar Redis e PostgreSQL em servidores dedicados.

Quer levar suas automações ainda mais longe? Invista em um sistema de monitoramento mais robusto, implemente soluções de orquestração mais avançadas e explore todo o potencial do n8n.

Perguntas frequentes sobre n8n queue mode

O que é queue mode no n8n?

O queue mode é uma configuração do n8n que separa o disparo dos workflows da execução propriamente dita usando uma fila de tarefas, normalmente baseada em Redis. Nesse modelo, a instância principal apenas envia as execuções para a fila, enquanto processos worker dedicados buscam e executam os jobs de forma assíncrona. Essa separação aumenta a escalabilidade e a estabilidade em ambientes distribuídos ou com alta carga.

Como ativar o queue mode no n8n?

Para ativar o queue mode, defina a variável de ambiente EXECUTIONS_MODE como queue nos arquivos de configuração da instância principal e dos workers. Também é necessário configurar o Redis para a fila e, opcionalmente, ativar variáveis como OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS e QUEUE_HEALTH_CHECK_ACTIVE.

Quais são os benefícios de usar queue mode no n8n?

O queue mode oferece melhor escalabilidade e uso mais eficiente dos recursos. Ao transferir a execução dos workflows para workers dedicados, o processo principal deixa de ser um ponto único de gargalo. Isso melhora o tratamento de erros, permite processamento assíncrono e resulta em um sistema mais rápido e estável, especialmente em cenários com alta demanda.

Semua konten tutorial di website ini telah melalui peninjauan menyeluruh sesuai padrões editoriais e valores da Hostinger.

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia e Especialista em Marketing de Conteúdo na Hostinger, onde atuo na criação e otimização de artigos úteis, envolventes e criativos em áreas como desenvolvimento web e, marketing. Além disso, sou colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, fascinado por arte, culinária e tecnologia.

O que dizem nossos clientes

Deixe uma resposta

Por gentileza, preencha os campos solicitados.Marque o campo de aceitação da privacidade.Preencha os campos necessários e marque a opção de aceitar termos de privacidade.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.