Somewhere in your work week, there’s a chunk of time that disappears into tasks a computer should be doing for you. Copying a new lead from a form into a spreadsheet. Checking an inbox for a specific kind of email and forwarding it somewhere. Pulling numbers from an API every morning to build the same report. None of it is hard. All of it is repetitive. And repetitive work done by hand is exactly the kind of thing that quietly eats hours you never get back.
That’s the gap n8n is built to close. It’s a workflow automation platform — think of it as the connective tissue between the apps, APIs, and AI models you already use — except unlike most of its competitors, you can run the whole thing on your own server for nothing but the cost of the hardware. This piece covers what n8n actually does, why it’s worth learning even if you’re not a developer, how to self-host it with Docker in under fifteen minutes, and where the “free” label does and doesn’t hold up.
What n8n Actually Is
n8n (pronounced “n-eight-n,” short for “nodemation”) is a workflow automation tool with a visual, node-based editor. You drag nodes onto a canvas, connect them with lines, and each node does one job: trigger on a new email, call an API, transform some data, post to Slack, write a row to a database. Chain enough of these together and you’ve replaced a manual process with something that runs itself, on a schedule or in response to an event, without you touching it again.
It started life as an open alternative to Zapier. By 2026 it’s grown into something broader: a platform where traditional “if this, then that” automation and AI-agent orchestration live side by side. You can build a simple workflow that reposts an RSS item to Twitter, and in the same tool build a multi-step AI agent that reads a document, calls a language model to summarize it, checks the summary against a set of rules, and only then publishes it — with retries, error handling, and memory built in.
Two things make n8n worth a second look compared to the alternatives most people default to:
- It’s source-available and self-hostable. The Community Edition runs under n8n’s Sustainable Use License — it’s free to run for your own business or personal use, indefinitely, on your own infrastructure. It’s worth being precise here, because n8n’s marketing leans on the term “open source” fairly loosely: the Sustainable Use License is a “fair-code” license, not an OSI-approved open source license like MIT or Apache. The practical difference for you as a user is small (you can read the code, modify it, self-host it, free of charge), but the license specifically blocks reselling n8n itself as a competing hosted service — so don’t expect to fork it and launch “n8n but cheaper.”
- It prices by execution, not by step. Zapier and Make charge per individual action inside your automation, so a workflow with ten steps that runs ten thousand times can rack up a bill fast. n8n’s cloud plans charge per full workflow run, meaning a ten-step workflow and a two-step workflow cost the same to execute. Self-hosted, this question doesn’t even apply — you’re not billed per execution at all.
Core Features and Capabilities
Here’s what actually sits inside the platform, stripped of marketing language.
Visual Canvas editor. Since the Canvas UI shipped in early 2026, workflows live on a freeform spatial canvas rather than a rigid left-to-right chain. You can group related nodes into labeled clusters, color-code them by function, and zoom out to see the shape of a large automation at a glance. It’s a meaningful usability jump from the flat builder n8n used before.
A large, honest integration library. n8n ships with several hundred built-in native integrations covering the usual suspects — Slack, Google Workspace, Notion, HubSpot, GitHub, Airtable, Postgres, and so on. You’ll see wildly different numbers thrown around online — anywhere from “400+” to “1,400+” — because different sites count triggers and actions as separate integrations, the way Zapier does. n8n counts one app as one node regardless of how many operations it exposes, so the honest comparison is closer than the headline numbers suggest. More importantly, the built-in HTTP Request node lets you call literally any REST API, and self-hosted instances can install any of the 500+ community node packages published on npm — so “no native integration” rarely means “can’t be done.”
AI Agent nodes, built in, not bolted on. This is where n8n has pulled ahead of Zapier and Make in the last year. The AI Agent node supports tool-calling across Claude, GPT-4o and o1, Gemini, Groq, Mistral, and any OpenAI-compatible endpoint — including locally hosted models through Ollama, if you’d rather keep inference off the internet entirely. Four memory node types (in-memory, Redis, Postgres, and Motorhead) let an agent hold context across a conversation or a long-running task, and vector store nodes for Pinecone, Qdrant, and Supabase support retrieval-augmented workflows without custom code.
A Code node for when point-and-click isn’t enough. Drop into JavaScript or Python mid-workflow to transform data, hit an edge case the visual nodes don’t cover, or reuse a script you already have. This is the escape hatch that keeps n8n from hitting the ceiling every no-code tool eventually runs into.
Real error handling. Per-node retry logic with exponential backoff, plus dedicated error workflows that trigger when something fails, mean an automation quietly breaking at 3 a.m. is far less likely to go unnoticed than in simpler tools.
Triggers for almost anything. Cron schedules, incoming webhooks, polling triggers, form submissions, chat triggers, and app-specific events (a new row in a spreadsheet, a new file in a folder) all work as starting points.
Portability and governance for teams. Workflows can now be bundled into a portable .n8np package and moved between instances via the CLI or the API — useful for promoting a workflow from a test instance to production. Git-backed version control, environments, and role-based access sit behind the paid Business and Enterprise tiers, which matters if you’re deploying this across a team rather than just for yourself.
n8n vs. Zapier vs. Make: The Honest Comparison
None of these three tools is objectively “the best” — they’re built for different people. Here’s how they actually stack up as of 2026.
| n8n | Zapier | Make | |
|---|---|---|---|
| Self-hosting | Yes, free (Community Edition) | No | No |
| Pricing model | Per workflow execution (cloud) / free (self-hosted) | Per individual task | Per operation |
| Entry price (cloud) | ~€20/month | ~$20/month | ~$9/month |
| Native integrations | 400+ built-in, unlimited via HTTP node and community packages | 6,000–8,000+ (counted per trigger/action) | ~2,000 |
| Learning curve | Moderate to steep — technical users get the most value | Lowest — built for non-technical users | Moderate |
| AI agent building | Deep — native agent, memory, and tool-calling nodes | Basic — AI as another connected app | Moderate — direct AI connectors, less agent-native |
| Custom code | Native JavaScript/Python node | Limited (Zapier’s “Code” step) | Limited (Make’s “Custom code” app) |
| Data residency | Fully yours if self-hosted | US servers | EU servers |
If you’re not technical and just need App A to talk to App B without touching a terminal, Zapier’s simplicity is genuinely worth paying for. If you want powerful branching logic with a gentler learning curve than n8n and don’t need self-hosting, Make is a solid middle ground. If you’re comfortable with (or willing to learn) a bit of technical setup, want your data to never leave your own server, and want automation costs to stop scaling with how complex your workflows get — n8n is the one built for you.
How n8n Actually Saves You Time
The “automation saves time” pitch is easy to make and easy to overstate. Here’s what it looks like concretely:
- Lead and form handling. A form submission triggers a workflow that adds the contact to your CRM, sends a Slack notification, and fires off a personalized welcome email — all in the seconds after someone hits submit, with zero copy-pasting.
- Inbox triage. An AI node reads incoming support emails, classifies them by urgency and topic, and routes them to the right channel or person, so a human only looks at messages that actually need a human.
- Content and document pipelines. A workflow watches a folder or feed for new source material, runs it through an AI node for summarization or analysis, formats the output, and publishes or drafts it on a schedule — the kind of pipeline that turns a backlog of raw material into structured content without someone manually processing each item.
- Scheduled reporting. Instead of logging into three dashboards every Monday morning, a cron-triggered workflow pulls the numbers, compiles them, and drops a digest into your inbox or Slack before you’ve had coffee.
- Approval chains. A workflow pauses and waits for a human to approve or reject via a Slack button or a form, then continues — useful for anything that needs a person in the loop without needing a person to babysit it.
None of these are exotic. That’s the point — they’re the unglamorous, recurring tasks that never feel worth automating individually but add up to real hours every week once you count them.

