This tool is designed to be used together with the Flowhub development environment for running NoFlo networks on Node.js.
Start by setting up a local NoFlo Node.js project. For example:
$ mkdir my-project
$ cd my-project
$ npm init
$ npm install noflo --save
$ npm install noflo-nodejs --save
Continue by installing whatever NoFlo component libraries you need, for example:
$ npm install noflo-core --save
If you want, this is a great time to push your project to GitHub.
The next step is to create the runtime configuration, which will be stored in the flowhub.json
file in your project folder. Usually you don't want to add this file to version control.
You can either create the file by hand, or by the provided noflo-nodejs-init
tool. See the included help information:
$ node node_modules/.bin/noflo-nodejs-init --help
There are situations where the IP address of the runtime will change. For example, when you're running a NoFlo runtime on a Raspberry Pi that you carry between home and the office. This runtime tool has rudimentary support for IP address autodetection.
To enable that, run:
$ node node_modules/.bin/noflo-nodejs-init --host autodetect
After this the runtime will report its current IP address to your Flowhub UI whenever it is started.
$ node node_modules/.bin/noflo-nodejs-init
will initialize flowhub.json
with the id
of the runtime. The user
id comes from Flowhub > Home > Runtimes > Register. You'll need some more info to make the registration useful:
{
"id": "runtime-id-...",
"user": "user-id-...",
"host": "autodetect",
"port": 3569,
"label": "my-runtime"
}
To generate this file, you could run:
$ node node_modules/.bin/noflo-nodejs-init --host autodetect --port 3569 --user user-id --label "my-runtime"
In this case the UUID for the runtime (shown as runtime-id
in the JSON above) would be autogenerated. If you want to reuse a previous one, you can provide it with the --id some-UUID
option.
Once you have configured the runtime, it is time to start it:
$ node node_modules/.bin/noflo-nodejs
This will start a WebSocket-based NoFlo Runtime server, and register it to your Flowhub account. It should now become available in your Flowhub UI. By default the configuration will be read from the current working directory, but you can change this by setting the PROJECT_HOME
environment variable.