Best practices for updating self-hosted n8n across multiple versions?

Hi everyone,

I’m currently running a self-hosted n8n instance and I’ve fallen behind on several updates. Since there have been many releases, I’m looking for advice on the best way to catch up.

  1. Sequential vs. Direct: Should I update version by version, or is it safe to jump directly to the latest stable release?

  2. Breaking Changes: Are there specific “milestone” versions I should stop at to check for breaking changes or database migrations?

  3. Best Practices: What is your recommended workflow to ensure a smooth update without losing data or breaking existing workflows?

I’m currently using Docker for my installation. Any tips or links to documentation regarding update paths would be greatly appreciated.

Thanks!

Information on your n8n setup

  • n8n version: 2.1.5

  • Database: SQLite

  • n8n EXECUTIONS_PROCESS setting: own, main

  • Running n8n via: Docker

  • Operating system: Alpine (docker) / Ubuntu 22.04 (Host)

Hello @LuizDaniel ,

Since you are staying within the main v2 version . Here is what you have to do:

  1. Direct vs Sequential: You can jump straight to the latest stable version (e.g., n8n/n8n:2.6.4). You do not need to update version-by-version.
  2. Breaking Changes: Your workflows are safe. n8n does not auto-upgrade nodes in existing workflows. They will stay on their old versions (and keep working) until you manually choose to swap them.
  3. The Critical Step: Because you use SQLite, backup your .n8n folder on the host machine before doing anything.
  4. The “Scary” Part: When you first start the new container, it might look “stuck” for 5–10 minutes. Do not restart it. It is migrating your database. If you interrupt it, you will corrupt your data.

Just change the tag in your Docker Compose file, docker-compose up -d, and grab a coffee while it migrates!

If my answer helped solve your question, would you mind marking it as the solution?

It’ll help others find it more easily—and I’d really appreciate it!

3 Likes

Hi @A_A4 ,

I went directly from version 2.1.5 to 2.6.4 and everything went smoothly. As suggested, I backed up the .n8n folder first. After updating the Docker image, the database migration took a few minutes to finish, and all my workflows and credentials are intact and working perfectly.

Thanks for the guidance! I’ll mark this as the solution.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.