N8N na Nuvem: Implante Automação com Docker em VPS Linux

9 min 139 N8n
Resumir com:
ChatGPT Claude Gemini Perplexity Grok
Compartilhar:
WhatsApp LinkedIn X

Se este conteúdo faz parte do seu projeto

Escolha a VPS pelo uso, não pelo excesso

Para automações em produção, comece no Performance: 6 vCPU e 12 GB de RAM dão margem para banco, filas e múltiplos workflows.

PlanoRecursosMensalPerfil
Basic4 vCPU · 4 GB RAM · 100 GB NVMeR$ 99Site e projeto pequeno
Performance6 vCPU · 12 GB RAM · 150 GB NVMeR$ 169Produção e múltiplos serviços
Ultra8 vCPU · 20 GB RAM · 200 GB NVMeR$ 269Cargas maiores e mais margem
Prova técnica: no benchmark publicado da VM Performance, medimos 1.855 ev/s em 6 threads, 288 ev/s em 1 thread, 11.858 MiB/s de memória e 338 MB/s de escrita sequencial, com teste direto na VM e sem Cloudflare.
Escolher Performance Falar no WhatsApp

Valores mensais exibidos para referência. A renovação segue o ciclo e o preço vigente informado no checkout antes da contratação.

Implantando N8N Self-Hosted em VPS Linux com Docker Compose

Implantar o N8N self-hosted em um VPS Linux é a solução ideal para quem busca controle total sobre sua automação de workflows e integração de sistemas. Este guia foca na instalação utilizando Docker e Docker Compose, a abordagem mais recomendada para garantir flexibilidade e escalabilidade. O N8N, uma poderosa ferramenta de automação low-code, permite conectar APIs, serviços web e bancos de dados para criar fluxos de trabalho complexos e eficientes. Para começar, você precisará de um VPS com sistema operacional Linux, preferencialmente Ubuntu 22.04 LTS, com no mínimo 2GB de RAM e 2 vCPUs para operações em produção com PostgreSQL e Redis.

Por que hospedar N8N em um VPS?

Hospedar o N8N em seu próprio VPS oferece uma série de vantagens cruciais. A principal delas é o controle total sobre seus dados e a privacidade dos seus workflows, o que é fundamental para muitas empresas. Além disso, você tem a liberdade de personalizar o ambiente, instalar bibliotecas adicionais e integrar-se com sistemas internos que não podem ser expostos publicamente. Na minha experiência, muitos clientes optam por essa abordagem para garantir que seus dados sensíveis permaneçam dentro de sua própria infraestrutura, cumprindo regulamentações específicas.

Requisitos de Servidor para N8N em Produção

Quais são os requisitos mínimos para rodar o N8N de forma eficaz? Para um ambiente de produção estável e capaz de lidar com múltiplos workflows concorrentes e dados persistentes, o N8N requer um servidor robusto. Recomendo um mínimo de 2GB de RAM e 2 vCPUs, especialmente se você planeja usar PostgreSQL como banco de dados persistente e Redis para cache/filas de tarefas. O uso do Docker adiciona uma pequena sobrecarga, mas a modularidade compensa. Para armazenamento, 20GB de disco SSD são suficientes para o sistema operacional e os dados iniciais do N8N e do banco de dados.

Configurando o Ambiente Linux e Instalando Docker

Antes de instalar o N8N, é essencial preparar seu VPS Linux. Este passo a passo assume que você já possui acesso SSH ao seu servidor Ubuntu. Se você ainda não tem um VPS configurado, considere adquirir um VPS Brasil Starter da Host You Secure, que atende perfeitamente aos requisitos mínimos para esta configuração.

Atualizando o Sistema e Instalando Dependências

Manter o sistema operacional atualizado é crucial para a segurança e estabilidade. O Docker e o Docker Compose dependem de alguns pacotes que precisam ser instalados. Conecte-se ao seu VPS via SSH e execute os seguintes comandos:

sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

Instalando Docker Engine e Docker Compose

A instalação do Docker Engine e do Docker Compose é o próximo passo. O Docker Engine permite executar contêineres, enquanto o Docker Compose facilita a orquestração de múltiplos contêineres (N8N, PostgreSQL, Redis) como um único serviço. O processo é direto:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
newgrp docker

