Node-RED is an, open-source, visual programming tool that lets you wire together hardware (such as sensors), APIs (such as REST/POST) and custom functions. However, its custom functions aren’t simply the JavaScript you write, they can also be containers!
This can provide an intuitive front-end to otherwise difficult software. For example, you’ve written your magnum opus, you’ve even documented it (though no-one will ever read it) and to ensure maximum compatibility for the widest possible audience, you’ve containerised it. But it’s still a command-line driven application. Using node-RED you can make this accessible to an inexperienced audience.

Out of the box, node-RED’s quite pretty, you can string together nodes to perform functions that are useful. In this case, it’s for monitoring a log file, if the log doesn’t grow, something’s gone wrong, so email me to take a look at it.

When it comes to containers, you can easily drop in an “exec node”. In this case, an apptainer container of the essential cowsay. In this case, I’ve put the text “Moo, Hello OPIG!” into the payload of the start button. Press the start button on the left, it kicks off apptainer and passes it the message. Node-RED will then start the container, pass it the message and collect the output. It can be sent to stdout, stderr or just tell you the return code. To look at the output, you can either send it straight to a file, or use the debug nodes, or both.
A use-case for all this might be to have containers of different models which you want people to play with. You can have as many exec nodes as you like, each with a different model, they can connect the input file to all all the models and graph the output using one of the many dashboard/graph nodes.
To get started with node-RED it’s just a case of two lines:
sudo apt-get install npm
sudo npm install –g node-red
To get started with apptainer
wget https://github.com/sylabs/singularity/releases/download/v4.3.3/singularity-ce_4.3.3-noble_amd64.deb
sudo apt install ./singularity-ce_4.3.3-noble_amd64.deb


