You’re Paying $20/Month to Move Data Between Two Free Services
Let that sink in for a moment.
You’ve got a GitHub repo. You’ve got a Discord server. You want a message in Discord when someone opens a pull request. That’s it. That’s the whole automation. And Zapier wants $20/month for the privilege of watching you pay them to do something that is, fundamentally, just an HTTP request and another HTTP request.
The good news: there are two excellent self-hosted alternatives that will do this for you for the cost of electricity. The better news: they’re both legitimately good, and they solve slightly different problems in slightly different ways.
Welcome to the n8n vs Node-RED showdown.
What Are We Even Talking About?
Both tools are workflow automation platforms — they connect services, trigger actions, transform data, and generally do the boring glue work that nobody wants to write custom code for. Think IFTTT, Zapier, or Make.com, but running on your own hardware.
n8n (pronounced “n-eight-n”, short for “nodemation”) is the newer kid on the block. It launched in 2019, has a slick modern UI, 400+ native integrations, supports JavaScript/Python code nodes, and has been adding AI/LLM nodes at a pace that suggests the founder drinks too much coffee. It’s genuinely impressive.
Node-RED is the greybeard. Originally built by IBM in 2013, now maintained by the JS Foundation, it pioneered the “flow-based programming” concept where you connect nodes visually to create logic flows. It’s been the go-to tool for IoT and Home Assistant users for years, and for good reason — it’s lightweight, stable, and has a massive community of contributed nodes.
n8n: The Modern Automation Powerhouse
What Makes It Good
n8n’s selling point is that it feels like a proper product. The interface is clean, the node catalog is enormous, and when something breaks, the error messages are actually helpful. Wild concept, I know.
Key features:
- 400+ integrations covering everything from Slack and GitHub to HubSpot, Stripe, and obscure SaaS tools you’ve never heard of
- Code nodes — drop in JavaScript or Python mid-workflow when the built-in nodes aren’t enough
- AI/LLM nodes — connect to OpenAI, Anthropic, Ollama, and others; build RAG pipelines, summarizers, and chatbots as part of larger workflows
- Webhook triggers — expose an HTTPS endpoint, send data to it, automation fires
- Schedule triggers — cron-style scheduling built in
- Sub-workflows — call workflows from other workflows like functions
Docker Compose Setup
This gets you running in under five minutes:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.yourdomain.com/
- GENERIC_TIMEZONE=America/New_York
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Put this behind a Nginx/Caddy reverse proxy with SSL, and you’ve got a production-grade automation platform for the cost of a VPS. First run will walk you through creating an admin account.
A Real Workflow Example
Here’s a practical n8n workflow: GitHub PR → Summarize with AI → Post to Discord
- Webhook Trigger — GitHub sends a POST to your n8n webhook when a PR is opened
- HTTP Request node — fetch the PR diff from GitHub’s API
- OpenAI node — summarize the diff in plain English (“What changed and why does it matter?”)
- Discord node — post the summary to your #code-review channel
Total nodes: 4. Time to build: 15 minutes if you’ve never touched n8n before. Time to build a custom app that does this: several sad hours.
The Licensing Gotcha
n8n uses a fair-code license (specifically the Sustainable Use License). For personal use and most self-hosted scenarios, you’re completely fine. But if you want to offer n8n as a service to others — say, you’re building a product on top of it — you need a commercial license. Read the fine print before you build a startup on it. This isn’t Zapier’s $20/month scheme, but it’s not pure open-source either.
Node-RED: Old Reliable for IoT and Home Automation
What Makes It Good
Node-RED’s mental model is different. Instead of a workflow with linear steps, you’re literally drawing connections between function nodes on a canvas. Data (“messages”) flows between nodes like water through pipes. It sounds abstract, but once it clicks, it’s remarkably intuitive for certain types of problems.
It’s the default automation layer for Home Assistant users who want to go beyond HA’s built-in automations. It’s also what runs on a lot of industrial and IoT setups because it’s lightweight, can run on a Raspberry Pi without complaint, and has been battle-tested for over a decade.
Key features:
- Flow-based visual programming — nodes connected by wires, very tactile
- MQTT support — first-class for IoT messaging
- Massive community node library — the Node-RED Flow Library has thousands of contributed nodes
- Function nodes — write raw JavaScript when you need logic the built-in nodes don’t cover
- Dashboard nodes — build simple UIs without a separate frontend
- Lightweight — runs comfortably on a Raspberry Pi 3
Docker Setup
services:
nodered:
image: nodered/node-red:latest
restart: always
ports:
- "1880:1880"
environment:
- TZ=America/New_York
volumes:
- node_red_data:/data
volumes:
node_red_data:
Hit http://yourserver:1880 and you’re in. No account creation, no onboarding wizard — just the canvas, waiting for you to do something with it. Refreshingly old-school.
A Real Workflow Example
Here’s a Node-RED flow: MQTT sensor message → filter → Home Assistant notification
- MQTT In node — subscribes to
home/sensors/temperature - Switch node — routes messages where temp > 80°F to the next node
- Change node — formats the message payload into a human-readable string
- HTTP Request node — calls Home Assistant’s notification API
Four nodes, five minutes, and your phone now tells you when it’s too hot in the garage. No cloud service. No subscription. No data leaving your house.
Head-to-Head Comparison
| Feature | n8n | Node-RED |
|---|---|---|
| UI/UX | Modern, polished | Functional, dated |
| Learning curve | Low-medium | Low for simple flows |
| Integrations | 400+ native | Community nodes (thousands) |
| AI/LLM support | Built-in, excellent | Possible but manual |
| IoT/MQTT | Possible but not primary | First-class |
| Code nodes | JavaScript + Python | JavaScript |
| Resource usage | Medium (Node.js) | Low (runs on Pi) |
| License | Fair-code (not pure OSS) | Apache 2.0 (fully open) |
| Self-host complexity | Easy (Docker) | Easy (Docker) |
| Community | Growing fast | Large, established |
| Best for | SaaS integrations, AI workflows | IoT, Home Assistant, hardware |
Which One Should You Use?
Here’s the honest answer: it depends on what you’re automating.
Pick n8n if:
- You’re replacing Zapier/Make for SaaS integrations (Slack, GitHub, Google Sheets, CRMs, etc.)
- You want to build AI-powered workflows with LLMs
- You care about a polished UI and good debugging tools
- You’re connecting web services rather than hardware
Pick Node-RED if:
- You’re doing IoT or Home Assistant automation
- You’re running on low-power hardware (Raspberry Pi, old NUC)
- You want fully open-source with Apache 2.0 licensing (no gotchas)
- Your automation is more “data plumbing” than “SaaS integration”
Use both if:
- You’re a person who runs too many services on a home server and refuses to be told what to do
They’re not mutually exclusive. Plenty of self-hosters run Node-RED for their Home Assistant/MQTT pipelines and n8n for anything involving external web services. Your Docker Compose file gets a little longer, but that’s the price of freedom.
The Bottom Line
The era of paying SaaS middlemen to ferry data between your other SaaS subscriptions is over — or at least, it should be. Both n8n and Node-RED are legitimately mature tools that can handle real workloads, and both will run on hardware you probably already own.
n8n is the right call if you want something that feels like a product and handles the modern web services landscape gracefully. Node-RED is the right call if you want something that’s been around since before most of your favorite cloud services existed and will probably outlive them too.
Either way, you’re keeping your data on your own infrastructure, you’re not locked into a pricing tier, and you’re not paying $20/month to Zapier.
That’s the whole win. Everything else is details.
Running both? Tell me what weird automations you’ve built in the comments. I’m particularly interested in the ones that seemed like a good idea at 11pm and are now load-bearing parts of your household infrastructure.