How to Install Node-RED on EG Series Devices via Docker?

How to Install Node-RED on EG Series Devices via Docker?

📖 Overview

This document outlines the procedure for deploying Node-RED on Robustel EG Series Edge Gateways. Node-RED is a flow-based programming tool, originally developed by IBM, which allows for visual programming to wire together hardware devices, APIs, and online services.

By using the Docker environment on the EG series, users can easily deploy and manage the Node-RED instance, enabling local data processing and logic execution at the edge.


🛠 What You'll Need

Hardware List

  • Robustel EG Series Gateway (e.g., EG5120, EG5100).

Software/Firmware

Other

  • Internet Access: The gateway must have an active internet connection to pull the Docker image.

📝 Note: If your gateway is not yet connected to the internet, please refer to the relevant documentation on configuring cellular or Ethernet WAN connectivity.

  • Sudo User Account: A user with sudo privileges must be created in the device configuration page.

📝 Note: Refer to How to create a sudo user with SSH access on an EG series device to create a user if one does not exist.


🚀 Step-by-Step Configuration Guide

1️⃣ Step 1: Establish SSH Connection

  1. Open your SSH client or terminal.
  2. Connect to the device using the IP address and the sudo user credentials created in the prerequisites.
ssh <username>@<device_ip_address>
  1. Enter the password when prompted.

2️⃣ Step 2: Download and Run Node-RED

Run the Docker command to pull the official Node-RED image and start the container.

  1. Copy and paste the following command into your SSH terminal:
sudo docker run -d -p 1880:1880 -v node_red_data:/data --restart=unless-stopped --name node-red nodered/node-red:latest

⚠️ Warning: If Port 1880 on the host is already occupied by another application, the container will fail to start. You must modify the port mapping.

Example: To use host port 9999 instead, change the parameter to -p 9999:1880.


Verification & Testing

1. Check Container Status

Verify that the container is running correctly via the command line.

  1. Run the following command:
sudo docker ps | grep node-red

Success: You should see an entry with a Container ID, Status "Up", and the port mapping 0.0.0.0:1880->1880/tcp.

📝 Note: If you used a customized name in the --name parameter during Step 2, ensure you grep for that specific name.

2. Access the Node-RED Dashboard

  1. Open your web browser.
  2. Navigate to the following address (replace 192.168.0.1 with your gateway's actual LAN IP):

Success: The Node-RED flow editor interface should load.


Troubleshooting / FAQ

  • Q: The container fails to create with a "Bind for 0.0.0.0:1880 failed: port is already allocated" error.
    • A: The default port 1880 is in use. Modify the -p parameter in the run command to map a different host port (e.g., -p 1881:1880).
  • Q: The container is running, but I cannot access the web interface.
    • A:
    1. Ensure your PC is on the same network subnet as the gateway.
    2. By default, the firewall does not restrict LAN access. If accessing Node-RED via WAN, please refer to How to open a firewall port on an EG series gateway.
    3. Verify the IP address used in the browser matches the gateway's LAN IP.
  • Q: I receive a "name already in use" error when running the command.
    • A: A container named "node-red" already exists (even if stopped). Remove the old container using sudo docker rm node-red or choose a different name in the --name flag.

📜 Revision History

Version

Date

Author

Notes

v1.0

2025-12-09

Jens Zhou

Initial document creation based on field notes.