GenghisTask - Node Red
This node-red plugin is an improvement of the exec plugin.
- task can be executed in a remote server
- task can be executed within a docker container
- supply extra argument to executable
- call a script instead of exec a command
GenghisTask was a standalone application but you may prefer Node Red instead. This plugin allow you to use the concept and convention of a "GenghisTask Workspace" in Node Red without GenghisTask at all.
Suggested node red startup with docker
mkdir nodered cd nodered docker run -d -it -e HOSTDIR=`pwd` -p 1880:1880 -v /var/run/docker.sock:/var/run/docker.sock -v `pwd`/data:/data -v `pwd`/ssh:/usr/src/node-red/.ssh --name mynodered nodered/node-red
Running with ssh
In the node red settings, you can get the ssh key public key of node red to execute task remotely or clone a workspace from a protected repository
Running docker inside docker
The default nodered image does not contains docker. You may install the docker client to be able to execute task within a docker container.
echo "apk add --update --no-cache docker-cli docker-compose" | docker exec -uroot -i mynodered sh docker exec -uroot mynodered addgroup docker -g `grep docker /etc/group | cut -d : -f 3` docker exec -uroot mynodered addgroup node-red docker docker restart mynodered
A task can be trigger manually with its input button in nodered. I also use third party extension node-red-contrib-cron-plus.
You must use a remote git repository where the source code of each task will be under version control.
The repository contains an
environement folder and a
shell folder. They define a list of ssh server, docker images and shell script to execute.
You can start to create a typical