Rode o n8n com Docker Compose e Traefik no seu computador
Antes de começar
Rodar uma instância de estudos do n8n no computador, atrás do Traefik, com as configurações no arquivo .env.
- Docker instalado e em execução, com Compose v2.
- Porta 80 livre no computador.
Esta stack é para estudos e testes no seu computador. Ela coloca o n8n atrás do Traefik, o mesmo proxy reverso usado nas stacks de servidor deste hotsite. As configurações ficam em um arquivo .env. Assim você pratica com a mesma estrutura que vai encontrar depois em uma VPS de estudos.
Crie a pasta e o arquivo .env
Crie uma pasta chamada n8n-estudo e abra o terminal dentro dela. Grave este conteúdo em .env:
# Versão do n8n usada nos estudosN8N_VERSION=2.45.5
# Endereço local do editorN8N_HOST=n8n.localhost
# Fuso dos agendamentos e do containerGENERIC_TIMEZONE=America/Sao_PauloNavegadores atuais resolvem nomes terminados em .localhost para o seu próprio computador. Por isso n8n.localhost funciona sem editar arquivos do sistema.
Crie o compose.yaml
Na mesma pasta, grave compose.yaml:
services: traefik: image: traefik:v3 restart: unless-stopped command: - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" ports: - "80:80" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro
n8n: image: n8nio/n8n:${N8N_VERSION} container_name: n8n-estudo restart: unless-stopped labels: - traefik.enable=true - traefik.http.routers.n8n.rule=Host(`${N8N_HOST}`) - traefik.http.routers.n8n.entrypoints=web - traefik.http.services.n8n.loadbalancer.server.port=5678 environment: - N8N_HOST=${N8N_HOST} - N8N_PROTOCOL=http - N8N_WEBHOOK_URL=http://${N8N_HOST}/ - N8N_PROXY_HOPS=1 - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} - TZ=${GENERIC_TIMEZONE} - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true volumes: - n8n_data:/home/node/.n8n
volumes: n8n_data:O Compose lê o .env da mesma pasta e troca cada ${...} pelo valor do arquivo. O Traefik só publica serviços com traefik.enable=true e encaminha o endereço n8n.localhost para a porta 5678 do n8n. N8N_WEBHOOK_URL e N8N_PROXY_HOPS fazem o n8n mostrar a URL certa nos webhooks.
O volume n8n_data guarda o SQLite e a chave que cifra as credenciais. Para estudar, o SQLite atende.
Suba e abra o editor
docker compose up -ddocker compose psAbra http://n8n.localhost e cadastre o usuário owner. Se a página não abrir, leia os logs com docker compose logs n8n e docker compose logs traefik antes de mudar a configuração.
Confira a persistência
Crie um workflow de estudo e execute:
docker compose downdocker compose up -dO workflow continua lá. O down remove os containers e preserva o volume. Acrescentar -v apaga o volume e tudo o que a instância guardou.
Para trocar de versão, mude N8N_VERSION no .env e siga o guia de atualização da instância de estudo.
Para montar ou revisar essa stack com orientação ao vivo, o Desenvolvimento Colaborativo da Dev Side Studio acompanha o trabalho no terminal, com você no controle dos comandos.
Confira o resultado
O editor abre em http://n8n.localhost e um workflow de estudo continua disponível depois de docker compose down e docker compose up -d.
Fontes e conferência
Conteúdo conferido na documentação oficial do n8n em 28 de outubro de 2026.
