Recurring "Database connection timed out" on Hostinger VPS

Hey everyone,

I’m running into a recurring issue on an n8n instance and could use some help figuring out what to do next.

Setup

  • Hostinger VPS with their one-click n8n template

  • n8n 2.16.1 running in a Podman container (not Docker)

  • No separate Postgres container

  • Disk space and RAM are fine

Problem

Every few hours, n8n becomes unreachable with:

{"code":503,"message":"Database is not ready!"}

A manual restart of the container brings it back, but the issue returns within hours. Happened 4+ times today.

Logs

Initializing n8n process
n8n ready on ::, port 5678
Version: 2.16.1
Editor is now accessible via: https://n8n.CCCC.de

Unknown failure
Database connection timed out
Database connection timed out
operation timed out for an unknown reason
Database connection timed out
Error handling CollaborationService push message
...
(hundreds more "Database connection timed out" lines)

Questions

  • Has anyone seen this pattern before on Hostinger’s n8n template?

  • What commands should I have the admin run next time it fails to pinpoint the cause?

  • What’s the recommended fix — stay on the template, or rebuild the setup?

Thanks in advance, happy to share more details if needed.

Container restarts temporarily fix it, but it returns after a few hours.


Likely Cause

Most common root issue in your setup:

  • SQLite database instability under load
  • Possible file locking / IO latency issues
  • Or container DB connection timing out due to VPS performance spikes

Hostinger one-click + Podman + no Postgres strongly suggests SQLite is being used → not ideal for production workloads.


Quick Checks

Run:

echo $DB_TYPE

:star: Best Solution

Switch to PostgreSQL

This is the most reliable fix for your issue.

Why this helps

  • Much more stable than SQLite in production
  • Handles multiple workflows / concurrency properly
  • Prevents database lock and timeout issues
  • Better performance under load
  • Designed for continuous background execution (which n8n relies on)

Result

Moving to PostgreSQL typically resolves:

  • "Database is not ready!"
  • Database connection timed out
  • SQLITE_BUSY / lock-related errors
  • Random service interruptions under load

hi @Luca2, Podman’s rootless mode uses fuse-overlayfs by default and that layer absolutely murders SQLite file locking under any real load — that’s your “Database connection timed out” loop. Before rebuilding with Postgres, check podman info | grep graphDriver to confirm. If it shows overlay with fuse, even Postgres won’t help unless you bind-mount the data directory to the host filesystem directly with :Z flag instead of letting Podman manage the volume.