Deploy n8n 3.0

n8n 3.0 with Postgres and JS + Python task runners

Deploy n8n 3.0

Just deployed

/home/node/.n8n

Just deployed

/var/lib/postgresql/data

Deploy and Host self hosted n8n 3.0 (Workflow Automation with Python Task Runners) on Railway

This template runs n8n 3.0.1 with Postgres 18 and a separate task-runner sidecar, so Code-node JavaScript and Python both execute outside the main process.

About Hosting n8n 3.0 open-source software on Railway (self hosted n8n 3.0 template)

This template runs n8n 3.0.1 the way n8n recommends for production: the main n8n service uses the n8nio/n8n:3.0.1 image, and a separate n8n-runners sidecar uses n8nio/runners:3.0.1 so Code node JavaScript and Python execute outside the main process.

Why Deploy n8n 3.0, the Zapier / Make alternative on Railway (Railway Free Trial)

Zapier bills per task, so a busy webhook or nightly sync gets expensive fast. n8n Community Edition is free under the Sustainable Use License, and you only pay for the Railway compute and Postgres underneath.

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying n8n 3.0 on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Railway vs Other Hosting Providers and VPS for n8n 3.0 self hosting

Here is how the n8n 3.0 stack compares across common options.

ProviderWhat You Get with RailwayWhat You Get with the Other Provider
DigitalOceanThree linked services (n8n, runners, Postgres 18) from one template, with generated secrets.A Droplet you manage, with cheap compute but you own Docker, backups and OS updates.
AWSOne click to a working stack with private networking and no IAM or VPC setup.Fine-grained control and managed services, with a steeper learning curve.
HetznerRunners sidecar wiring and the private link to the broker are handled for you.Very cheap VPS capacity, but you build the Compose file, TLS and backups yourself.

Railway is the faster path if you want the least setup work for this stack.

Common Use Cases for hosted n8n 3.0

  • Python Code nodes for data cleanup: Pull a CSV from a webhook, run a Python Code node to normalize dates and dedupe rows, then push the clean records to your database. The Python runs in the sidecar, so no extra setup is needed.
  • Webhook-driven automations: Point a form tool or payment provider at the n8n public URL and trigger a workflow on each submission. N8N_WEBHOOK_URL makes sure the URLs n8n shows are ones external services can reach.
  • AI agent workflows: Wire an agent node to a model API with a few tools so it can draft replies or route tickets. Postgres keeps the execution history, so you can see exactly what the agent did.
  • Scheduled syncs between SaaS tools: Run an hourly trigger to copy new contacts from one CRM to another. Failed runs are logged in Postgres, so you can retry them.
  • Replacing per-task Zapier billing: Move high-volume flows here, since the Railway cost stays flat and a busy nightly job no longer multiplies your bill.

Dependencies for n8n 3.0 Docker hosted on Railway

This template runs three services that depend on each other: the n8n editor and webhook server, a runners sidecar that executes Code-node JavaScript and Python, and a Postgres 18 database.

Deployment Dependencies for Managed n8n 3.0 Service (n8n + Runners + Postgres)

The n8n service runs n8nio/n8n:3.0.1, exposes port 5678 publicly, and mounts a volume at /home/node/.n8n.

Implementation Details for n8n 3.0 (n8nio/n8n:3.0.1 with n8nio/runners:3.0.1 sidecar)

The sidecar is why Python Code nodes work here.

How does n8n 3.0 compare against other workflow automation platforms

n8n 3.0 vs Zapier (Zapier Alternative)

  • Pricing model: Zapier bills per task, so heavy workflows get expensive fast. n8n 3.0 on Railway is a flat monthly bill for the runtime, and the Community Edition itself is free to run under the Sustainable Use License.
  • Code depth: Zapier's code steps are limited compared with n8n's Code node, which runs JavaScript and Python through the external runners sidecar in this template.
  • Where Zapier wins: its app catalog is larger and its setup is faster for simple two-step automations that you don't want to maintain yourself.

n8n 3.0 vs Make (Make Alternative)

  • Self hosting: Make is cloud only. n8n 3.0 gives you your own Postgres database and your own encryption key, so credentials and execution history stay on infrastructure you control.
  • Branching logic: both handle complex scenarios well, but n8n workflows are plain JSON you can version and export without much friction.
  • Where Make wins: its visual scenario builder and built-in data mapping are polished, and you skip the ops work entirely.

n8n 3.0 vs Activepieces (Activepieces Alternative)

  • Maturity: Activepieces is newer and has a smaller integration library. n8n 3.0 has 500+ integrations and a long production track record.
  • Python support: n8n 3.0 with the runners sidecar runs Python Code nodes out of the box. Check Activepieces' current language support before you assume parity.
  • Where Activepieces wins: its interface is simpler for non-technical teammates, and it's a good pick if you want a lighter footprint.

