Pular para o conteúdo
SelfHostBR
Guia

Como atualizar o n8n no Docker sem perder dados

Passo a passo para atualizar o n8n self-hosted no Docker Compose: backup antes, troca da tag, migrações do banco, conferência da versão e como voltar atrás.

CSCaio Servidor Publicado em 5 min de leitura
Nesta página

Resposta curta: faça backup, baixe a imagem nova com docker compose pull e recrie o contêiner com docker compose up -d. O n8n roda as migrações do banco sozinho na subida. O processo todo leva um ou dois minutos.

O n8n lança versões quase toda semana, e várias corrigem falhas de segurança. Antes de decidir se precisa atualizar agora, confira a versão mínima segura do n8n hoje e a última versão estável.

Veja a versão atual

Na pasta do seu compose.yaml:

docker compose exec n8n n8n --version

Faça backup antes

Atualizações mudam o esquema do banco. Se algo der errado, o caminho seguro de volta é restaurar o backup.

  • Com SQLite (padrão): copie o volume de dados do n8n, que guarda o banco e a chave de criptografia.
  • Com PostgreSQL: gere um dump com pg_dump.

Os comandos estão no guia de backup do n8n.

Escolha a tag certa

Em produção, use n8nio/n8n:stable ou fixe uma versão (n8nio/n8n:2.43.4, por exemplo). A tag latest pode apontar para uma versão beta. Para fixar a versão sem editar o arquivo toda vez, use uma variável:

  n8n:
    image: n8nio/n8n:${N8N_VERSION:-stable}

Com isso, N8N_VERSION=2.43.4 docker compose up -d sobe uma versão específica, e sem a variável vale a stable.

Atualize

docker compose pull n8n
docker compose up -d

O pull baixa a imagem nova (cerca de 1,8 GB) e o up -d recria só o contêiner que mudou. Na subida, o log mostra as migrações:

docker compose logs n8n --since 2m
Migrations in progress, please do NOT stop the process.
Starting migration ...
Finished migration ...

Não interrompa o contêiner durante as migrações. Depois, confira a versão e teste um webhook ou workflow importante:

docker compose exec n8n n8n --version

Os workflows publicados continuam ativos depois da atualização, sem precisar publicar de novo.

Limpe as imagens antigas

Cada versão ocupa quase 2 GB. Depois de confirmar que está tudo certo:

docker image prune

Como voltar para a versão anterior

Trocar a tag para a versão antiga às vezes funciona entre versões próximas, mas não é garantido: a versão antiga não conhece as migrações que a nova aplicou. O caminho seguro é parar o n8n, restaurar o backup feito no passo 2 e subir com a tag antiga. Por isso o backup vem antes.

Avisos de configuração no log

Versões recentes listam no log variáveis cujo padrão vai mudar, como N8N_RUNNERS_MODE ou N8N_RUNNERS_TASK_TIMEOUT. Elas não impedem a subida, mas leia a lista: se você depende do comportamento atual, defina a variável explicitamente no compose.yaml antes de uma versão futura mudar o padrão.

Perguntas frequentes

Como atualizar o n8n no Docker Compose?

Faça backup, rode docker compose pull n8n e depois docker compose up -d. O n8n aplica as migrações do banco sozinho ao subir.

Perco meus workflows ao atualizar o n8n?

Não: workflows, credenciais e execuções ficam no banco e no volume, que são mantidos. Os workflows publicados continuam ativos. Mesmo assim, faça backup antes, porque as migrações alteram o banco.

Dá para voltar para a versão anterior do n8n?

Às vezes funciona entre versões próximas, mas não é garantido, porque a versão antiga não conhece as migrações da nova. O caminho seguro é restaurar o backup feito antes de atualizar.

Devo usar a tag latest ou stable?

Use stable ou uma versão fixa. A tag latest pode apontar para uma versão beta.

CS

Escrito por

Caio Servidor

Desenvolvedor brasileiro, mantenho meus próprios servidores e automações. Viu um erro ou preço desatualizado? Me avise.

Continue lendo