# n8n on Railway

Canonical: https://inetgeek.com/stacks/n8n-on-railway/

Railway publishes its own guide for deploying n8n.

Open-source workflow automation tool deployed from an official Docker image, storing workflows, credentials and execution history that must survive redeploys.

## What n8n needs

Every host claims to run n8n, so the claim on its own decides nothing. These are the things n8n requires from the platform underneath it, and what Railway publishes about each. Railway documents 6 of the 6.

| Requirement | Railway | Why it matters |
| --- | --- | --- |
| Persistent storage | Supported | Unless it is pointed at an external database, n8n keeps workflows, credentials and execution history on local disk. Without a volume, everything you built disappears on the next deploy. |
| Persistent processes | Supported | Webhook triggers have to be reachable between runs, and a workflow can execute for minutes. Both need a process that stays up rather than one that starts per invocation. |
| Docker deployment | Supported | Every provider guide for n8n starts from the official Docker image. A platform that cannot run a container cannot run n8n. |
| Max request duration | 15 minutes while data keeps transferring; closed after 5 minutes with no data transferred. Websocket connections are exempt and can stay open indefinitely. | A workflow calling several slow APIs in sequence is a single HTTP request as far as the platform is concerned, so the request ceiling is what cuts it off mid-run. |
| Managed databases | Limited | n8n runs on SQLite by default and documents Postgres for production. A guide that leaves it on SQLite is not showing a production install, and the host needs to offer the database that replaces it. |
| Scheduled jobs | Supported | Most n8n workflows begin with a schedule trigger rather than a webhook. Those fire from inside the running instance, so a host that idles the process stops the automations it was installed for. |

- Persistent storage source: https://docs.railway.com/reference/volumes
- Persistent processes source: https://docs.railway.com/services
- Docker deployment source: https://docs.railway.com/guides/dockerfiles
- Max request duration source: https://docs.railway.com/networking/public-networking/specs-and-limits
- Managed databases source: https://docs.railway.com/databases
- Scheduled jobs source: https://docs.railway.com/reference/cron-jobs

## What Railway documents

> The steps below cover deploying n8n on Railway from the official Docker image, with persistent storage and webhook configuration.

Source: https://docs.railway.com/guides/n8n

### n8n features on Railway

- **managed_postgres_backend**: Supported — By default, n8n uses SQLite and stores its database file in the volume at /home/node/.n8n. For production workloads with high execution volumes, you can switch to Postgres. [...] Add a Postgres database to your project by clicking + New and selecting Database > PostgreSQL. ([source](https://docs.railway.com/guides/n8n))
- **scheduled_data_backups**: Supported — The backup feature enables data recovery for all content stored in volumes. This includes both Railway's database offerings and any other data stored within a volume, such as an SQLite database. [...] When a volume is mounted to a service, backups can be manually created, deleted and restored. And they can also be scheduled to run on a Daily / Weekly / Monthly schedule. ([source](https://docs.railway.com/volumes/backups))
- **zero_downtime_redeploy**: Not supported — To prevent data corruption, we prevent multiple deployments from being active and mounted to the same service. This means that there will be a small amount of downtime when re-deploying a service that has a volume attached, even if there is a healthcheck endpoint configured ([source](https://docs.railway.com/volumes/reference))

## What it costs to run there

|  | Railway |
| --- | --- |
| Entry paid plan | $5 / month (Hobby) |
| Pricing model | A base subscription fee that goes towards usage, with the plan's own credit included; anything beyond the credit is billed as resource usage. |
| When you exceed a cap | Billed automatically: on the Hobby plan ($5/month, includes $5 of resource usage) usage above the included amount is charged as a delta on top of the subscription — no throttling or suspension is documented |
| Regions | 4 regions: California, Virginia, Amsterdam, Singapore |

- Entry paid plan source: https://docs.railway.com/reference/pricing/plans
- Pricing model source: https://docs.railway.com/reference/pricing/plans
- When you exceed a cap source: https://docs.railway.com/pricing/plans
- Regions source: https://docs.railway.com/reference/regions

## Whether it suits you

Teams that want a plan fee which doubles as usage credit, and deploy services straight from a Dockerfile without managing servers. The $5 Hobby fee comes back as $5 of resource usage.

Consider something else if: You need to run in a region outside California, Virginia, Amsterdam or Singapore.

Written by Palash Bagchi on 2026-09-05. This is a recommendation, not a sourced fact — it carries no citation because it is an opinion.

## Related

- Best hosting for n8n: https://inetgeek.com/stacks/n8n/
- Railway: https://inetgeek.com/hosting/railway/
