Poupe 15% em todos os serviços de alojamento

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código: Skills Começar a trabalhar
Secções
Linux

Tutorial de Automação N8N para Ubuntu – Do Zero ao Fluxo

Palavras-chave

TermoDefinição Rápida
🚀 N8NUma plataforma de automação de fluxo de trabalho visual baseada em nós para conectar vários serviços externos.
🐳 DockerUma ferramenta de containerização que permite implantação e gerenciamento consistentes e isolados de aplicações.
🐘 PostgreSQLUm banco de dados relacional robusto que funciona como armazenamento de dados primário e persistente para N8N.
🧩 NodeUm bloco funcional único dentro de N8N (por exemplo, um gatilho de dados ou ação de API) que executa uma tarefa específica.
🔄 WorkflowUm processo automatizado configurado construído pela ligação de múltiplos nós para lidar com sequências de tarefas.
💾 Docker VolumeUm mecanismo de armazenamento designado no Docker usado para salvar persistentemente dados do sistema fora dos containers.
🔐 Environment VariableValores de configuração seguros (mantidos em um arquivo .env) injetados com segurança em containers Docker.

Por que a automação é importante

Automation

As equipes modernas não “executam um aplicativo” — elas operam uma cadeia de ferramentas SaaS, serviços internos, armazenamentos de dados e sistemas de chat/alertas. O custo dessa complexidade aparece de formas previsíveis:

  • Transferências manuais e trabalho repetitivo (copiar/colar entre sistemas)
  • Loops de resposta lentos (aprovações, roteamento de tickets, notificações de incidentes)
  • Resultados inconsistentes (erro humano, etapas perdidas, atualizações parciais)
  • Integrações frágeis (scripts pontuais sem visibilidade ou propriedade)

A automação é uma das formas de maior impacto para reduzir esse atrito. Até mesmo pequenos fluxos de trabalho — sincronização de dados, validação de payloads, postagem de notificações, atualização de registros — podem se acumular em ganhos significativos: tempo de ciclo mais rápido, menos erros e operações mais consistentes. Importante: “automação” não é apenas sobre reduzir esforço; é também sobre tornar os processos observáveis e repetíveis.

Este relatório aborda a automação como infraestrutura de produção: implante-a de forma limpa, controle a configuração, mantenha os dados persistentes e verifique o comportamento com um fluxo de trabalho de teste determinístico.

O que é N8N (e por que pode se tornar seu melhor amigo)

N8N

N8N é uma plataforma de automação de fluxo de trabalho que permite conectar serviços usando um editor baseado em nós. Você constrói fluxos de trabalho a partir de “nós” (gatilhos, transformações de dados, chamadas de API, operações de banco de dados, notificações), depois os executa manualmente, em um cronograma ou via webhooks.

O que torna o n8n especialmente útil em um contexto de implantação Linux:

  • Auto-hospedável: você pode executá-lo em sua própria infraestrutura para controlar dados e rede.
  • Integrações extensíveis: muitos nós integrados, além de nós HTTP genéricos para qualquer coisa com uma API.
  • Operacionalmente amigável: funciona bem em contêineres, pode usar Postgres para persistência e suporta configuração orientada por ambiente.
  • Bom para adoção incremental: comece com fluxos de trabalho simples, depois reforce o acesso (proxy reverso + HTTPS) e práticas operacionais conforme o uso cresce.

Nesta avaliação, o n8n é tratado como um serviço que você pode realmente executar: as escolhas de implantação e configuração são documentadas com tendência para clareza, reprodutibilidade e “endurecimento futuro” (sem over-engineering da configuração inicial).

Auto-hospede sua própria instância N8N

Pronto para tentar? A configuração requer alguns passos técnicos, mas não se preocupe — siga este guia e você terá sua primeira instância N8N funcionando em pouco tempo.

Este tutorial usa Ubuntu 22.04, executado em um VPS fornecido pela AlexHost.

Configuração do Docker

Existem várias maneiras de configurar o n8n. Para este tutorial, usamos Docker porque fornece uma abordagem clara e confiável para gerenciar e configurar o n8n.

Primeiro, certifique-se de que docker e docker compose estão instalados no seu sistema.

# Check for docker
docker -v

# Check for docker compose
docker compose

