2026.09.04

Self-hosting n8n: from one Docker node to production

The database, encryption key, webhook URL, reverse proxy and scaling decisions that are easy to miss when self-hosting n8n.

Start with the workload

n8n combines triggers, integrations, data processing and AI nodes in visual workflows. A single Docker node is enough for experiments. Production use requires the database, credential encryption, webhook routing and backups to be designed together.

Five production priorities

  1. Set a stable N8N_ENCRYPTION_KEY and include it in a secure recovery process.
  2. Configure the public domain and WEBHOOK_URL so external services never receive an internal container address.
  3. Use PostgreSQL for production data and back up both the database and encryption key.
  4. Put the editor behind an HTTPS reverse proxy instead of exposing the internal port.
  5. Move to queue mode with Redis and dedicated workers as execution concurrency grows.

Capacity planning

A typical automation server can start around 2 vCPU and 4 GB RAM. Browser automation, large files, local AI models and high concurrency can raise requirements quickly. Leave disk capacity for retries, execution history and logs.

Licensing note

n8n describes itself as fair-code. Review the Sustainable Use License for your business model before deployment; source availability does not mean every commercial use is unrestricted.

Sources