Workflow server memory cut from 8.3 GB to 4.1 GB, every workflow kept
- Infrastructure
- Internal system
Context
The n8n server is the workbench for building and testing client automations. It had been started by hand, on an unpinned image, with no restart rule and no backup. When Docker restarted, it stayed down and nobody was told. The machine was also carrying heavy idle load: one forgotten indexing process sat at 99% of a CPU core.
The decision
Move the workflow server to a free cloud host, or keep it local and make it declared, backed up and watched every morning?
What was built
One checked-in Compose file that pins the exact n8n version, restarts the server by itself, listens on the local machine only and caps its memory. A backup script that copies the data out before every change and fails if the database is missing from the archive. An upgrade from n8n 1.122.5 to 2.20.8 with a proven rollback, checked by counting workflows, credentials and API keys before and after. A fix for an API client that was silently dropping its key. A read-only morning check that runs six tests: Docker running, memory cap, reclaimable space, restart rule, pinned version and backup age. The Docker memory allowance was cut from 8.3 GB to 4.1 GB, and the forgotten indexing process was stopped.
What it demonstrates
Infrastructure rebuilt from one file rather than from memory. A backup proven before the risky step, not after. Drift reported every morning instead of found by accident. A measured before and after for every change.
Reconstructed with synthetic data.
See the build, then book a call to talk through yours. Every engagement ends with a handover your team can run.