DEV Community

Cover image for Como rodar o n8n em Docker de forma simples e eficiente 🐋
Ruan Vitor
Ruan Vitor

Posted on

Como rodar o n8n em Docker de forma simples e eficiente 🐋

O que é Docker, para que serve e quando utilizar ?

O Docker é uma plataforma que permite criar, empacotar e executar aplicações dentro de containers. Um container inclui tudo o que a aplicação precisa para funcionar — código, dependências, bibliotecas e configurações — garantindo que ela rode da mesma forma em qualquer ambiente, seja no computador do desenvolvedor, em um servidor ou na nuvem.

Na prática, o Docker resolve um problema muito comum no desenvolvimento: “na minha máquina funciona”. Ao isolar a aplicação do sistema operacional, ele garante consistência, portabilidade e rapidez no setup de ambientes. Isso torna o processo de desenvolvimento, testes e deploy muito mais previsível e eficiente.

O Docker é ideal quando você precisa padronizar ambientes, facilitar a colaboração entre equipes, reduzir o tempo de configuração ou escalar aplicações com mais controle. Ele é amplamente utilizado em microsserviços, pipelines de CI/CD, ambientes de desenvolvimento local e também em produção, principalmente quando combinado com ferramentas como Docker Compose ou Kubernetes.

Exemplos práticos de uso

Um dos usos mais comuns do Docker é com bancos de dados. Por exemplo, ao usar Docker + PostgreSQL, você pode subir rapidamente um banco para desenvolvimento ou testes sem instalar nada na sua máquina, apenas executando um container já pronto. O mesmo vale para Docker + MySQL, muito utilizado em aplicações web, ou Docker + MongoDB, bastante comum em sistemas que trabalham com dados não relacionais.

Esses containers podem ser criados, destruídos e recriados facilmente, mantendo os dados persistidos por meio de volumes. Isso facilita testes, simulações de ambiente e até a troca de versões do banco de dados sem dores de cabeça.

Em resumo, o Docker permite que você foque no que realmente importa: desenvolver e entregar valor, sem perder tempo com configurações complexas ou inconsistentes.

Exemplo prático: rodando o n8n com Docker Compose

services:
  n8n-blog:
    image: n8nio/n8n
    ports:
      - "1978:5678"
    volumes:
      - n8n-rocketseat:/var/lib/n8n-blog
    environment:
      GENERIC_TIMEZONE: America/Sao_Paulo
    restart: unless-stopped
    networks:
      - n8n-blog
volumes:
  n8n-blog:
networks:
  n8n-blog:
    driver: bridge
Enter fullscreen mode Exit fullscreen mode

O que esse arquivo faz ?

  • services: define os serviços que serão executados. Aqui, criamos um serviço chamado n8n-rocketseat.
  • image: utiliza a imagem oficial do n8n (n8nio/n8n) disponível no Docker Hub.
  • ports: faz o mapeamento da porta 5678 do container para a porta 1978 da máquina host, permitindo acessar o n8n pelo navegador em http://localhost:1978.
  • volumes: cria um volume nomeado para persistir os dados do n8n, garantindo que fluxos e configurações não sejam perdidos ao reiniciar o container.
  • environment: define variáveis de ambiente, como o fuso horário (America/Sao_Paulo), essencial para o correto funcionamento de automações baseadas em tempo.
  • restart: com a opção unless-stopped, o container reinicia automaticamente em caso de falha ou reboot do servidor.
  • networks: cria uma rede bridge dedicada, permitindo comunicação segura e organizada entre serviços (útil caso você adicione um banco de dados no futuro).

Como iniciar o ambiente

Com o Docker e o Docker Compose instalados, basta executar:

docker compose up -d

Após isso, o n8n estará disponível no navegador e pronto para criar automações, sem necessidade de instalações manuais ou configurações complexas.

Esse tipo de setup é ideal tanto para testes, desenvolvimento quanto para ambientes mais controlados em produção.

Top comments (0)