Run n8n Without Docker: 3 Setup Routes Compared
Most people who Google "run n8n without Docker" have already read the official docs, noticed the install command starts with docker run, and closed the tab. Fair. Docker is a reasonable tool for developers who use it daily, but if you're a marketer, ops manager, or solo founder who just wants n8n's workflow editor running — Docker is a yak shave, not a feature.
The good news: Docker is genuinely optional. The bad news: the alternatives each come with their own caveats. This post walks you through all three realistic routes so you can pick one that actually fits your situation.
The Three Routes
Route 1: npm install n8n — Local Machine
n8n ships as a Node.js package. If you have Node 18+ installed, this works:
npm install -g n8n
n8n start
Your editor opens at http://localhost:5678. No Docker, no container runtime, nothing. Workflows you build persist in ~/.n8n/ as SQLite by default.
What it's good for: Testing n8n locally before committing to anything. Building a workflow, exporting it, understanding the node library.
What breaks in practice:
- It only runs while your laptop is open. A Schedule Trigger node that fires every day at 9 AM silently does nothing when your machine is sleeping.
- Webhooks (
/webhook/…URLs) point tolocalhost. External services like Stripe, GitHub, or Typeform can't reach them. You'd need a tunnel (ngrok, Cloudflare Tunnel) to receive anything from the internet — and those tunnels die when your laptop restarts. - Upgrades are manual:
npm update -g n8n, then cross your fingers nothing broke. - AI/LLM nodes need OpenAI, Anthropic, or another API key you supply yourself. The nodes appear but produce errors until you wire up credentials.
Verdict: Good for exploration. Not viable for anything you actually want to run.
Route 2: VPS + npm (or Docker Compose) — Your Own Server
Rent a $6/mo VPS (Hetzner, DigitalOcean, Fly.io), SSH in, install Node, run n8n as a process managed by pm2 or systemd. Or use Docker Compose if you're willing to learn just enough Docker to paste a docker-compose.yml.
With a VPS you get:
- A real public IP — webhooks work, Schedule Triggers fire 24/7.
- Full control over your data and config.
- Freedom to run Postgres instead of SQLite for reliability.
But you also take on:
| Task | Who does it | How often |
|---|---|---|
| SSL certificate (HTTPS) | You (Caddy/nginx + Let's Encrypt) | Initial + renewal |
| OS security patches | You | Ongoing |
| n8n version upgrades | You | Every release |
| Postgres backup | You | Daily ideally |
| Port firewall rules | You | Initial + any change |
| PM2/systemd restart on crash | You | Configure once, debug when it stops working |
None of these are hard, but each one is a context switch away from the workflow you actually wanted to build. And when something breaks at 2 AM because a dependency updated, you're the on-call engineer.
AI nodes on a self-hosted VPS: You still need your own API keys. The OpenAI node, Anthropic node, or any AI/LLM node in n8n asks for credentials you paste in. That's extra cost on top of your VPS bill, tracked and billed separately by each provider.
Verdict: The right call for developers who want full control and don't mind the ops overhead. Not the right call if "ops" is not your job.
Route 3: One-Click Hosting — Your Own Instance, No DevOps
A third category has emerged: providers that spin up a pre-configured n8n instance for you, give you a public URL, and handle all the infrastructure underneath. You get the full n8n editor — your login, your workflows, your data — without touching a server.
This is distinct from a shared hosting environment: you own the instance. Your workflows run in isolation on hardware dedicated to your workspace, and your data doesn't commingle with other users' data. It's self-hosting without the self-hosting.
What you avoid:
- Choosing a VPS provider and region
- Installing and configuring Node, Postgres, nginx, Certbot
- Writing a
docker-compose.yml(or learning Docker at all) - Setting up PM2/systemd and figuring out why it's not restarting
- Renewing SSL certs
- Upgrading n8n between versions
The AI-nodes question is where one-click hosting splits into two camps:
| Provider | Hosting model | AI nodes need |
|---|---|---|
| Elestio | Docker-based deploy | Your own API keys |
| Sliplane | Docker-based deploy | Your own API keys |
| n8n Cloud (official) | Hosted by the n8n team | Your own API keys |
| AgentRoost | Your own isolated instance | AI credits included — no keys |
Every competitor in this space is bring-your-own-API-key (BYOK). You still have to sign up for OpenAI, paste the key into n8n's credentials, and manage a separate bill. On AgentRoost, LLM/AI credits are bundled into the subscription price. The AI nodes — the ones that call an LLM, generate text, classify data — are pre-wired and working the moment your instance starts. You don't configure anything.
Honest Comparison Table
| Local npm | VPS (self-managed) | One-click hosting | |
|---|---|---|---|
| Docker required? | No | Optional | No |
| Works 24/7? | No | Yes | Yes |
| Webhooks (public HTTPS)? | No (tunnel needed) | Yes (you set up SSL) | Yes (auto-provisioned) |
| AI nodes work out of the box? | No | No | Yes (on AgentRoost) |
| Ops burden | Low start, breaks silently | High | None |
| Upgrade n8n | Manual | Manual | Managed |
| Monthly cost | ~$0 | $6–12 VPS + API keys | From $19.99 all-in |
| Data control | Local only | Full | Your isolated instance |
Who Should Pick What
Pick local npm if you want to learn n8n's node library before committing to anything. Build a workflow, export it as JSON, understand what nodes you need. Treat it as a sandbox, not a production setup.
Pick a self-managed VPS if you're a developer who wants root access, plans to run other services on the same machine, and is comfortable with Linux administration. Budget an hour upfront and occasional maintenance windows.
Pick one-click hosting if you want a working n8n instance — with AI nodes that actually fire — without the ops overhead. Especially if you're building automations that involve LLM calls, AI classification, or text generation and you don't want to track a separate API key bill.
How to Do It on AgentRoost (the No-Docker Route)
- Sign up at agentroost.app (email/password, Google, Microsoft, or Discord).
- From your dashboard, pick n8n as your framework.
- Name your instance — your editor will open at
https://<your-id>.agentroost.app. - Open any workflow, drop in an AI/LLM node (e.g., the OpenAI node or the built-in AI Agent node), and run it. The credentials are already wired to your included credits. No API key prompt.
- Build your workflow. Webhooks get a real public HTTPS URL automatically — paste it into Stripe, GitHub, Typeform, or whatever triggers your flow.
Pricing starts at $19.99/mo — that's roughly what you'd spend on a $6 VPS plus a separate LLM API credit budget, bundled with zero setup and a 14-day money-back guarantee. Plus and Pro tiers add more compute and more included AI credits if your workflows are heavier.
Compare plans — or go straight to the n8n instance page to see what's included.
A Note on AI Nodes Specifically
If your use case is purely data transformation — copying rows from a spreadsheet, sending Slack messages, chaining HTTP requests — any of the three routes will serve you. The n8n core is open-source and the non-AI nodes work identically everywhere.
But if you're building anything that involves:
- Summarizing emails or documents
- Classifying customer feedback
- Generating draft replies or content
- Running an AI agent that decides which branch of a workflow to take
- Calling a local or hosted LLM to process data
...then the BYOK tax starts to matter. On a self-managed setup you're paying for the VPS and the API credits and your time. On n8n Cloud you're paying a hosting fee and the API credits. On AgentRoost the credits are folded in — you pay one price and the AI nodes just work, across 350+ LLM models you can switch between at any time.
The "run n8n without Docker" question usually means "I want n8n without the complexity." Local npm gets you there for five minutes; a one-click instance gets you there permanently.
Frequently asked questions
Can I run n8n without Docker at all?
Yes. n8n is a Node.js application and installs cleanly via npm install -g n8n. Docker is shown prominently in the official docs because it's the most consistent cross-platform approach for self-hosters, but it's not required. One-click hosting providers like AgentRoost also give you a running n8n instance with no Docker involvement whatsoever.
Do I need to provide my own API keys for the AI nodes?
On a self-managed install (VPS or local npm) you do — the OpenAI, Anthropic, and other AI/LLM credential fields are blank until you fill them in. On AgentRoost, LLM/AI credits are included in your subscription, so the AI nodes work immediately without you pasting in any key.
What happens to my workflows if I cancel?
n8n has a built-in export feature: go to Settings → Export, and download all your workflows as a JSON file. You can import that file into any other n8n instance — local, VPS, or another provider — at any time. Your data is yours.
Can I use my own custom n8n nodes on a hosted instance?
Community nodes and custom nodes require filesystem access to the ~/.n8n/nodes directory and usually an n8n restart. Whether that's available depends on the hosting provider. Check the provider's documentation for community-node support before signing up if this is a requirement.
Is there a free plan or trial?
AgentRoost doesn't have a free tier. Plans start at $19.99/mo and come with a 14-day money-back guarantee — so you can build a real workflow, see if it fits, and request a refund within two weeks if it doesn't.