Railway

Deploy node-red

Low-code flow programming for hardware, APIs, and services.

Deploy node-red

Just deployed

/data

Deploy and Host node-red on Railway

Deploy on Railway

Canonical code: spyQkl — deploy URL: https://railway.com/new/template/spyQkl

OG Image

Node-RED is a low-code, flow-based programming tool for wiring together hardware devices, APIs, and online services. Deploy it on Railway in minutes to start building automations visually.

About Hosting node-red

Node-RED runs as a single container with a persistent Railway volume mounted at /data for flows, settings, and credentials. Railway provides the compute, TLS at the edge, and a public URL. The service restarts automatically on failures. No external database is required for basic usage — everything runs in one container. The base image's settings.js honors PORT (Railway injects this), so the flow editor is reachable on Railway's standard edge port without further configuration.

Common Use Cases

  • IoT automation — Connect sensors, actuators, and devices with MQTT, Modbus, OPC-UA, and GPIO.
  • API orchestration — Chain HTTP requests, transform data, and integrate multiple services in a single flow.
  • Smart home — Automate lights, thermostats, and devices with Home Assistant, Philips Hue, and Zigbee.
  • Data pipelines — Ingest, transform, and route data between databases, message queues, and cloud services.
  • Chatbots & alerts — Build Telegram/Slack bots, send email alerts, and trigger notifications from any event.

Dependencies for node-red Hosting

  • Persistent volume — A Railway volume mounted at /data is required to retain flows, credentials, and settings across redeploys.
  • No external database — Node-RED runs standalone; Postgres/MySQL/Redis are not required for basic flows.

Deployment Dependencies

Implementation Details

  • Healthchecknode /healthcheck.js is shipped by the base image and probes the local UI port; configured in the Dockerfile's HEALTHCHECK directive.
  • Persistent storage — The /data volume is mounted via railway.json / railway.toml under deploy.volumeMounts.
  • Port — Railway auto-injects PORT; the base image's settings.js reads it and binds the UI accordingly. Default fallback is 1880.

Why Deploy node-red on Railway?

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 node-red 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.


Features

  • Flow-based editor — Drag, drop, and wire nodes in the browser
  • 5,000+ community nodes — MQTT, HTTP, database connectors, AI, dashboards, and more
  • One-click deploy — Pre-configured with Railway volume for persistent flows
  • Built-in healthcheck — Monitored by Railway for automatic restarts
  • Pinned version — Node-RED v5.0.0, reproducible builds

Quick Start

Click Deploy above, then open your Railway URL to access the flow editor. All flows are saved to the persistent volume at /data.

Environment Variables

VariableRequiredDefaultDescription
PORTNo1880Container port (Railway auto-sets)
FLOWSNoflows.jsonFlow file to load from /data
CREDENTIAL_SECRETNoEncryption key for stored credentials
NODE_RED_ENABLE_PROJECTSNofalseEnable Git-backed projects
NODE_RED_ENABLE_SAFE_MODENofalseStart without running flows

Local Development

git clone https://github.com/INAPP-Mobile/railway-node-red && cd railway-node-red
cp .env.example .env && $EDITOR .env
docker build -t railway-node-red .
docker run -d -p 1880:1880 -v node-red-data:/data --env-file .env railway-node-red

Open http://localhost:1880 in your browser.

Troubleshooting

IssueSolution
Flows lost after redeployConfirm /data volume is mounted in Railway
Port conflictOverride PORT env var — Railway auto-routes
Credentials brokenCREDENTIAL_SECRET was changed; re-enter credentials

License

Node-RED is Apache-2.0 licensed. Template by INAPP-Mobile.


Template Content

More templates in this category

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

jakemerson
115
View Template
Evolution API with n8n
[Jul'26] WhatsApp automation platform using Evolution API, n8n & PostgreSQL

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

Railway Templates
868