Pro10 min
Deploying and Scaling in Production
Moving from it works on my canvas to it runs the business is its own skill. Production means version control, separate environments, security on your endpoints, and capacity that holds up when volume spikes. This lesson is the checklist that keeps a working automation working under load.
Environments and versioning
Keep a staging copy separate from production and test changes there first. Export your workflows to version control so you can see what changed and roll back a bad edit. n8n supports source control; for Make and Zapier, export and store the JSON.
zsh - self-hosted n8n on a server
# run n8n in production with Docker and a real database
$docker run -d --name n8n --restart unless-stopped \
$ -p 5678:5678 \
$ -e DB_TYPE=postgresdb -e N8N_ENCRYPTION_KEY=$KEY \
$ -e WEBHOOK_URL=https://flows.acme.com/ \
$ -v n8n_data:/home/node/.n8n n8nio/n8n
n8n started, editor at https://flows.acme.com
$
Secure your endpoints
- Protect webhooks with a secret token or signature check; a public URL is an open door.
- Rate limit and validate every incoming payload before it touches an AI step.
- Treat anything a user or web page sends as untrusted; prompt injection is real.
Queue the spikes
When volume bursts, calling a model API on every request synchronously will hit rate limits and time out. Put work on a queue and process at a steady rate. n8n's queue mode and Make's scheduling exist for exactly this.
Production topology
Users --> [ Webhook (auth) ] --> [ Queue ]
|
[ Workers x N ] -- pull --+
|-- AI step (with retry + cache)
|-- on error --> alert + dead-letter log
Have a manual fallback
For anything customer-facing, know how to turn the automation off and handle the work by hand for a day. The teams that trust automation most are the ones who can switch it off without the business stopping.