How to Install Node RED Linux for Visual Programming

Technician communicating fastest install Node RED Linux commands whilst explaining what is node red

As we look to improve development of our javascript apps at IOFLOOD the Node-RED programming tool came to our attention. As we learned what is Node-RED, it became clear that this tool is ideal for easy integration of IoT devices and service. Today’s article was crafted to help our clients deploy a robust tool for developing and managing their IoT solutions on Dedicated bare metal servers.

In this guide, we will navigate the processes to install Node RED Linux for your dedicated server. We will provide you with installation instructions for APT-based distributions like Debian and Ubuntu, as well as YUM-based distributions like CentOS and AlmaLinux. We’ll also delve into more advanced topics like compiling Node-RED from source, installing a specific version, and finally, how to use Node-RED and verify that the correct version is installed.

So, let’s dive in and start installing Node-RED on your Linux system!

TL;DR: How Do I Install Node RED Linux?

The simplest way to install Node-RED on Linux is by installing Node.JS and NPM with, sudo apt update, sudo apt install nodejs && sudo apt install npm, then install Node-RED via NPM, sudo npm install -g --unsafe-perm node-red. Alternatively, you can also use the following Linux installers:

#For Debian/Ubuntu
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
sudo apt install build-essential

# For Red Hat/Centos
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/rpm/update-nodejs-and-nodered)

This command will download a script from the official Node-RED repository and execute it. This script will update Node.js to the latest stable version and install Node-RED.

But this is just the beginning. Node-RED installation on Linux offers much more flexibility and options. Continue reading for a more detailed guide, advanced installation methods, and troubleshooting tips.

Get Started: Node Red Tutorial

Node-RED is a flow-based programming tool for wiring together hardware devices, APIs, and online services. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette. Flows can be then deployed to the runtime in a single click. Whether you’re a hobbyist or a professional developer, Node-RED offers a range of features that can enhance your application development process.

Install Node RED Linux with APT

For distributions like Debian or Ubuntu, you can install NodeJS and NPM using the APT package manager. Here’s how:

sudo apt-get install nodejs npm
sudo npm install -g --unsafe-perm node-red

# Output:
# [Expected output from command]

This command will first update your package lists and then install Node-RED.

Install Node RED Linux with YUM

For YUM-based distributions like CentOS or AlmaLinux, you can install Nodejs and NPM using the YUM package manager. Here’s the command you need to run:

sudo yu,install nodejs npm
sudo npm install -g --unsafe-perm node-red
# Output:
# [Expected output from command]

This command will first update your system, and then install Node-RED.

Remember, these are just the basic installation methods. There are more advanced methods available, which we will discuss later in this guide.

Install Node RED Linux from Source

For more control over the installation process, you can install Node-RED from source. This method requires more steps and familiarity with the command line, but it gives you the flexibility to install specific versions of Node-RED.

# Install Node.js and Git for your specific Linux Version)
# Then install grunt-cli interface
sudo npm install -g grunt-cli

# Clone the Node-RED repository
git clone https://github.com/node-red/node-red.git
cd node-red
git checkout master

# Install the Node-RED dependencies
npm install

# Build the code
grunt build

# Start Node Red
npm start

Install Specific Versions of Node-RED

Different versions of Node-RED may offer specific features or compatibility with certain systems. You can install a specific version from source or using package managers.

From Source

To install a specific version from source, you need to check out the corresponding Git tag before building the code. For example, to install Node-RED version 1.2.9:

git checkout 1.2.9
npm install
grunt build
npm start

Version Comparison

VersionKey FeaturesCompatibility
1.0.0Initial stable releaseAll supported platforms
1.2.9Improved editor featuresAll supported platforms
2.0.0Introduction of flow debuggerNode.js 10.x and later

Basic Node RED Use and Verification

After installing Node-RED, you can start it by running the node-red command. You should see output indicating that Node-RED is starting:

node-red

# Output:
# Welcome to Node-RED
# ...
# [Expected output from command]

To verify that Node-RED is installed correctly, you can check the version:

node-red --version

# Output:
# Node-RED version: v1.2.9
# ...
# [Expected output from command]

This command should display the installed version of Node-RED.

