Docker image updated to node 22 are breaking custom nodes

Describe the problem/error/question

I’m maintaining a custom node and i’ve just see that docker base image have been updated to node 22.
This seems to break some node with node-gyp dependencies where custom build was not created for that target.

What is the error message (if any)?

n8n  | Could not locate the bindings file. Tried:
n8n  |  → /home/node/.n8n/nodes/node_modules/n8n-nodes-sqlite3/node_modules/better-sqlite3/build/better_sqlite3.node

Please share your workflow

I’m importing a custom node named n8n-nodes-sqlite3

Information on your n8n setup

  • n8n version: 1.100.1
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): inside docker
  • Operating system: linux

Hey @dangerblack,

You’re using Node.js 22 in Docker, but better-sqlite3 doesn’t have prebuilt binaries for it yet. That’s why you get:

Could not locate the bindings file...

I would suggest downgrading
Use Node 20 in your Docker image:

Sadly it’s n8n that switch to node 22 not me