Deploy Node-RED

Node-RED deployment with 80+ popular contrib nodes pre-installed.

Deploy Node-RED

Just deployed

/data

Node-RED on Railway (All Nodes Pre-installed)

A comprehensive Node-RED deployment on Railway with 80+ popular contrib nodes pre-installed.

Deploy on Railway

What's Included

This template comes with a massive collection of pre-installed nodes:

🎨 Dashboard & UI

  • @flowfuse/node-red-dashboard (modern dashboard replacement)
  • node-red-contrib-uibuilder
  • node-red-node-ui-table
  • node-red-node-ui-list

🗄️ Databases

  • MySQL, PostgreSQL, SQLite
  • MongoDB, InfluxDB, MSSQL
  • Redis

💬 Messaging & Communication

  • Telegram, Discord, WhatsApp
  • Email, Twilio, Slack

🤖 AI & Machine Learning

  • OpenAI/ChatGPT integration
  • TensorFlow
  • Python function execution

🏠 IoT & Smart Home

  • Home Assistant
  • Zigbee2MQTT
  • Tasmota, Shelly, Tuya
  • Sonos

🌐 Web & APIs

  • HTTP advanced requests
  • OAuth2, JWT authentication
  • Google, GitHub, Trello, Airtable, Notion

🔍 Web Scraping & Automation

  • Playwright
  • Puppeteer

📊 Data & Analytics

  • Charts and visualizations
  • Data manipulation tools
  • Prometheus monitoring

⏰ Time & Scheduling

  • Advanced cron
  • Date/Time utilities with Moment.js
  • Big Timer

💳 Payments

  • Stripe
  • PayPal

🛠️ Utilities

  • QR code generator
  • Image tools
  • Crypto utilities
  • Boolean logic
  • File operations

About Hosting

Node-RED is a flow-based development tool for visual programming, originally developed by IBM. When deployed on Railway, it provides a persistent, always-on automation platform that can handle complex workflows, integrations, and data processing tasks 24/7.

Why Deploy on Railway

Railway makes Node-RED deployment exceptionally straightforward compared to traditional hosting methods. Here's why Railway is an ideal platform for Node-RED:

  • Zero Infrastructure Management: No need to configure servers, manage SSL certificates, or handle networking. Railway handles all infrastructure concerns automatically.
  • Instant HTTPS: Your Node-RED instance gets secure HTTPS access immediately upon deployment.
  • Persistent Storage: Built-in volume support ensures your flows and data persist across deployments.
  • Automatic Deployments: Connect your Git repository for continuous deployment whenever you update your configuration.
  • Generous Free Tier: Railway's free tier is sufficient for many Node-RED use cases, with easy scaling options as your needs grow.
  • No Docker Knowledge Required: While this template uses Docker, Railway abstracts away the complexity.

Deploy and Host

Quick Deployment Steps

  1. Click the Deploy Button: Use the "Deploy on Railway" button at the top of this README
  2. Configure Environment Variables:
    • Set NODE_RED_CREDENTIAL_SECRET to a secure random string (at least 32 characters)
    • Optionally set NODE_RED_USERNAME and NODE_RED_PASSWORD for authentication
  3. Wait for Build: Initial deployment takes 5-10 minutes due to installing 80+ nodes
  4. Access Your Instance: Railway will provide a public URL (e.g., your-app.railway.app)
  5. Secure Your Installation: Immediately set up authentication if you haven't already

Common Use Cases

This Node-RED deployment is perfect for a wide range of automation and integration scenarios:

Home Automation & IoT

  • Centralized smart home control dashboard integrating devices from multiple platforms (Home Assistant, Tuya, Shelly)
  • Custom automation rules that work across different smart home ecosystems
  • Real-time monitoring and alerts for sensors and devices
  • Voice assistant integrations through various APIs

Business Automation

  • Automated data synchronization between SaaS platforms (Notion, Airtable, Google Sheets)
  • Custom webhook handlers for triggering workflows from external services
  • Report generation and scheduled data exports
  • Invoice processing and payment tracking with Stripe/PayPal integration

Communication & Notifications

  • Multi-channel notification systems (Email, Telegram, Discord, Slack)
  • Chatbot creation for customer support or internal tools
  • Social media monitoring and automated responses
  • Emergency alert systems with conditional routing

Data Processing & Analytics

  • IoT sensor data collection and time-series analysis
  • Web scraping for price monitoring or content aggregation
  • ETL pipelines for moving data between databases
  • Real-time dashboard creation with custom visualizations

AI & Machine Learning Workflows

  • ChatGPT integration for conversational interfaces
  • Automated content generation and processing
  • Image recognition and analysis pipelines
  • Sentiment analysis for customer feedback

DevOps & Monitoring

  • Infrastructure monitoring with Prometheus integration
  • Custom alerting based on complex conditions
  • Log aggregation and analysis
  • Deployment automation and CI/CD integration

E-commerce & Payments

  • Order processing automation
  • Inventory management across multiple platforms
  • Payment processing and reconciliation
  • Customer journey automation