n8n 3.0 vs Windmill (Windmill Alternative)

  • Focus: Windmill is built around scripts and internal tooling with a strong developer workflow. n8n 3.0 is built around visual workflows with a large connector library.
  • Ops footprint: Windmill has its own infrastructure requirements, while this n8n template is three Railway services: n8n, the runners sidecar, and Postgres.
  • Where Windmill wins: if your team mostly writes scripts and wants a script-first platform, Windmill fits that style better than n8n's node-based editor.

How to use n8n 3.0 (the OSS workflow automation tool)?

Here is what to do on your first day after the deploy finishes.

  1. Deploy the template with no inputs. The encryption key, runner auth token, and database password are generated for you.
  2. Wait about 1 to 2 minutes until n8n, n8n-runners, and Postgres all show as healthy.
  3. Open the n8n public URL and create the owner account. Save N8N_ENCRYPTION_KEY somewhere safe, since changing it breaks stored credentials.
  4. Add a Code node. Use JavaScript, or pick Python (Native) to run Python in the sidecar.
  5. For a custom domain, set N8N_HOST, N8N_WEBHOOK_URL, and N8N_EDITOR_BASE_URL to it, then redeploy.

A small Python Code node to test the runner:

for item in _input.all():
    item.json["py_check"] = len(item.json.get("name", ""))
return _input.all()

Run it once and you should see py_check on each item. If Python fails to start, check that the n8n-runners service is healthy.

How to self host n8n 3.0 on other VPS Services (n8n 3.0 self hosting guide)

If you'd rather run n8n 3.0 on your own box, the setup mirrors the Railway template: Postgres, the n8n app, and a runners sidecar.

Clone the Repository

Pull the template's config to your server so you have the compose file to work from.

git clone https://github.com/your-org/n8n-3-railway.git
cd n8n-3-railway

Install Dependencies

Make sure Docker and Docker Compose are present.

docker --version
docker compose version

Configure Environment Variables

Create a .env file with a generated encryption key and runner token, plus your public domain.

N8N_ENCRYPTION_KEY=$(openssl rand -hex 32)
N8N_RUNNERS_AUTH_TOKEN=$(openssl rand -hex 32)
N8N_HOST=your-domain.example.com
N8N_WEBHOOK_URL=https://your-domain.example.com/

Start the n8n 3.0 Application

Bring up Postgres, n8n 3.0.1, and the n8nio/runners:3.0.1 sidecar, then open the editor and create the owner account.

docker compose up -d

Railway handles the domains, TLS, private networking, and volumes for you, which is the work you'd otherwise do by hand here.

Official Pricing of n8n 3.0 (n8n 3.0 pricing)

n8n 3.0 is free and open source under the Sustainable Use License, which is fair-code rather than OSI open source, so there is no license fee to pay for the self-hosted Community Edition.

n8n 3.0 cloud vs self hosted comparison (Pricing, features, costs, and more)

Choosing between n8n Cloud and self hosted n8n 3.0 comes down to who runs the database, the task runners and the upgrades. n8n Cloud has paid plans, while self hosted Community Edition is free under the Sustainable Use License, which is fair-code rather than OSI open source.

Monthly cost of self hosting n8n 3.0 on Railway

Your Railway bill covers three services: the n8n web process, the n8n-runners sidecar and Postgres 18 on a volume.

System Requirements for Hosting n8n 3.0 on a VPS

A VPS means provisioning the same three pieces yourself: the n8n container, the n8nio/runners:3.0.1 sidecar and Postgres.

Frequently Asked Questions (FAQs)

Why does n8n 3.0 need a separate runners sidecar?

n8n 3.0 deprecates internal task runners, so Code node execution moves into the n8nio/runners container on Railway's private network.

Why does Python fail in single-container n8n 3.0 setups?

The stock n8nio/n8n image ships without Python, so a Python Code node prints "Failed to start Python task runner." The runners sidecar brings its own Python runtime, which is why this template works where single-container ones don't.

Should I use WEBHOOK_URL or N8N_WEBHOOK_URL?

Use N8N_WEBHOOK_URL.

How do I back up N8N_ENCRYPTION_KEY?

Copy the value from the Railway variables panel into a password manager before you rely on the instance.

Do I have to upgrade both images together?

Yes. Back up Postgres first, because schema migrations only run forward.

Does this template support queue mode with workers?

No.


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
120
View Template
Evolution API with n8n
Automate WhatsApp workflows with Evolution API, n8n, and Postgres.

codestorm
102
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
869