Why n8n?
Zapier charges per task. Make charges per operation. n8n self-hosted is unlimited:
- 400+ integrations — Gmail, Slack, Notion, GitHub, Airtable, databases, and more.
- Visual workflow builder — Drag, drop, connect nodes.
- Custom code — JavaScript/Python nodes for complex logic.
- No per-execution costs — Unlimited workflows, unlimited runs.
- Self-hosted — Your data never leaves your server.
Prerequisites
- Docker on any Linux server.
- At least 512 MB RAM.
Step 1: Deploy with Docker
docker run -d \
--name n8n \
--restart=always \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=changeme \
-e WEBHOOK_URL=https://n8n.example.com/ \
n8nio/n8n
Access at http://your-server:5678.
Step 2: Build a Workflow
A workflow consists of trigger → process → action:
[Webhook Received] → [Extract Data] → [Send to Slack] → [Log to Google Sheets]
Example: Server Alert Pipeline
- Trigger: Webhook (receives alert from Uptime Kuma)
- IF node: Check if status is “down”
- Slack node: Post alert to #incidents channel
- Ntfy node: Send push notification to phone
- Google Sheets node: Log incident with timestamp
Step 3: Common Automation Recipes
| Recipe | Trigger | Actions |
|---|---|---|
| Lead capture | Form webhook | → CRM + Welcome email |
| Server monitoring | Uptime Kuma webhook | → Slack + Ntfy + Log |
| Content publishing | RSS feed | → Format + Twitter + LinkedIn |
| Invoice processing | Email (IMAP) | → Extract PDF + Accounting API |
| Database sync | Schedule (hourly) | → Query DB + Update Airtable |
| CI/CD notifications | GitHub webhook | → Build status → Slack |
n8n vs Zapier vs Make
| Feature | n8n (self-hosted) | Zapier | Make |
|---|---|---|---|
| Cost | Free (unlimited) | $20+/mo (limited tasks) | $9+/mo (limited ops) |
| Integrations | 400+ | 6000+ | 1500+ |
| Custom code | JavaScript + Python | Limited | Limited |
| Self-hosted | Yes | No | No |
| Error handling | Advanced branching | Basic retry | Basic retry |
| Best for | Developers, power users | Non-technical users | Mid-range |
Troubleshooting
| Problem | Solution |
|---|---|
| Webhook not receiving data | Verify WEBHOOK_URL env var matches your domain; check firewall for port 5678 |
| Credential connection failed | Check API keys/tokens in the credential settings; test with curl first |
| Workflow runs but no output | Check node execution order; enable “Always Output Data” on IF nodes |
| High memory usage | Limit concurrent executions: EXECUTIONS_PROCESS=main and EXECUTIONS_TIMEOUT=60 |
Summary
- Visual workflow builder connects 400+ apps without code.
- Custom code nodes (JS/Python) for anything integrations don’t cover.
- No per-execution pricing — unlimited self-hosted workflows.
- Integrates with the self-hosted ecosystem (Uptime Kuma, Ntfy, Gitea).