Alternate Node RED Install Methods

While we have covered the standard and advanced methods of installing Node-RED on Linux, there are alternative approaches that cater to specific needs or environments. Let’s explore these methods and understand their benefits, potential drawbacks, and use-cases.

Install Node-RED Linux with Docker

Docker provides a way to run applications securely isolated in a container, packaged with all its dependencies and libraries. To install Node-RED using Docker, you can pull the official Node-RED Docker image. Here’s how:

# Pull the Node-RED Docker image
docker pull nodered/node-red

# Run Node-RED in a Docker container
docker run -it -p 1880:1880 --name mynodered nodered/node-red

This approach isolates Node-RED from your system, reducing potential conflicts with other software. However, it requires Docker to be installed and may consume more resources than a native installation.

Install Node-RED Linux with Snap

Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel. To install Node-RED with Snap, use the following command:

# Install Node-RED with Snap
sudo snap install node-red

Snap packages are self-contained and include all dependencies needed to run the application. This makes them easier to install and update, but they may consume more disk space than native packages.

Install Node-RED Linux with NPM

NPM is the default package manager for Node.js. If you have Node.js installed, you can use NPM to install Node-RED. Here’s the command:

# Install Node-RED with NPM
sudo npm install -g --unsafe-perm node-red

This approach allows you to install Node-RED globally with NPM. However, it may require additional steps to set up Node.js and NPM.

Installation Method Comparison

MethodAdvantagesDisadvantages
DockerIsolation, PortabilityRequires Docker, More resources
SnapEasy to install and updateMore disk space
NPMUses existing Node.js setupRequires Node.js and NPM setup

Each of these methods has its own advantages and considerations. You should choose the one that best suits your needs and environment.

Troubleshooting Node-RED Install

While installing Node-RED on Linux can be a straightforward process, you may encounter some issues. Let’s discuss some common challenges and their solutions to ensure a smooth installation experience.

Issue: Permission Denied

Sometimes, you might encounter a ‘Permission Denied’ error while installing Node-RED. This usually happens due to lack of administrative privileges. To resolve this, you can use the sudo command:

sudo npm install -g --unsafe-perm node-red

# Output:
# [Expected output from command]

This command runs the installation with root privileges, bypassing the permission issues.

Issue: Outdated Node.js Version

Node-RED requires a specific version of Node.js. If your Node.js version is outdated, you might face compatibility issues. You can update Node.js using the Node Version Manager (NVM):

nvm install stable
nvm use stable

# Output:
# [Expected output from command]

This command installs and uses the latest stable version of Node.js.

Issue: Port Already in Use

Node-RED runs on a specific port (default is 1880). If this port is already in use, Node-RED cannot start. To solve this, you can change the port in the Node-RED settings file or stop the application using the port.

# Change the port in settings.js

sed -i 's/1880/1881/g' ~/.node-red/settings.js

# Output:
# [Expected output from command]

This command changes the default port from 1880 to 1881 in the settings file.

Issue: Unable to Access Node-RED UI

If you can’t access the Node-RED user interface after installation, it might be due to firewall settings. You can allow access to the Node-RED port using the ufw firewall:

sudo ufw allow 1880

# Output:
# [Expected output from command]

This command allows incoming connections to port 1880, enabling access to the Node-RED UI.

Remember, troubleshooting is a vital part of any installation process. Understanding potential issues and their solutions can save you valuable time and effort.

So, What is Node-Red?

Node-RED is a programming tool for connecting hardware devices, APIs, and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single click.

Node-RED: A Powerful Tool for Developers

Node-RED is built on Node.js, taking full advantage of its event-driven, non-blocking model. This makes it ideal to run at the edge of the network on low-cost hardware such as the Raspberry Pi as well as in the cloud.

# Start Node-RED

node-red start

# Output:
# Welcome to Node-RED
# ===================

# [Expected output from command]

Running the node-red start command starts the Node-RED process. You should see a welcome message indicating that Node-RED has started successfully.

The Benefits of Using Node-RED

With Node-RED, you can create complex logic by simply wiring together nodes in a ‘flow’. These flows are stored using JSON, which can be easily imported and exported for sharing with others. This visual approach to programming is perfect for novices and experts alike.

