Hey everyone ![]()
I’m running a self-hosted n8n (Docker + Traefik) setup using SQLite and I’m running into recurring database timeouts / instability, especially when multiple workflows execute around the same time.
The problem
-
n8n works fine most of the time
-
but under load (parallel executions), we regularly see:
-
Database connection timed out -
503 – Database is not ready
-
-
CPU/RAM are not maxed out, so this doesn’t seem to be a pure resource issue
What we tried
-
Stayed on SQLite (no Postgres yet)
-
Tried to improve stability by adding SQLite-related env vars:
-
execution data pruning
-
reducing stored execution data
-
-
After applying env changes +
docker compose down / up:-
n8n became completely inaccessible
-
only returned
{"code":503,"message":"Database is not ready!"} -
logs showed repeated DB connection timeouts
-
-
Even reverting env vars didn’t help at first
What I’m looking for
-
Someone experienced with n8n internals / SQLite behavior under concurrency
-
Help understanding:
-
why SQLite gets into this broken state so easily
-
whether there’s a safe way to tune SQLite for moderate concurrency
-
or at what point Postgres becomes unavoidable
-
-
I’m very happy to jump on a call (and pay for your time) to properly fix this and set things up cleanly
If you’ve dealt with this before or know the right approach, I’d really appreciate your help ![]()
Feel free to reply here or DM me.