sudo apt install -y docker-compose-plugin # Para Docker Compose v2

Após a instalação, verifique se o Docker está funcionando corretamente executando docker run hello-world. A saída esperada é uma mensagem de sucesso, indicando que o Docker está ativo e configurado.

Passo a Passo: Deploy do N8N com Docker Compose

Com o Docker e Docker Compose instalados, podemos prosseguir para a implantação do N8N. Este processo envolve a criação de um arquivo docker-compose.yml e um arquivo .env para configurar as variáveis de ambiente.

Criando o Diretório e Arquivos de Configuração

Crie um diretório para o N8N e navegue até ele. Dentro desse diretório, criaremos o arquivo docker-compose.yml e o .env. É crucial definir uma senha forte para o banco de dados e para a chave de criptografia do N8N.

mkdir n8n && cd n8n
nano docker-compose.yml

Cole o seguinte conteúdo no arquivo docker-compose.yml:

version: '3.8'

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=${N8N_HOST}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://${N8N_HOST}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
      - DB_POSTGRESDB_USER=${POSTGRES_USER}
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    volumes:
      - ./n8n_data:/home/node/.n8n
    depends_on:
      - postgres
      - redis

  postgres:
    image: postgres:15
    restart: always
    environment:
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    volumes:
      - ./postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:7
    restart: always
    volumes:
      - ./redis_data:/data

Agora, crie o arquivo .env com suas variáveis de ambiente. Lembre-se de substituir os valores entre <> por informações reais e seguras:

nano .env

Cole o seguinte conteúdo no arquivo .env:

N8N_HOST=<seu_dominio.com.br>
GENERIC_TIMEZONE=America/Sao_Paulo

POSTGRES_DB=<n8n_database>
POSTGRES_USER=<n8n_user>
POSTGRES_PASSWORD=<sua_senha_segura_do_banco>

N8N_ENCRYPTION_KEY=<sua_chave_de_criptografia_segura> # Deve ser uma string longa e aleatória

Dica de insider: Para a N8N_ENCRYPTION_KEY, use um gerador de senhas aleatórias para criar uma string com pelo menos 32 caracteres, incluindo letras maiúsculas, minúsculas, números e símbolos. Isso garante a segurança dos seus dados sensíveis armazenados no N8N. Uma chave fraca pode comprometer todo o sistema.

Iniciando os Serviços e Configurando o Proxy Reverso

Com os arquivos configurados, inicie os serviços Docker Compose. Isso baixará as imagens e iniciará os contêineres do N8N, PostgreSQL e Redis.

docker compose up -d

Aguarde alguns minutos para que todos os serviços subam completamente. Você pode verificar o status dos contêineres com docker compose ps. O N8N estará acessível na porta 5678 do seu VPS. No entanto, para acesso seguro e com domínio personalizado, é fundamental configurar um proxy reverso, como Nginx, e SSL/TLS com Let's Encrypt. Se você ainda não tem um proxy reverso configurado, este guia pode te ajudar com a configuração básica.

Otimizando e Monitorando seu N8N em Produção

Após a implantação, algumas práticas são essenciais para garantir o bom funcionamento e a performance do seu N8N.

Considerações de Performance e Escalabilidade

Para workflows complexos ou de alta demanda, o N8N pode consumir mais recursos. Monitore o uso de CPU e RAM do seu VPS. Se você notar lentidão ou falhas nos workflows, considere aumentar os recursos do seu VPS. Um dos erros comuns é subestimar o poder de processamento necessário para automações que rodam em paralelo ou processam grandes volumes de dados. O Redis, configurado no docker-compose.yml, já ajuda a gerenciar as filas de execução, mas o gargalo pode estar na CPU ou na RAM disponível para o processo principal do N8N.

Backup e Manutenção

Implementar uma rotina de backup é vital. Como todos os dados do N8N (workflows, credenciais, execuções) estão armazenados no volume ./n8n_data e os dados do PostgreSQL em ./postgres_data, basta fazer backup desses diretórios regularmente. Você pode usar ferramentas como rsync ou tar para copiar esses volumes para um armazenamento remoto. Por exemplo, um simples script cron pode compactar e enviar esses diretórios para um bucket S3 ou outro servidor de backup. Para mais informações sobre práticas de backup em VPS, consulte nosso blog.

Erros Comuns na Implantação e Como Evitá-los

