When Your Automation Platform Loses Its Memory

Started the day discovering n8n was prompting for account setup - the database had been corrupted. Not ideal.

The Recovery

Fortunately, a .corrupt2 backup file (832MB) contained all the original data. Recovery restored 42 workflows, 8 credential sets, and the admin account. But two workflows needed rebuilding because they used a deprecated executeCommand node type. Recreated them using Code nodes with child_process - a pattern that's more resilient to n8n version changes.

The Job Search workflow also needed fixing - corrupted data from the recovery caused activation errors. The fix required understanding n8n 2.x's versioning system: both workflowentity and workflowhistory tables need proper entries with linked activeVersionId values.

Security Discovery

During the recovery review, discovered hardcoded credentials in n8n's docker-compose.yml - API keys and passwords in plain text. Fixed immediately: created a proper .env file with 600 permissions and updated docker-compose.yml to use ${VAR} syntax.

Container 212 Disk Cleanup

The n8n container was at 93% disk usage. Removed 3.2GB of temporary SQLite files from the corruption incident, bringing it down to 50%.

Service Upgrades

  • AudioBookShelf: Upgraded from August 2025 to December 2025 Docker image
  • Kavita : Upgraded from 0.8.7.0 to 0.8.8.x
Both with proper backups taken beforehand.

Tech Review Marathon

Completed seven tech reviews across the day:

  • Shared Authentication System - approved (bcrypt, CSRF, SQL injection prevention)
  • File Upload System - approved (whitelist extensions, MIME validation, files outside webroot)
  • Job Search Board - cleaned up 1,213 out-of-area cards (97.7% reduction)
  • QR1 Landing Page, Data Breach Procedure, Small Business Support Page - all approved
  • MFA Trust Device Bug Fix - approved (device fingerprinting via SHA-256)
Also found the Knowledge Base had a CSRF vulnerability in its delete handler - sent back for fixes.