Environment Variables

Set these in Railway:

Required

  • NODE_RED_CREDENTIAL_SECRET - Secret for encrypting credentials (generate a random string)

Optional Security

  • NODE_RED_USERNAME - Username for admin interface
  • NODE_RED_PASSWORD - Password for admin interface (hashed with bcrypt)

Example Password Hash Generation

To generate a password hash for Node-RED:

node -e "console.log(require('bcryptjs').hashSync('your-password', 8));"

Dependencies

Node.js Runtime: Node-RED requires Node.js version 18 or higher. This template uses the official Node.js 18 Alpine Linux image for optimal performance and security.

Deployment Dependencies

This template requires several components to run successfully on Railway:

Railway Volume: A persistent storage volume mounted at /data is essential for storing flows, credentials, and settings across deployments. Configure this in your Railway service settings before deployment.

Environment Variables: At minimum, NODE_RED_CREDENTIAL_SECRET must be set for Node-RED to encrypt sensitive credential data.

Network Configuration: Railway automatically handles port exposure and HTTPS. The container exposes port 1880, which Railway maps to your public domain.

Runtime Dependencies

The following npm packages are installed automatically during deployment:

Core Node-RED:

  • node-red - The core Node-RED runtime

Dashboard & Visualization:

  • @flowfuse/node-red-dashboard - Modern dashboard framework
  • node-red-contrib-uibuilder - Advanced UI builder
  • node-red-node-ui-table - Data table widgets
  • node-red-node-ui-list - List display components

Database Connectors:

  • node-red-node-mysql - MySQL/MariaDB
  • node-red-contrib-postgresql - PostgreSQL
  • node-red-node-sqlite - SQLite
  • node-red-contrib-mongodb4 - MongoDB
  • node-red-contrib-influxdb - InfluxDB
  • node-red-contrib-mssql-plus - Microsoft SQL Server
  • node-red-contrib-redis - Redis

Communication & Messaging:

  • node-red-contrib-telegrambot - Telegram bot API
  • node-red-contrib-discord-advanced - Discord integration
  • node-red-node-email - Email sending/receiving
  • node-red-contrib-twilio - Twilio SMS/Voice
  • node-red-contrib-slack - Slack messaging

AI & Machine Learning:

  • node-red-contrib-openai-ubos - OpenAI/ChatGPT
  • node-red-contrib-tensorflow - TensorFlow
  • node-red-contrib-python-function - Python execution

IoT & Smart Home:

  • node-red-contrib-home-assistant-websocket - Home Assistant
  • node-red-contrib-zigbee2mqtt - Zigbee2MQTT
  • node-red-contrib-tasmota - Tasmota devices
  • node-red-contrib-shelly - Shelly devices
  • node-red-contrib-tuya-smart - Tuya/Smart Life

Web Scraping & Automation:

  • node-red-contrib-playwright-new - Playwright browser automation
  • node-red-contrib-puppeteer - Puppeteer scraping

Additional 50+ nodes for payments, authentication, time scheduling, utilities, and more.

All dependencies are installed during the Docker build process, ensuring a consistent and reproducible deployment environment.

Features

  • ✅ 80+ pre-installed contrib nodes
  • ✅ Persistent storage with Railway volumes
  • ✅ Project support enabled
  • ✅ Modern dashboard (FlowFuse)
  • ✅ Database connectors ready
  • ✅ AI/ML integrations
  • ✅ Smart home & IoT ready
  • ✅ Web scraping tools
  • ✅ Payment gateway integrations

Volume Configuration

Railway will automatically mount a volume to /data for persistent storage of:

  • Your flows
  • Node-RED settings
  • Credentials
  • Custom nodes you install later

Quick Start

  1. Click "Deploy on Railway"
  2. Set NODE_RED_CREDENTIAL_SECRET to a random string
  3. (Optional) Set username/password for security
  4. Wait for deployment to complete (~5-10 minutes due to node installations)
  5. Access your Node-RED instance at the Railway-provided URL

Post-Deployment

Secure Your Instance

After deployment, it's highly recommended to set up authentication:

  1. Add these environment variables:

    • NODE_RED_USERNAME=admin
    • NODE_RED_PASSWORD=
  2. Restart the service

Installing Additional Nodes

While this template includes 80+ nodes, you can always install more:

  • Use the Palette Manager in Node-RED UI
  • Or add them to the Dockerfile and redeploy

Performance Notes

  • Initial startup may take 2-3 minutes as Node-RED loads all nodes
  • Memory usage: ~300-500MB depending on active flows
  • Recommended: Railway Hobby plan or higher

Troubleshooting

Long Initial Startup

The first deployment takes longer due to installing 80+ nodes. This is normal.

Check the node's documentation on flows.nodered.org

Contributing

Want to add more nodes to this template? Submit a PR!

License

MIT

Credits

Built for Railway community. Node-RED is an OpenJS Foundation project.


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

View Template
peppermint
Docker-compose port for peppermint.sh