Skip to content

Template project for running Node-RED in Docker

License

Notifications You must be signed in to change notification settings

nathanaday/Node-RED-Docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node-RED-Docker

Template project for running Node-RED in Docker

The code in this repository is to provide a starting project for Node-RED, where the aim is to run in a production, cloud based environment. There have been a few modifications over the standard Node-RED released code.

How to use this project

  1. using a standard install of Node-RED with the projects feature enabled, clone a fork of this repository
  2. develop your Node-RED application
  3. when you are ready to release it use the Dockerfile in this repository to build your application

See the tutorials here

Changes from a standard Node-RED install

Node-RED Editor

In a production system the Node-RED editor should be disabled. However, in this project the editor has been moved from the root (/) endpoint to the /admin endpoint to allow the application to be examined within the container.

It is recommended that the editor be disabled for any production workload. This is achieved by modifying the settings.js file to change the httpAdminRoot property from "/admin" to false : **httpAdminRoot: false,**

For more details about configuring the runtime using the settings.js file see the configuration section of the Node-RED documentation.

Health endpoints

When running containers within a managed cloud environment, it is often useful to provide some endpoints within the container, so the cloud management system can verify the container is still alive and responding to requests.

This project adds the Health Checking capability from CloudNativeJS.io. The integration has be done in the server.js file by adding the following lines of code:

var health = require('@cloudnative/health-connect');

var healthcheck = new health.HealthChecker();
app.use('/live', health.LivenessEndpoint(healthcheck));
app.use('/ready', health.ReadinessEndpoint(healthcheck));
app.use('/health', health.HealthEndpoint(healthcheck));

About

Template project for running Node-RED in Docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.5%
  • Dockerfile 6.5%