
Hey folks 👋
So lately, I’ve been playing around with n8n — you know, that open-source workflow automation tool that kind of feels like Make.com, but you can actually run it on your own server.
If you’ve ever used Make.com (or Zapier), you already get the idea:
You connect your apps, drag some nodes around, and build workflows that just do stuff automatically.
But here’s the thing — I got curious about what it’s like to self-host n8n instead of relying on a SaaS platform like Make.com. And wow, it’s a game changer in many ways.
Let’s talk about what I learned, how I set it up with Docker, and I’d love to hear what you prefer — Make.com, n8n Cloud, or going full self-host like me?
What is n8n (and How It Compares to Make.com)
If you’ve never used n8n, think of it as “Make.com meets open source”.
You still get that nice visual workflow builder, but the big difference is:
👉 You can host it yourself, anywhere — local machine, VPS, or even a Raspberry Pi.
👉 You’re not charged per “operation” or “task.”
👉 You have full control over your data and integrations.
Make.com, on the other hand, is awesome for ease of use — it’s cloud-based, super polished, and beginner-friendly. But it also means:
- You depend on their pricing model (which can get expensive as your automations grow).
- You don’t fully own your data or workflows.
- You can’t really customize or self-extend the system.
So… if you’re the kind of dev who likes freedom, control, and tinkering, n8n is definitely your vibe.
My n8n Self-Hosting Setup (Simple Docker Compose)
Here’s the Docker setup I use. It’s simple — one Postgres container for the database and one for n8n itself.
version: '3.8'
volumes:
db_storage:
name: n8n_db_storage
n8n_storage:
name: n8n_n8n_storage
services:
postgres:
container_name: n8n-postgres
image: postgres:16
restart: always
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_NON_ROOT_USER=${POSTGRES_NON_ROOT_USER}
- POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
volumes:
- db_storage:/var/lib/postgresql/data
networks:
- n8n-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s
timeout: 5s
retries: 5
n8n:
container_name: n8n-app
image: n8n:latest
restart: always
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_TEMPLATES_ENABLED=false
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOLS_USAGE=true
ports:
- 5678:5678
volumes:
- n8n_storage:/home/node/.n8n
networks:
- n8n-network
depends_on:
postgres:
condition: service_healthy
networks:
n8n-network:
driver: bridge
If you’re already using Docker, you can literally copy this into a docker-compose.yml, run docker compose up -d, and your n8n instance is live at http://localhost:5678.
No fancy cloud account, no per-operation pricing, no limits. Just you and your workflows.
Why I Prefer Self-Hosting n8n
Here’s what really stood out after running my own n8n instance 👇
🧠 1. I Own My Data
Every workflow, credential, and log stays on my server. Nothing leaves unless I want it to. That’s huge if you’re working with private APIs or internal tools.
💸 2. No “per operation” cost
Make.com is amazing, but those monthly operation limits can hit you fast.
With self-hosted n8n, you can run thousands (or millions) of executions — no extra bill.
🧩 3. Full Customization
You can use code nodes, install community packages, and connect internal APIs. Want a custom node for your own microservice? Go for it.
⚙️ 4. Control and Flexibility
You decide when to upgrade, what plugins to run, and where your data lives.
Plus, you can scale later — n8n supports queue mode and worker nodes if you need it.
☁️ 5. Option to Go Hybrid
If hosting isn’t your thing, n8n Cloud is still an option — same tool, managed by them.
You can even start self-hosted and migrate to the Cloud later (or the other way around).
Make.com vs n8n (Quick Comparison)
| Feature | Make.com | n8n (Self-Hosted) |
|---|---|---|
| Pricing | Pay per operation | Free (self-hosted) |
| Data control | Stored on Make.com servers | 100% yours |
| Customization | Limited | Very flexible |
| Setup | Instant (cloud) | Needs Docker or server |
| Scaling | Automatic | Manual (but customizable) |
| API access | Built-in | Custom-ready |
| Open source | ❌ No | ✅ Yes |
But It’s Not All Perfect
Let’s be real — self-hosting n8n also means you’re responsible for the server.
You’ll need to:
- Keep Docker and n8n updated
- Back up your Postgres data
- Handle SSL (use Traefik or NGINX for HTTPS)
- Monitor uptime and logs
It’s not hard, but it’s not “set it and forget it” either.
Still, if you’re comfortable spinning up containers or managing small servers, it’s totally worth it.
Final Thoughts (and a Question for You 👇)
After running both, here’s my take:
- Make.com = great for beginners, quick to start, and perfect for small automations.
- n8n Self-Hosted = best if you want full control, privacy, and zero recurring automation fees.
Personally, I love having my own n8n instance running in Docker. It feels like I own my automation stack — and I can tweak anything I want.
But now I’m curious…
👉 What are you using for your automations?
- Make.com?
- n8n Cloud?
- Or are you self-hosting like me?
Drop your setup and why you chose it — I’d love to hear your perspective.
💬 Let’s Chat!
If you’ve tried both, share your pros and cons below!
You Might Also Like
- 👉 Getting Started with GitHub Actions: Your First CI/CD Pipeline
- 👉 Understanding GitHub Actions Workflow Files (YAML Explained in Detail)
- 👉 GitHub Actions for Testing: Run Unit Tests Automatically
- 👉 GitHub Actions for Deployment: Automating App Releases
- 👉 GitHub Actions Secrets and Security Best Practices
- 👉 GitHub Actions Caching and Performance Optimization
🛠️ Recommended Tools for Developers & Tech Pros
Save time, boost productivity, and work smarter with these AI-powered tools I personally use and recommend:
1️⃣ CopyOwl.ai – Research & Write Smarter
Write fully referenced reports, essays, or blogs in one click.
✅ 97% satisfaction • ✅ 10+ hrs saved/week • ✅ Academic citations
2️⃣ LoopCV.pro – Build a Job-Winning Resume
Create beautiful, ATS-friendly resumes in seconds — perfect for tech roles.
✅ One-click templates • ✅ PDF/DOCX export • ✅ Interview-boosting design
3️⃣ Speechify – Listen to Any Text
Turn articles, docs, or PDFs into natural-sounding audio — even while coding.
✅ 1,000+ voices • ✅ Works on all platforms • ✅ Used by 50M+ people
4️⃣ Jobright.ai – Automate Your Job Search
An AI job-search agent that curates roles, tailors resumes, finds referrers, and can apply for jobs—get interviews faster.
✅ AI agent, not just autofill – ✅ Referral insights – ✅ Faster, personalized matching