Se isso retornar uma versão, você está pronto.

Se você não o tiver instalado, basta seguir esta página para obter instruções: guia de instalação. Certifique-se de selecionar o SO correto que você está usando.

Estrutura do projeto

Organizar arquivos adequadamente é essencial para clareza e manutenibilidade de longo prazo. Por convenção, os serviços Docker são normalmente colocados no diretório /opt. Dentro dele, uma pasta docker_services foi criada para armazenar todos os serviços, incluindo N8N.

# Create all the needed folders
sudo mkdir -p /opt/docker_services/n8n

# Navigate to n8n folder
cd /opt/docker_services/n8n

Adicionando o arquivo docker compose

Para iniciar nossa instância n8n e seu banco de dados de backend, usaremos um arquivo compose.yaml. Estamos escolhendo PostgreSQL em vez do SQLite padrão, pois fornece um armazenamento de dados muito mais robusto e pronto para produção para configuração e logs de execução.

Crie o arquivo usando um editor de texto como nano:

nano compose.yaml

Cole a seguinte configuração no arquivo:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    env_file:
      - .env
    volumes:
      - ./data:/home/node/.n8n
      - ./files:/files
    depends_on:
      - postgres

  postgres:
    image: postgres:15
    restart: always
    env_file:
      - .env
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

Entendendo a configuração:

ComponenteDescrição
ServiçosExecuta dois contêineres: n8n (o aplicativo principal) e postgres:15. O uso do Postgres é muito preferido em relação ao SQLite padrão. n8n depende nativamente dele para iniciar primeiro.
Política de ReinicializaçãoUsa restart: always para que os contêineres sejam reiniciados automaticamente na inicialização do sistema ou se falharem.
PortasExpõe a porta 5678 para que você possa acessar a interface web do n8n.
AmbienteAmbos os serviços carregam a configuração de um arquivo .env compartilhado para lidar com segurança variáveis como credenciais de DB.
VolumesVincula diretórios do host local a caminhos de contêiner para manter os dados persistentes:
./data → configurações n8n (/home/node/.n8n)
./files → armazenamento de arquivos (/files)
./postgres-data → Banco de dados (/var/lib/postgresql/data)

Antes de iniciar os contêineres, você precisa criar explicitamente os diretórios necessários para que estejam prontos para serem mapeados:

# Use your own path if different
cd /opt/docker_services/n8n

mkdir data files postgres-data

Propriedade do diretório e permissões

Por padrão, quando o Docker cria automaticamente diretórios do host para seus volumes (como nossas pastas data e files), ele atribui propriedade ao usuário root. No entanto, por razões de segurança, o contêiner n8n intencionalmente remove privilégios e é executado como um usuário não-root (especificamente, UID 1000).

Se essas pastas permanecerem de propriedade do root, o n8n não conseguirá salvar sua configuração ou arquivos de banco de dados, causando a falha do contêiner na inicialização com um erro ‘permissão negada’. Para evitar esse atrito, concedemos explicitamente a propriedade desses diretórios ao usuário correto antes de iniciar o serviço.

# Set ownership of the volume directories to UID/GID 1000
sudo chown -R 1000:1000 data files

Adicionando o arquivo .env

Docker usa o arquivo .env para passar configurações do sistema e segredos em nossos contêineres sem codificá-los em nosso compose.yaml.

Crie o arquivo no mesmo diretório:

nano .env

Cole a seguinte configuração (certifique-se de substituir example.com e a senha do banco de dados pelos seus próprios valores seguros):

# n8n Settings
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Chisinau
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
N8N_SECURE_COOKIE=false
NODE_ENV=production


# PostgreSQL
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=changeme123

Entendendo as variáveis de ambiente:

VariávelDescrição
Domínio e HostDefine DOMAIN_NAME, SUBDOMAIN e N8N_HOST. Estes são essenciais para mapear a aplicação n8n para uma URL específica (como n8n.example.com), permitindo acesso externo via DNS.
Fuso HorárioGENERIC_TIMEZONE define o fuso horário especificamente para o processo da aplicação Node.js para que o agendamento e os timestamps dos logs sejam precisos para sua região.
Protocolos e WebhookN8N_PROTOCOL e WEBHOOK_URL configuram como o n8n interage com o mundo externo. Isso é crucial se você está integrando serviços que requerem uma URL de retorno de chamada.
Cookie SeguroN8N_SECURE_COOKIE é definido como false porque estamos executando sem um proxy reverso HTTPS localmente por padrão. Se você configurar SSL/HTTPS posteriormente via proxy externo, pode deletar esta linha para que o padrão seja true.
Ambiente do NodeNODE_ENV deve ser estritamente definido como production. Isso otimiza o servidor Node.js subjacente para desempenho em vez de depuração, independentemente dos estágios de implantação reais.
Credenciais do Banco de DadosPOSTGRES_DB, USER e PASSWORD são usados na inicialização inicial para criar o banco de dados PostgreSQL e autenticar conexões subsequentes. Sempre use senhas personalizadas fortes aqui.

Salve e feche o arquivo. Agora você tem toda a configuração necessária para executar sua pilha Docker Compose.

Iniciando serviços docker

Navegue até seu diretório de projeto e coloque todos os serviços em funcionamento em segundo plano.

# Use your own path if different
cd /opt/docker_services/n8n

docker compose up -d

Docker puxa as imagens necessárias e inicia seus contêineres. Uma vez em execução, o n8n estará disponível na porta 5678 (padrão), ou no seu domínio configurado se estiver usando um proxy reverso.

Para confirmar que está funcionando corretamente, verifique se os contêineres n8n e postgres estão listados e em execução.

docker ps

Trabalhando com N8N

Uma vez que os serviços estão funcionando com sucesso, finalmente é hora emocionante de começar a explorar N8N!

Acessar N8N

N8N pode ser acessado através de um navegador web. Nesta configuração local, está disponível na seguinte URL: http://localhost:5678.

No primeiro acesso, aparece uma página de login com campos comuns para preencher.

Login page

Configurar a chave de licença

Inicialmente, N8N exibe uma janela oferecendo uma chave de licença gratuita que desbloqueia recursos pagos. Sim, você ouviu certo: recursos pagos gratuitamente! Este é um dos benefícios de executar uma instância N8N auto-hospedada.

License key

Depois de receber a chave de licença em seu email, você pode navegar para Configurações->Uso e Plano para ativá-la.

License key activate

Criando primeiro fluxo de trabalho

Novos fluxos de trabalho podem ser criados diretamente a partir da página principal. Veja a imagem abaixo.

Create wf

Para o primeiro caso de uso de execução, dois nós serão usados:

  • Manual Trigger: inicia o fluxo de trabalho manualmente.
  • Set Node: define e trabalha com campos e seus valores.

O nó Manual Trigger não requer configuração, enquanto o nó Set requer. No nosso caso, o objetivo é gerar uma mensagem dizendo ‘n8n works’ junto com o timestamp do evento. O nó Set é, portanto, configurado conforme mostrado na imagem abaixo.

Set node

Uma vez que os dois nós estão conectados e configurados, iniciamos o fluxo de trabalho pressionando o botão Execute workflow.

Success 1
Success 2

Parabéns 👏, seu primeiro fluxo de trabalho N8N foi executado com sucesso!

E agora?

Esta configuração inicial é apenas o começo. O verdadeiro poder do N8N desbloqueia-se quando você começa a conectar suas ferramentas diárias para automatizar tarefas repetitivas e reduzir atritos. Por exemplo, você pode criar fluxos de trabalho para sincronizar automaticamente novos leads do seu website em um CRM, encaminhar alertas urgentes e erros críticos de serviço para um chat de equipa, ou fazer backup periódico de dados de várias plataformas SaaS para sua base de dados. As possibilidades para automatizar suas operações e simplificar sua carga de trabalho diária são quase infinitas.

Conclusão

Ao completar este guia, você implantou com sucesso uma plataforma poderosa e auto-hospedada capaz de transformar como você gerencia operações diárias. Obrigado por acompanhar esta configuração! Conforme você continua a explorar o que N8N pode fazer, certifique-se de verificar nossos outros tutoriais para descobrir ainda mais ferramentas incríveis e úteis. Quando estiver pronto para dimensionar ou mergulhar em novos projetos emocionantes, lembre-se de que AlexHost fornece toda a infraestrutura robusta que você precisa para hospedar seus serviços de forma confiável.