Tutorial de Automação N8N para Ubuntu – Do Zero ao Fluxo
Palavras-chave
| Termo | Definição Rápida |
|---|---|
| 🚀 N8N | Uma plataforma de automação de fluxo de trabalho visual, baseada em nós, para conectar vários serviços externos. |
| 🐳 Docker | Uma ferramenta de containerização que permite a implantação e gerenciamento consistentes e isolados de aplicações. |
| 🐘 PostgreSQL | Um banco de dados relacional robusto que serve como o armazenamento de dados primário e persistente para N8N. |
| 🧩 Node | Um bloco funcional único dentro do N8N (por exemplo, um gatilho de dados ou ação de API) que executa uma tarefa específica. |
| 🔄 Workflow | Um processo automatizado configurado construído ligando múltiplos nós juntos para lidar com sequências de tarefas. |
| 💾 Docker Volume | Um mecanismo de armazenamento designado no Docker usado para salvar persistentemente dados do sistema fora dos containers. |
| 🔐 Environment Variable | Valores de configuração seguros (mantidos em um arquivo .env) injetados com segurança nos containers Docker. |
Por que a automação é importante

Equipes modernas não “executam um aplicativo” — elas operam uma cadeia de ferramentas SaaS, serviços internos, armazenamentos de dados e sistemas de chat/alerta. O custo dessa complexidade aparece de maneiras previsíveis:
- Transferências manuais e trabalho repetido (copiar/colar entre sistemas)
- Laços 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 únicos sem visibilidade ou propriedade)
A automação é uma das maneiras mais eficazes de reduzir essa fricção. Mesmo pequenos fluxos de trabalho — sincronizando dados, validando cargas, postando notificações, atualizando registros — podem se acumular em vitórias significativas: tempo de ciclo mais rápido, menos erros e operações mais consistentes. Importante, “automação” não se trata apenas de cortar esforço; trata-se também de 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 é 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), e 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 controle sobre 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.
- Amigável operacionalmente: funciona bem em containers, 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 endureça o acesso (proxy reverso + HTTPS) e práticas operacionais à medida que 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 um viés em direção à clareza, reprodutibilidade e “endurecimento futuro” (sem superengenharia na configuração inicial).
Auto-hospede sua própria instância N8N
Pronto para experimentar? 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, executando 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 o docker e o docker compose estão instalados em 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 instruções: guia de instalação. Certifique-se de selecionar o sistema operacional correto que você está usando.
Estrutura do projeto
Organizar os arquivos corretamente é essencial para clareza e manutenção a longo prazo. Por convenção, os serviços Docker são normalmente colocados sob o 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 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:
| Componente | Descrição |
|---|---|
| Serviços | Executa dois containers: n8n (o aplicativo principal) e postgres:15. Usar Postgres é fortemente preferido em relação ao SQLite padrão. n8n depende dele para iniciar primeiro. |
| Política de Reinício | Usa restart: always para que os containers reiniciem automaticamente na inicialização do sistema ou se eles falharem. |
| Portas | Expõe a porta 5678 para que você possa acessar a interface web do n8n. |
| Ambiente | Ambos os serviços carregam a configuração de um arquivo .env compartilhado para lidar com variáveis como credenciais do DB de forma segura. |
| Volumes | Vincula diretórios locais do host a caminhos do container para manter os dados persistentes: • ./data → configs do n8n (/home/node/.n8n) • ./files → armazenamento de arquivos (/files) • ./postgres-data → Banco de dados (/var/lib/postgresql/data) |
Antes de iniciar os containers, você precisa criar explicitamente os diretórios necessários para que eles estejam prontos para serem mapeados:
# Use your own path if different cd /opt/docker_services/n8n mkdir data files postgres-data
Propriedade e permissões do diretório
Por padrão, quando o Docker cria automaticamente diretórios do host para seus volumes (como nossas pastas data e files), ele atribui a propriedade ao usuário root. No entanto, por razões de segurança, o container n8n intencionalmente reduz privilégios e é executado como um usuário não-root (especificamente, UID 1000).
Se essas pastas permanecerem sob a propriedade do root, o n8n não conseguirá salvar sua configuração ou arquivos de banco de dados, fazendo com que o container falhe na inicialização com um erro de ‘permissão negada’. Para evitar essa fricção, 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
O Docker usa o arquivo .env para passar configurações do sistema e segredos para nossos containers sem codificá-los diretamente 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 por 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ável | Descrição |
|---|---|
| Domínio & Host | Define DOMAIN_NAME, SUBDOMAIN e N8N_HOST. Estes são essenciais para mapear o aplicativo n8n a uma URL específica (como n8n.example.com), permitindo acesso externo via DNS. |
| Fuso Horário | GENERIC_TIMEZONE define o fuso horário especificamente para o processo do aplicativo Node.js, para que o agendamento e os timestamps dos logs sejam precisos para sua região. |
| Protocolos & Webhook | N8N_PROTOCOL e WEBHOOK_URL configuram como o n8n interage com o mundo exterior. Isso é crucial se você estiver integrando serviços que requerem uma URL de callback. |
| Cookie Seguro | N8N_SECURE_COOKIE é definido como false porque estamos executando sem um proxy reverso HTTPS localmente por padrão. Se você configurar SSL/HTTPS mais tarde via proxy externo, pode excluir esta linha para que o padrão seja verdadeiro. |
| Ambiente do Node | NODE_ENV deve ser estritamente definido como production. Isso otimiza o servidor Node.js subjacente para desempenho em vez de depuração, independentemente das etapas reais de implantação. |
| Credenciais do Banco de Dados | POSTGRES_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 fortes e personalizadas 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 traga todos os serviços para cima em segundo plano.
# Use your own path if different cd /opt/docker_services/n8n docker compose up -d
O Docker puxa as imagens necessárias e inicia seus containers. 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 containers 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 a hora empolgante de começar a explorar o N8N!
Acessar N8N
O 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, uma página de login aparece com campos comuns para preencher.

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

Uma vez que você recebeu a chave de licença em seu e-mail, pode navegar até Configurações->Uso e Plano para ativá-la.

Criando o primeiro fluxo de trabalho
Novos fluxos de trabalho podem ser criados diretamente da página principal. Veja a imagem abaixo.

Para o primeiro caso de uso de execução, dois nós serão usados:
- Gatilho Manual: inicia o fluxo de trabalho manualmente.
- Definir Nó: define e trabalha com campos e seus valores.
O nó Gatilho Manual não requer configuração, enquanto o nó Definir requer. No nosso caso, o objetivo é gerar uma mensagem informando ‘n8n funciona’ juntamente com o timestamp do evento. O nó Definir é, portanto, configurado como mostrado na imagem abaixo.

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


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 se desbloqueia quando você começa a conectar suas ferramentas diárias para automatizar tarefas repetitivas e reduzir a fricção. Por exemplo, você pode criar fluxos de trabalho para sincronizar automaticamente novos leads do seu site em um CRM, direcionar alertas urgentes e erros críticos de serviço para um chat de equipe, ou fazer backup periodicamente de dados de várias plataformas SaaS para seu banco de dados. As possibilidades de 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 a maneira como você gerencia operações diárias. Obrigado por acompanhar esta configuração! À medida que você continua a explorar o que o N8N pode fazer, não deixe de conferir nossos outros tutoriais para descobrir ainda mais ferramentas incríveis e úteis. Quando estiver pronto para escalar ou se aprofundar em novos projetos empolgantes, lembre-se de que AlexHost fornece toda a infraestrutura robusta que você precisa para hospedar seus serviços de forma confiável.