A implantação de qualquer sistema pode apresentar desafios. Conhecer os erros mais comuns ajuda a evitá-los ou resolvê-los rapidamente.

Configuração Incorreta de Variáveis de Ambiente

Um erro frequente é a configuração incorreta das variáveis no arquivo .env, especialmente N8N_HOST, WEBHOOK_URL, e as credenciais do banco de dados. Se o N8N não conseguir conectar ao PostgreSQL, ele não inicializará corretamente. Verifique os logs dos contêineres com docker compose logs n8n e docker compose logs postgres para identificar problemas de conexão ou credenciais.

Problemas de Permissão e Volume Docker

Outro problema comum são as permissões dos diretórios de volume. Se o usuário Docker não tiver permissão para gravar nos diretórios n8n_data, postgres_data ou redis_data, os contêineres podem falhar ao iniciar ou persistir dados. Certifique-se de que o usuário que executa o docker compose up -d tenha as permissões corretas (geralmente, o próprio Docker gerencia isso, mas em alguns casos, pode ser necessário ajustar com sudo chown -R 1000:1000 n8n_data, por exemplo, dependendo do UID do usuário dentro do contêiner).

Portas Bloqueadas ou Conflitos

Certifique-se de que a porta 5678 (ou a porta que você mapeou para o N8N) não esteja sendo usada por outro serviço no seu VPS e que as regras de firewall (UFW, Security Groups) permitam o tráfego para essa porta. O N8N precisa se comunicar com o PostgreSQL na porta 5432 e com o Redis na porta 6379, mas essas portas são internas à rede Docker e não precisam ser expostas publicamente.

N8N Self-Hosted vs. Serviços Gerenciados (Zapier/Make)

Característica N8N Self-Hosted Serviços Gerenciados (Zapier/Make)
Controle de Dados Total (seus servidores) Parcial (servidores de terceiros)
Custo Custo do VPS + tempo de configuração Assinatura mensal/anual (baseado em tarefas)
Customização Alta (acesso ao código, ambiente) Limitada (apenas via interface)
Privacidade Alta (dados em sua infraestrutura) Depende da política do provedor
Escalabilidade Você controla os recursos do VPS Escalado pelo provedor do serviço
Manutenção Sua responsabilidade Responsabilidade do provedor

Perguntas Relacionadas

Posso usar SQLite em vez de PostgreSQL para o N8N?

Sim, o N8N suporta SQLite por padrão e você pode usá-lo para instalações simples ou testes. No entanto, para ambientes de produção, especialmente com muitos workflows, usuários ou execuções, o PostgreSQL é fortemente recomendado. Ele oferece melhor desempenho, escalabilidade e robustez para lidar com a carga de trabalho de um sistema de automação.

Como atualizar o N8N em meu VPS?

Para atualizar o N8N quando ele está rodando com Docker Compose, basta parar os serviços, puxar a nova imagem e iniciá-los novamente. Os comandos são: docker compose down, docker compose pull n8n, e depois docker compose up -d. Sempre faça um backup dos seus dados antes de realizar uma atualização para garantir a segurança.

O N8N oferece recursos de multi-tenant?

Sim, o N8N possui um modo de multi-tenant que permite isolar usuários e seus workflows em diferentes espaços de trabalho. Isso é útil para agências ou empresas que precisam gerenciar automações para diferentes clientes ou departamentos, mantendo a segregação de dados e acessos. A configuração do multi-tenancy geralmente envolve variáveis de ambiente específicas e pode exigir um planejamento mais detalhado da arquitetura.

Conclusão

Implantar o N8N em um VPS Linux utilizando Docker e Docker Compose é uma estratégia eficaz para centralizar e automatizar seus processos de integração. Com este guia, você tem o conhecimento necessário para configurar um ambiente robusto e seguro, garantindo que seus workflows operem de forma autônoma e eficiente. A flexibilidade do Docker permite que você gerencie facilmente o N8N, PostgreSQL e Redis, adaptando-se às suas necessidades específicas de automação. A Host You Secure está aqui para te ajudar a dar o próximo passo na sua jornada de automação.

