To install Node-RED locally you will need a supported version of Node.js.
To install Node-RED you can use the npm
command that comes with node.js:
sudo npm install -g --unsafe-perm node-red
If you are using Windows, do not start the command with sudo
.
That command will install Node-RED as a global module along with its dependencies.
You can confirm it has succeeded if the end of the command output looks similar to:
+ node-red@1.1.0
added 332 packages from 341 contributors in 18.494s
found 0 vulnerabilities
To run in Docker in its simplest form just run:
docker run -it -p 1880:1880 --name mynodered nodered/node-red
For more detailed information see our docker guide.
If your OS supports Snap you can install Node-RED with:
sudo snap install node-red
When installed as a Snap package, it will run in a secure container that does not have access to some extra facilities that may be needed for you to use, such as:
gcc
- needed to compile any binary components of nodes you want to installgit
- needed if you want to use the Projects featureIf you need access to system hardware or to add nodes that require compilation then we recommend using a full install of Node-RED and not using the snap.
Once installed as a global module you can use the node-red
command to start
Node-RED in your terminal. You can use Ctrl-C
or close the terminal window
to stop Node-RED.
$ node-red
Welcome to Node-RED
===================
30 Jun 23:43:39 - [info] Node-RED version: v1.3.5
30 Jun 23:43:39 - [info] Node.js version: v14.7.2
30 Jun 23:43:39 - [info] Darwin 19.6.0 x64 LE
30 Jun 23:43:39 - [info] Loading palette nodes
30 Jun 23:43:44 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
30 Jun 23:43:44 - [info] Settings file : /Users/nol/.node-red/settings.js
30 Jun 23:43:44 - [info] HTTP Static : /Users/nol/node-red/web
30 Jun 23:43:44 - [info] Context store : 'default' [module=localfilesystem]
30 Jun 23:43:44 - [info] User directory : /Users/nol/.node-red
30 Jun 23:43:44 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
30 Jun 23:43:44 - [info] Creating new flows file : flows_noltop.json
30 Jun 23:43:44 - [info] Starting flows
30 Jun 23:43:44 - [info] Started flows
30 Jun 23:43:44 - [info] Server now running at http://127.0.0.1:1880/red/
You can then access the Node-RED editor by pointing your browser at http://localhost:1880.
The log output provides you various pieces of information:
Node-RED uses flows_<hostname>.json
as the default flows file. You can change
this by providing the flow file name as argument to the node-red
command.
Node-RED can be started using the command node-red
. This command can take
various arguments:
node-red [-v] [-?] [--settings settings.js] [--userDir DIR]
[--port PORT] [--title TITLE] [--safe] [flows.json|projectName]
[-D X=Y|@file]
Option | Description |
---|---|
-p , --port PORT |
Sets the TCP port the runtime listens on. Default: 1880 |
--safe |
Starts Node-RED without starting the flows. This allows you to open the flows in the editor and make changes without the flows running. When you deploy your changes, the flows are then started. |
-s , --settings FILE |
Sets the settings file to use. Default: settings.js in userDir |
--title TITLE |
Set process window title |
-u , --userDir DIR |
Sets the user directory to use. Default: ~/.node-red |
-v |
Enables verbose output |
-D X=Y|@file |
Override individual settings |
-? , --help |
Shows command-line usage help and exits |
flows.json|projectName |
If the Projects feature is not enabled, this sets the flow file you want to work with. If the Projects feature is enabled, this identifies which project should be started. |
Node-RED uses flows_<hostname>.json
as the default flows file. If the computer
you are running on may change its hostname, then you should ensure you provide a
static file name; either as a command-line argument or using the flowsFile
option
in your settings file.
Since Node-RED 1.1.0
You can override individual settings on the command-line using the -D
(or --define
)
option.
For example, to change the logging level you can use:
-D logging.console.level=trace
You can also provide the custom settings as a file:
-D @./custom-settings.txt
The file should contain a list of the settings to override:
logging.console.level=trace
logging.console.audit=true
There are occasions when it is necessary to pass arguments to the underlying Node.js process. For example, when running on devices like the Raspberry Pi or BeagleBone Black that have a constrained amount of memory.
To do this, you must use the node-red-pi
start script in place of node-red
.
Note: this script is not available on Windows.
Alternatively, if are running Node-RED using the node
command, you must provide
arguments for the node process before specifying red.js
and the arguments you
want passed to Node-RED itself.
The following two commands show these two approaches:
node-red-pi --max-old-space-size=128 --userDir /home/user/node-red-data/
node --max-old-space-size=128 red.js --userDir /home/user/node-red-data/
If you have installed Node-RED as a global npm package, you can upgrade to the latest version with the following command:
sudo npm install -g --unsafe-perm node-red
If you are using Windows, do not start the command with sudo
.
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy