Self-Hosted Automation in 2026: n8n vs Node-RED vs cron — Run It All on a Raspberry Pi
Self-Hosted Automation in 2026: n8n vs Node-RED vs cron
Every automation guide tells you to sign up for Zapier or Make. What they don’t mention: at 2026 pricing, a modest Zapier workflow that runs every 15 minutes can quietly cost more per month than the Raspberry Pi sitting on your desk. Self-hosting your automation stack costs $0/month in software, runs 24/7 on hardware you already own, and keeps your API keys, tokens, and data off third-party servers.
I’ve been running all three contenders — n8n, Node-RED, and good old cron + shell/Python — on a single Raspberry Pi 5 for the past two months. Here’s how they actually compare, with numbers.
The Contenders at a Glance
| Tool | Model | RAM (idle) | Setup Time | Best For |
|---|---|---|---|---|
| n8n | Visual workflow builder, 500+ integrations | ~350 MB | 10 min (Docker) | API-to-API workflows, webhooks, AI chains |
| Node-RED | Visual flow programming | ~120 MB | 5 min | IoT, home automation, MQTT, dashboards |
| cron + scripts | Scheduler + your own code | ~5 MB | 2 min | Anything you can script, zero-dependency jobs |
The honest answer, before the deep dive: they’re not competitors — they’re layers. The best stack I’ve found uses all three. But each one has a clear sweet spot, and picking the wrong tool for a job is where most self-hosting frustration comes from.
n8n: The Zapier Replacement That Actually Works
n8n has become the default recommendation in 2026 for a reason. The free self-hosted version gives you unlimited executions — the exact thing SaaS tools charge for — plus 500+ pre-built nodes for Gmail, Slack, Notion, Postgres, Telegram, and essentially every AI provider (OpenAI, Anthropic, Ollama, Groq).
Setup on the Pi takes one Docker command:
docker run -d --name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e GENERIC_TIMEZONE="UTC" \
docker.n8n.io/n8nio/n8n
Then open http://raspberrypi.local:5678 and you’re building workflows visually. The killer feature in 2026 is the AI Agent node — you can chain an LLM call, a tool call, and a database write in one flow without writing glue code. My daily blog-monitoring workflow (RSS fetch → AI summary → Telegram digest) runs on a 6 AM schedule and hasn’t failed once in eight weeks.
Weaknesses: it’s the heaviest option (~350 MB RAM idle), and debugging a complex workflow can be fiddlier than reading a script. On a Pi 4 with 1 GB RAM, I’d skip it.
Best for: webhooks, SaaS-to-SaaS integration, AI pipelines, anything where you’d otherwise pay Zapier.
Node-RED: The IoT and Home-Lab Specialist
Node-RED is the oldest of the three and the lightest. It was built at IBM for wiring together hardware devices, APIs, and online services, and that heritage shows: MQTT, serial ports, GPIO, Modbus, and Home Assistant integrations are first-class citizens.
sudo apt install nodejs npm -y
sudo npm install -g --unsafe-perm node-red
node-red-start
The flow editor at port 1880 is genuinely pleasant for event-driven logic: “if door sensor opens AND time > 22:00, then turn on hallway light and send push notification.” The built-in dashboard lets you build control panels for your house without touching frontend code.
Weaknesses: its integration library is thinner than n8n’s for modern SaaS/AI APIs, and flows degrade into “wire spaghetti” faster than n8n workflows do.
Best for: home automation, sensor networks, MQTT, dashboards, anything touching hardware.
cron + Scripts: Still Undefeated for 90% of Jobs
Here’s the contrarian take: before installing anything, ask whether the job is actually just a script on a schedule. cron has been shipping with every Linux system since 1975, uses 5 MB of RAM, has zero attack surface, and will still be working in ten years with zero updates.
My own automation stack is mostly Python scripts called from crontab:
# Backup the blog repo nightly
0 3 * * * cd ~/blog && git pull && git push origin main
# Scrape competitor pricing every 6 hours
0 */6 * * * /usr/bin/python3 ~/scripts/price_monitor.py >> ~/logs/prices.log 2>&1
# Renew TLS certs weekly
30 4 * * 1 /home/sean/scripts/cert_renew.sh
The Python standard library alone — urllib, json, sqlite3, smtplib, zipfile, sched — covers most “I need to automate X” requests with no pip install and no version drift. The trick is discipline: one script per job, append logs to a file, and send yourself an email/Telegram message on failure.
💡 Want this part pre-built? My Python Automation Scripts pack is a collection of the exact zero-dependency scripts I run on this Pi — backups, web monitors, file processors, email alerts, all stdlib-only and copy-paste ready. One-time purchase, lifetime updates.
Weaknesses: no visual editor, no built-in retries, no dashboard. You’re writing the glue yourself, and debugging means reading logs.
Best for: scheduled jobs, file processing, backups, scraping, anything deterministic.
Real-World Benchmarks on a Raspberry Pi 5
Both Pi 5 (4 GB) and Pi 4 (2 GB), all running headless Raspberry Pi OS Lite:
| Metric | Pi 5 (4 GB) | Pi 4 (2 GB) |
|---|---|---|
| n8n boot time | ~9 s | ~22 s |
| Node-RED boot time | ~4 s | ~9 s |
| Total idle RAM (all three + Docker) | ~620 MB | ~620 MB |
| Simple workflow latency (webhook → HTTP call) | ~180 ms | ~450 ms |
Everything fits comfortably on a 2 GB Pi as long as you don’t run n8n and heavy AI models simultaneously. If you need headroom — or you’d rather not manage hardware at all — a $5/month VPS running Docker is a solid alternative; I keep a redundant copy of my stack on Vultr and DigitalOcean for exactly this reason.
My Recommendation by Use Case
| You want to automate… | Use this |
|---|---|
| “When X happens in SaaS tool A, do Y in tool B” | n8n |
| AI content pipelines, RAG, agent chains | n8n (or plain Python for complex logic) |
| Sensors, lights, MQTT, home dashboards | Node-RED |
| Nightly backups, scrapers, file crunching | cron + Python |
| Anything you can do in < 50 lines of Python | cron + Python — don’t over-engineer |
The anti-pattern to avoid: running n8n just to trigger a single shell script at 3 AM. That’s a cron job wearing a costume.
The Stack That Actually Runs This Blog
For reference, this site’s entire publishing pipeline is self-hosted automation:
- cron — rotates blog topics weekly and triggers the writing agent
- Python script — drafts posts, commits to Git, submits URLs to Bing IndexNow
- n8n — monitors the published pages and alerts me on Telegram if a post 404s
- Node-RED — watches CPU temperature on the Pi and throttles if it creeps past 70°C
If you want the AI-agent layer (the part that makes decisions, not just schedules), my AI Agent Toolkit ($9) ships the zero-dependency CLI scripts and cron templates behind this whole setup — it runs on any Linux box, Pi included.
Self-hosting automation isn’t about saving $20/month, though you will. It’s about owning the whole loop: your data, your schedule, your failure modes. Once everything runs on a board that costs less than dinner, automation stops being a subscription and starts being infrastructure.
Running automation on your own hardware? Tell me what’s in your crontab — I’m always collecting new patterns.