Self-Hosting n8n with Docker: The Actual Free Path
This is where the “free” claim gets tested. The Community Edition software costs nothing. Running it still needs somewhere to run — your own machine, a home server, or a cheap VPS. If you already have an always-on Linux box, this section costs you literally nothing. If not, a basic VPS (roughly $5–6/month from providers like Hetzner, DigitalOcean, or OVH) is enough for personal or small-team use. Either way, be upfront with yourself: self-hosting trades a subscription fee for a small amount of setup and ongoing maintenance. That trade is worth it for a lot of people — just don’t pretend the maintenance time is zero.
The instructions below assume Ubuntu, since it’s the default on most VPS providers and the most common choice for a self-hosted n8n box.
Prerequisites
- A server or machine running Ubuntu (or any Linux distro Docker supports), with at least 2 GB of RAM — 4 GB if you plan to use the AI Assistant features.
- Docker and Docker Compose installed. If you don’t have Docker yet:
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
Log out and back in (or run newgrp docker) so your user can run Docker without sudo.
Method 1: The One-Line Setup (fastest)
n8n now ships an official installer script that replaces the old npm install n8n approach (which is being phased out as n8n moves to Docker-only distribution). It checks for Docker, creates a project folder, writes the configuration files, and starts everything — all in one command:
curl -fsSL https://get.n8n.io | sh
A successful run creates an n8n folder in your current directory, generates a .env file with unique secrets, and starts n8n at http://localhost:5678 (or http://your-server-ip:5678 if you’re on a remote machine). Check docs.n8n.io for the current stable version if you want to pin a specific one with --version.
Everyday commands once it’s running:
# Stop n8n
docker compose -f ./n8n/compose.yml down
# Start it again
docker compose -f ./n8n/compose.yml up -d
# Upgrade to the latest version
curl -fsSL https://get.n8n.io | sh -s -- --upgrade
Method 2: Manual Docker Compose (more control)
If you’d rather write the configuration yourself, understand exactly what’s running, or you’re folding n8n into an existing Compose project, set it up by hand.
Create a project folder and a compose.yml file:
mkdir n8n && cd n8n
nano compose.yml
Paste in a baseline configuration:
volumes:
n8n_data:
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=your-domain-or-server-ip
- N8N_PORT=5678
- N8N_PROTOCOL=http
- WEBHOOK_URL=http://your-domain-or-server-ip:5678/
- GENERIC_TIMEZONE=Etc/UTC
- N8N_ENCRYPTION_KEY=replace-this-with-a-long-random-string
volumes:
- n8n_data:/home/node/.n8n
Replace your-domain-or-server-ip and generate a proper random string for N8N_ENCRYPTION_KEY (this key encrypts your saved credentials — write it down somewhere safe, because losing it means losing access to every stored credential). Then start it:
docker compose up -d
This baseline uses SQLite, which is fine for personal use or light workloads. For anything running around the clock with more than a handful of users, swap in PostgreSQL by adding a postgres service and pointing n8n at it:
postgres:
image: postgres:16
restart: unless-stopped
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=replace-this-password
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n -d n8n"]
interval: 5s
timeout: 5s
retries: 10
Add postgres_data: under the top-level volumes: section, and add these environment variables (plus a depends_on block) to the n8n service:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=replace-this-password
Note this only works cleanly on a fresh instance — n8n migrates itself to Postgres on startup, but existing SQLite data doesn’t carry over automatically.
First Login
Open http://your-server-ip:5678 in a browser. Since n8n version 1.0, there’s no way to skip authentication — you’ll be prompted to create an owner account with an email and password on first load. This is mandatory and can’t be disabled, which is a good thing: earlier versions allowed running without any login screen at all, which is exactly the kind of default that gets a publicly reachable server compromised.
Securing It Before You Forget To
A self-hosted instance sitting on a raw IP with port 5678 open to the world is a bad idea. Before you consider it “done”:
- Put it behind a reverse proxy with HTTPS. Nginx, Caddy, or Traefik in front of n8n, with a free certificate from Let’s Encrypt, means your login and credentials aren’t traveling in plaintext.
- Don’t expose the raw port. Only open 80/443 (through the proxy) on your firewall — not 5678 directly.
- Back up your encryption key and database. Without the encryption key, your stored credentials are unrecoverable even if you still have the database file.
- Keep it updated. New minor versions ship most weeks. You don’t need every one, but don’t let a self-hosted instance go stale for months at a time, especially if it’s internet-facing.
Is n8n Actually Free? The Honest Breakdown
- Community Edition, self-hosted: Free forever, no execution limits, almost the complete feature set. What’s missing: multi-user workflow/credential sharing, SSO, environments, and Git-based version control — those require a Business or Enterprise license key applied to the same self-hosted binary.
- n8n Cloud: Paid, starting around €20/month, execution-based pricing, no server management required. Worth it if you don’t want to touch infrastructure at all.
- Business / Enterprise license (self-hosted): A paid license key that unlocks team features on your own self-hosted instance — you’re paying for the collaboration and compliance tooling, not the automation engine itself.
For a solo user or a small team comfortable with basic server administration, the Community Edition genuinely delivers on “free.” Just budget for the few dollars a month a small VPS costs if you don’t already have somewhere to run it, and budget some of your own time for the setup and occasional maintenance above.
Frequently Asked Questions
Do I need to know how to code to use n8n? No — most workflows can be built entirely with the visual node editor. Coding knowledge (JavaScript or Python) opens up the Code node for edge cases the built-in nodes don’t cover, and helps a lot when debugging, but it isn’t a requirement to get started.
Is self-hosted n8n secure? It can be, but security is your responsibility rather than a vendor’s. Put it behind HTTPS, keep the encryption key backed up separately from the server itself, don’t expose port 5678 directly to the internet, and keep the instance updated.
Can I run n8n on something as small as a Raspberry Pi or a free-tier VPS? Yes, for light personal use. n8n’s own guidance recommends at least 2 GB of RAM (4 GB if you want the AI Assistant features), so check your device or free-tier plan meets that before committing.
What’s the real difference between Community, Business, and Enterprise editions? They’re the same underlying software — Business and Enterprise unlock features via a license key rather than being separate installs. The differences are mostly about teams: multi-user sharing, SSO, Git-based environments, and priority support, not core automation capability.
How do I update a self-hosted instance? With the one-line setup: curl -fsSL https://get.n8n.io | sh -s -- --upgrade. With manual Docker Compose: docker compose pull followed by docker compose up -d.
Where This Leaves You
n8n isn’t the right tool for absolutely everyone — if you want zero technical setup and don’t mind paying for that convenience, Zapier still does that better than n8n ever will. But for anyone willing to spend fifteen minutes on a Docker setup, the trade is a genuinely capable automation and AI-agent platform that costs nothing to run, doesn’t punish you for building complex workflows, and keeps your data on infrastructure you control. Given how much of the average work week is spent on tasks a well-built workflow could handle instead, that fifteen minutes tends to pay for itself the first week you use it.