Node-RED can be run on a Raspberry Pi and other low-cost hardware. It can also be run in the cloud, making it a versatile tool for IoT projects and real-time data collection and analysis.

Key Features of Node-RED

Node-RED offers a wide array of features that make it a powerful tool for developers:

  • Flow-Based Programming: Node-RED provides a visual interface for flow-based programming, making it easy to wire together events and devices for the Internet of Things.
  • Built on Node.js: Node-RED takes full advantage of the event-driven, non-blocking model of Node.js, making it ideal for real-time applications.
  • Social Development: Node-RED features a built-in library that allows you to share useful functions and flows with others.
  • Browser-Based Editor: Node-RED’s lightweight, browser-based editor allows you to create new functions using JavaScript, handle HTTP requests and access APIs.
  • A Wide Range of Nodes: Node-RED comes with a set of core nodes to handle basic functions like function, HTTP, and delay. The palette can be easily extended by installing new nodes created by the community.

Understanding the fundamentals of Node-RED and how it fits into application development is key to leveraging its full potential.

Practical Uses of Node-RED

Node-RED’s utility goes beyond individual application development. It’s a powerful tool that can be integrated into larger projects, making it a valuable addition to any developer’s toolkit.

Integrating Node-RED with Other Tools

Node-RED can be used in conjunction with other tools to create comprehensive solutions. For instance, you can use Node-RED with MQTT, a lightweight messaging protocol for small sensors and mobile devices. This combination is particularly powerful for IoT applications.

# Install MQTT node in Node-RED

npm install node-red-contrib-mqtt-broker

# Output:
# [Expected output from command]

This command installs the MQTT node in Node-RED, allowing you to use MQTT within your Node-RED flows.

Node-RED and Node.js: A Powerful Duo

Node-RED is built on Node.js, and the two can be used together to create powerful web applications. Node.js can handle the back-end, while Node-RED can be used for the front-end, creating the user interface and handling user interactions.

# Install Node.js HTTP node in Node-RED

npm install node-red-node-http

# Output:
# [Expected output from command]

This command installs the Node.js HTTP node in Node-RED, allowing you to handle HTTP requests within your Node-RED flows.

To Continue Learning What is Node Red

To further enhance your Node-RED skills, consider exploring these resources:

  1. What is Node Red and Flow Based Programming: Explore the visual tool for wiring together devices, APIs, and online services.

  2. Install Node RED Guide on GitHub: This guide provides a set of recipes to help you learn Node-RED, created by the community.

  3. Official Node Red Tutorial: Dives into Node-RED basics and helps you create a simple application.

These resources are a great starting point for deepening your understanding of Node-RED and its capabilities.

Recap: How to Install Node RED Linux

In this comprehensive guide, we’ve navigated the process of installing Node-RED on Linux. We’ve explored various methods, each catering to different levels of expertise and specific needs.

We began with the basics, learning how to install Node-RED using standard package managers like APT, YUM, and DNF. We then delved into advanced methods, such as installing Node-RED from source and installing specific versions. Finally, we explored alternative approaches like Docker, Snap, and NPM, catering to specific environments and needs.

Along the way, we tackled common challenges that you might encounter during Node-RED installation, such as ‘Permission Denied’ errors, outdated Node.js versions, ports already in use, and difficulties accessing the Node-RED UI. For each issue, we provided solutions and workarounds to ensure a smooth installation experience.

Here’s a quick comparison of the methods we’ve discussed:

MethodAdvantagesConsiderations
Standard (APT, YUM, DNF)Easy to use, Suitable for beginnersMay require additional steps for specific versions
Advanced (Source)More control, Specific version installationRequires familiarity with command line
Alternative (Docker, Snap, NPM)Specific environment needs, Isolation (Docker)Requires additional setup (Docker, NPM), More disk space (Snap)

Whether you’re just starting out with Node-RED or you’re looking to level up your installation skills, we hope this guide has given you a deeper understanding of Node-RED installation on Linux and its various methods.

With its powerful toolset and flexibility, Node-RED is a valuable addition to any developer’s toolkit. Now, you’re well equipped to install Node-RED on Linux and harness its full potential. Happy coding!