MCPSERV.CLUB
Node-RED

Node-RED

Self-Hosted

Low‑code event‑driven programming for real‑time data

Active(100)
22.2kstars
1views
Updated 8 days ago
Node-RED screenshot 1
1 / 3

Overview

Discover what makes Node-RED powerful

Node‑RED is a **low‑code, event‑driven runtime** built on top of Node.js. At its core it exposes a browser‑based flow editor that compiles visual wiring into executable JavaScript objects. The engine itself is a lightweight, single‑process server that listens for HTTP/WebSocket requests and forwards them to the corresponding nodes. This architecture lets developers prototype quickly while still having full access to Node.js APIs, npm modules, and custom JavaScript code blocks.

Node‑based programming model

Extensible node library

Runtime APIs

Stateful flows

Overview

Node‑RED is a low‑code, event‑driven runtime built on top of Node.js. At its core it exposes a browser‑based flow editor that compiles visual wiring into executable JavaScript objects. The engine itself is a lightweight, single‑process server that listens for HTTP/WebSocket requests and forwards them to the corresponding nodes. This architecture lets developers prototype quickly while still having full access to Node.js APIs, npm modules, and custom JavaScript code blocks.

Key Features

  • Node‑based programming model – Each node represents a discrete function (HTTP request, MQTT publish, JSON parse, etc.) and can be connected via wires that carry JavaScript objects.
  • Extensible node library – Over 5,000 community‑maintained nodes exist, covering protocols (MQTT, HTTP, TCP), cloud services (AWS Lambda, Azure Functions), and device drivers (Arduino, Raspberry Pi GPIO).
  • Runtime APIs – The editor exposes a RESTful API (/flows, /nodes) and a WebSocket endpoint for programmatic flow deployment, status monitoring, and debugging.
  • Stateful flows – Nodes can maintain internal state or use the built‑in context stores (node, flow, global) which support Redis, MongoDB, or file‑based persistence.

Technical Stack

LayerTechnology
RuntimeNode.js (v18+), Express‑like HTTP server, WebSocket
EditorHTML5/React (custom UI), Redux for state, Monaco editor for JavaScript snippets
PersistenceJSON files (flows.json) by default; pluggable context stores (Redis, MongoDB)
Packagingnpm for node modules; Docker images available (nodered/node-red:latest)
SecurityOptional HTTPS, basic auth, OAuth2 via custom nodes; supports TLS certificates

The runtime is intentionally minimal to keep memory footprints under 50 MB on ARM devices, making it suitable for edge deployments such as Raspberry Pi or BeagleBone Black.

Deployment & Infrastructure

Node‑RED can run as a standalone process or inside Docker containers. The official image is optimized for Alpine Linux, exposing port 1880 and a health‑check endpoint. For production use, developers typically:

  • Deploy behind an NGINX reverse proxy for TLS termination and path routing.
  • Use a dedicated context store (Redis) to share state across multiple instances, enabling horizontal scaling.
  • Leverage Docker Compose or Kubernetes manifests (Helm chart) for declarative deployment and rolling updates.

Because it is a single‑process Node.js application, horizontal scaling requires either clustering (Node’s cluster module) or multiple container instances with a shared context store.

Integration & Extensibility

Node‑RED’s plugin system is centered around npm packages that export node definitions. Each node declares its inputs/outputs, configuration UI, and JavaScript logic in a node.js file. Developers can:

  • Create custom nodes by extending the base RED.nodes.registerType.
  • Expose HTTP endpoints directly from the editor via http in/http response nodes.
  • Trigger flows from external services using webhooks or MQTT topics.

The editor also supports flow imports via JSON, allowing teams to version flows in Git and deploy them automatically.

Developer Experience

The documentation is organized into Getting Started, Flows, and Node Development sections, each with example code snippets and best‑practice guidelines. The community forum (Discourse) and Slack channel provide rapid support, while the GitHub repo’s issue tracker is actively maintained. The open‑source license (Apache 2.0) encourages commercial use without royalties.

Use Cases

  • Home automation – Wiring sensors to actuators with minimal code, integrating Zigbee or Z-Wave via community nodes.
  • Industrial IoT – Collecting OPC-UA data, transforming it with function nodes, and exposing dashboards.
  • Edge analytics – Running on a Raspberry Pi to preprocess sensor data before sending it to cloud services.
  • Rapid prototyping – Building MVPs for webhooks, chatbots, or REST APIs without writing boilerplate server code.

Advantages

  • Speed of development: Visual wiring cuts boilerplate by ~70 %.
  • Cross‑platform: Runs on Windows, macOS, Linux, and ARM.
  • Extensibility: Thousands of community nodes reduce the need to write custom code for common protocols.
  • Low barrier to entry: Non‑developers can contribute by dragging nodes, while seasoned JavaScript devs retain full control.
  • Open‑source licensing: No vendor lock‑in, enabling self‑hosting on any infrastructure.

In summary, Node‑RED offers a robust, event‑driven runtime that blends visual programming with the full power of Node.js, making it a compelling choice for developers building IoT solutions across edge and cloud environments.

Open SourceReady to get started?

Join the community and start self-hosting Node-RED today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
cloud-platforms
License
APACHE-2.0
Stars
22.2k
Technical Specs
Pricing
Open Source
Database
None
Docker
Official
Supported OS
LinuxWindowsmacOSDocker
Author
node-red
node-red
Last Updated
8 days ago