Para garantir que seu N8N tenha o desempenho e a estabilidade necessários, recomendamos o plano VPS Brasil Starter da Host You Secure. Com 2GB de RAM e 2 vCPUs, ele é perfeitamente adequado para hospedar sua instância de N8N em produção por apenas R$ 49/mês. Esse tutorial foi validado por nós em uma VPS Brasil Starter, garantindo que você terá uma experiência de implantação suave e eficiente. Invista na sua automação hoje mesmo!

Perguntas Frequentes

N8N é uma ferramenta de automação de fluxo de trabalho de código aberto que permite conectar APIs, serviços web e bancos de dados para automatizar tarefas repetitivas. Você deve usá-lo para ganhar controle sobre seus dados, personalizar workflows complexos, integrar sistemas internos e reduzir a dependência de plataformas de automação proprietárias, otimizando a eficiência operacional de sua empresa.

Hospedar o N8N em um VPS oferece controle total sobre sua infraestrutura, garantindo privacidade e segurança dos dados. Permite personalização profunda, integração com sistemas internos e escalabilidade conforme suas necessidades crescem. Além disso, evita custos recorrentes de serviços gerenciados e oferece total autonomia sobre as versões e configurações do software.

Para rodar o N8N em produção com Docker, PostgreSQL e Redis, um VPS com no mínimo 2GB de RAM e 2 vCPUs é recomendado para garantir estabilidade e performance. Para armazenamento, 20GB de disco SSD são adequados para o sistema operacional e os dados iniciais. Projetos maiores ou com muitos workflows ativos podem demandar mais recursos.

Docker e Docker Compose simplificam a implantação ao empacotar o N8N e suas dependências (PostgreSQL, Redis) em contêineres isolados. Isso garante consistência do ambiente, facilidade de setup, escalabilidade e portabilidade. Com um único arquivo `docker-compose.yml`, você define e gerencia todos os serviços necessários, tornando a instalação replicável e rápida.

Não é seguro expor o N8N diretamente à internet sem proteção. É altamente recomendável usar um proxy reverso (como Nginx ou Caddy) com SSL/TLS (Let's Encrypt) para criptografar o tráfego e adicionar uma camada de segurança. Isso protege sua instância N8N contra acessos não autorizados e garante a comunicação segura dos seus workflows.

Para fazer backup dos dados do N8N self-hosted via Docker Compose, você precisa salvar os volumes persistentes. Isso inclui o diretório `./n8n_data` (para dados do N8N) e `./postgres_data` (para o banco de dados PostgreSQL). Recomenda-se parar os contêineres antes do backup para garantir a consistência dos dados e enviá-los para um local de armazenamento externo.

Sim, como o N8N é self-hosted em um VPS da Host You Secure, você pode integrá-lo com qualquer serviço que possua uma API ou permita conexões. Isso inclui serviços de e-mail, bancos de dados, CRM, ERP, e até mesmo outras ferramentas ou APIs hospedadas na mesma infraestrutura, aproveitando a baixa latência e a segurança de rede interna.

N8N é uma alternativa de código aberto e self-hosted a plataformas como Zapier e Make (antigo Integromat). A principal diferença é que com o N8N você tem controle total sobre seus dados e infraestrutura, sem custos baseados no número de tarefas ou conectores, o que pode ser mais econômico em grande escala e oferece maior privacidade. Zapier/Make são soluções SaaS, gerenciadas e mais simples para iniciantes.

Comentários (5)

4.8
★ ★ ★ ★ ★
5 avaliações
Rafael Soares
★★★★★

Essa integração com Google Sheets que você mostrou salvou meu projeto! Agora tenho relatórios em tempo real sem precisar exportar manualmente.

Rodrigo Martins
★★★★★

Configurar a fila com Redis no N8N fez os workflows pesados pararem de travar o container. Tutorial essencial para quem roda em produção!

Amanda Gomes
★★★★★

Parabéns pelo artigo! Como desenvolvedor, achei as explicações sobre webhooks muito úteis. Já implementei 3 automações baseadas nisso.

Thiago Souza
★★★★★

Já usei Zapier e Make, mas o N8N realmente é superior para fluxos complexos. Esse artigo me ajudou a migrar toda a automação da empresa sem downtime.

Ricardo Souza - E-commerce Brasil
★★★★★

Automatizei todo o processo de onboarding da minha empresa usando essas dicas do N8N! Economizamos 20 horas por semana com isso. Muito obrigado pelo tutorial detalhado.