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.