Resposta curta: um backup completo do n8n tem duas partes: os dados (o banco, com workflows, credenciais e execuções) e a chave de criptografia. Sem a chave, as credenciais do backup não podem ser lidas por outra instalação.
O que precisa entrar no backup
- Workflows e credenciais: ficam no banco (SQLite, por padrão, ou PostgreSQL).
- Chave de criptografia: fica em
/home/node/.n8n/config, dentro do volume do n8n, ou na variávelN8N_ENCRYPTION_KEY, se você a definiu. As credenciais são gravadas criptografadas com ela. - Arquivos locais, se seus workflows leem ou gravam em alguma pasta montada (como
./local-files).
Se a instalação que recebe o backup tiver outra chave, a leitura das credenciais falha com:
Credentials could not be decrypted. The likely reason is that a different "encryptionKey" was used to encrypt the data.
Por isso, defina N8N_ENCRYPTION_KEY no seu .env e guarde uma cópia dela num lugar seguro fora do servidor, como um gerenciador de senhas.
Opção 1: exportar workflows e credenciais pela CLI
Funciona com qualquer banco e gera arquivos JSON, um por workflow e um por credencial:
docker compose exec n8n sh -c "n8n export:workflow --backup --output=/home/node/.n8n/backup/workflows/ && n8n export:credentials --backup --output=/home/node/.n8n/backup/credentials/"
docker compose cp n8n:/home/node/.n8n/backup ./backup-$(date +%F)
--backup equivale a --all --pretty --separate. As credenciais saem criptografadas (o campo data vem como texto cifrado), então continuam dependendo da mesma chave.
Existe --decrypted, que exporta as credenciais em texto puro. Use só para migrar para uma instalação com outra chave, e apague o arquivo logo depois: ele contém senhas e tokens legíveis.
Para restaurar numa instalação com a mesma chave:
docker compose cp ./backup-2026-10-13 n8n:/tmp/restore
docker compose exec n8n n8n import:workflow --separate --input=/tmp/restore/workflows/
docker compose exec n8n n8n import:credentials --separate --input=/tmp/restore/credentials/
docker compose restart n8n
Workflows importados chegam despublicados, mesmo que estivessem ativos na exportação. Publique os que precisam ficar ativos com n8n publish:workflow --id=<id>.
Este backup não inclui o histórico de execuções. Para ter tudo, faça também o backup do banco.
Opção 2: backup do banco PostgreSQL com pg_dump
Se você usa n8n com PostgreSQL, o dump leva tudo (workflows, credenciais, execuções e usuários) num arquivo só:
docker compose exec -T postgres pg_dump -U n8n -d n8n -Fc -f /tmp/n8n.dump
docker compose cp postgres:/tmp/n8n.dump ./n8n-$(date +%F).dump
Numa instância nova, com alguns workflows, o dump tem menos de 1 MB. Para restaurar numa instalação nova com a mesma N8N_ENCRYPTION_KEY:
docker compose up -d postgres
docker compose cp ./n8n-2026-10-13.dump postgres:/tmp/n8n.dump
docker compose exec -T postgres pg_restore -U n8n -d n8n --clean --if-exists /tmp/n8n.dump
docker compose up -d n8n
Depois da restauração, os workflows publicados voltam a responder e as credenciais funcionam, desde que a chave seja a mesma.
Opção 3: copiar o volume (SQLite)
Com o banco padrão (SQLite), o volume do n8n contém o banco e a chave. Pare o n8n para não copiar o banco no meio de uma gravação:
docker compose stop n8n
docker run --rm -v n8n_data:/dados -v "$PWD":/destino alpine tar czf /destino/n8n-data-$(date +%F).tgz -C /dados .
docker compose start n8n
O nome do volume costuma ter o nome da pasta como prefixo (por exemplo n8n-compose_n8n_data). Confira com docker volume ls.
Com que frequência e onde guardar
- Agende o dump ou a exportação com
cron(por exemplo, todo dia de madrugada) e apague cópias antigas. - Guarde fora da VPS. Um backup no mesmo disco não protege contra perda do servidor.
- Teste a restauração de vez em quando numa máquina separada. Backup que nunca foi restaurado é só uma esperança.
- Faça um backup antes de toda atualização (veja como atualizar o n8n).
Perguntas frequentes
O que preciso guardar no backup do n8n?
O banco de dados (com workflows, credenciais e execuções) e a chave de criptografia. Sem a mesma chave, as credenciais do backup não podem ser lidas.
Como exportar todos os workflows do n8n?
Rode n8n export:workflow --backup --output=<pasta>. O --backup equivale a --all --pretty --separate e gera um arquivo JSON por workflow.
As credenciais exportadas ficam em texto puro?
Não. Por padrão saem criptografadas com a chave da instalação. A opção --decrypted exporta em texto puro e deve ser usada só para migração, apagando o arquivo em seguida.
Os workflows voltam ativos depois de importar?
Não. Workflows importados chegam despublicados; publique os que precisam ficar ativos com n8n publish:workflow --id=<id>.