Não é um cliente BH Servers?

Como atualizar o n8n (Docker Compose)

Importante: Este tutorial é válido para quem utiliza o n8n com Docker Compose (com ou sem banco externo). Se você contratou sua VPS já pronta com n8n pela BH Servers, veja as observações específicas abaixo.
Siga o tutorial com cautela e faça backup de seu sistema inteiro antes de atualizar, por garantia e salve os arquivos de banco de dados manualmente também.

1. Preparação

  • Confirme que o n8n está rodando via Docker Compose e que utiliza volumes persistentes (normalmente é o volume n8n_n8n_data).
  • Confira seus volumes com:
    docker volume ls
  • Clientes da BH Servers: O volume de dados normalmente já vem criado como n8n_n8n_data. Não remova esse volume para manter seus dados após atualização.

2. Backup antes de atualizar

Como notamos que as atualizações podiam resultar em perda de dados, para assegurar, vamos considerar um backup antes.
Faça um backup do volume (mesmo que esteja vazio) e dos dados atuais do container:

# Crie pasta de backup
mkdir -p /root/backups

# Descubra o ID do container

docker ps

# Backup da pasta interna do n8n (onde ficam workflows, banco, etc.)

docker exec -it <CONTAINER_ID> sh -lc 'tar czf /tmp/n8n_root_dotn8n.tgz -C /root .n8n'
docker cp <CONTAINER_ID>:/tmp/n8n_root_dotn8n.tgz /root/backups/

<CONTAINER_ID> pode ser o ID mesmo em número ou o nome que você pegou em docker ps.

#No caso da BH Servers seria:

docker exec -it n8n_n8n_1 sh -lc 'tar czf /tmp/n8n_root_dotn8n.tgz -C /root .n8n'
docker cp n8n_n8n_1:/tmp/n8n_root_dotn8n.tgz /root/backups/

# Backup do volume

docker run --rm -v n8n_n8n_data:/data -v /root/backups:/backup alpine sh -lc 'tar czf /backup/n8n_volume_$(date +%F_%H%M).tgz -C /data .'

3. Migrar dados para o volume (se ainda não estiverem lá)

Algumas instalações gravam em /root/.n8n em vez de no volume. Para garantir que o volume n8n_n8n_data tenha os dados, rode:

docker exec -it <CONTAINER_ID> sh -lc 'mkdir -p /home/node/.n8n && cp -a /root/.n8n/. /home/node/.n8n/ && chown -R node:node /home/node/.n8n'

#BH Servers

docker exec -it n8n_n8n_1 sh -lc 'mkdir -p /home/node/.n8n && cp -a /root/.n8n/. /home/node/.n8n/ && chown -R node:node /home/node/.n8n'

4. (Opcional) Criar link para não perder dados durante esta execução

Esse link garante que mesmo se o n8n procurar em /root/.n8n, ele use o volume:

docker exec -it CONTAINER_ID sh -lc 'rm -rf /root/.n8n && ln -s /home/node/.n8n /root/.n8n'

#BH Servers

docker exec -it n8n_n8n_1 sh -lc 'rm -rf /root/.n8n && ln -s /home/node/.n8n /root/.n8n'

5. Entrar na pasta do docker-compose

Acesse a pasta onde está o docker-compose.yml:

cd /caminho/do/compose
  • Clientes da BH Servers: O padrão é cd ~/n8n ou cd /root/n8n, pois o arquivo docker-compose.yml fica nesse diretório na instalação padrão.

6. Baixar a nova imagem

Via linha de comando (escolha a versão que deseja):

# Última versão estável
docker pull n8nio/n8n

# Versão específica
docker pull n8nio/n8n:1.81.0

# Versão beta (next)
docker pull n8nio/n8n:next

7. Atualizar com Docker Compose

Risco: Aqui seus dados podem ser perdidos. tenha certeza que salvou seu backup.
Com o backup feito, siga com a atualização: 

docker-compose pull
docker-compose up -d

8. Se a atualização não aplicar

Dica: Se a atualização não refletir a nova versão, pode ser cache de imagens antigas. Nesse caso, execute:
docker-compose down
docker system prune -a
docker-compose up -d

9. Recuperando seu conteúdo

Aqui é onde recuperamos o conteúdo:

# Recriar o link simbólico para o volume

docker exec -it n8n_n8n_1 sh -lc 'rm -rf /root/.n8n && ln -s /home/node/.n8n /root/.n8n'

# Reiniciar o container para aplicar

docker restart n8n_n8n_1

Pronto! Após isso, o n8n volta a enxergar todos os seus dados normalmente.

10. Conferindo

  • Acesse o painel do n8n em http://SEU-IP:5678 e verifique se tudo está funcionando normalmente.
  • Confirme que os dados (workflows, credenciais, histórico) continuam no painel.
  • Clientes da BH Servers: O volume padrão é n8n_n8n_data e o container costuma se chamar n8n_n8n_1 (veja com docker ps -a).
Pronto! Seu n8n foi atualizado com segurança.

Resumo rápido

  1. Faça backup (container + volume).
  2. Garanta que os dados estejam no volume n8n_n8n_data.
  3. Entre na pasta do projeto: cd /caminho/do/compose.
  4. Baixe a nova imagem docker pull n8nio/n8n (ou use docker-compose pull).
  5. Atualize com docker-compose up -d (não use -v).
  6. Se não atualizar, rode docker system prune -a e suba novamente.
  7. Acesse http://SEU-IP:5678 e confirme os dados.
Je li Vam ovaj odgovor pomogao? 0 Korisnici koji smatraju članak korisnim (0 Glasovi)