Hilscher Forum
How to save node-red flows persistent? - Printable Version

+- Hilscher Forum (https://forum.hilscher.com)
+-- Forum: netPI - Ruggedized Raspberry Pi with Industrial Ethernet (https://forum.hilscher.com/Forum-netPI-Ruggedized-Raspberry-Pi-with-Industrial-Ethernet)
+--- Forum: Software (https://forum.hilscher.com/Forum-Software)
+--- Thread: How to save node-red flows persistent? (/Thread-How-to-save-node-red-flows-persistent)



How to save node-red flows persistent? - hsammer - November-5th-2019

Hello.

I’m using hilschernetpi/netpi-nodered:latest. So far everything is fine.
But now I wonder how to save my flows in a persistent way.
The official node-red documentation tells that beginning with version 1.0 
setting, user and flow directory resides within /data directory which should be mapped to a persistent volume.
By the way the documentation mentions that this directory should be owned by the user node-red (1000:1000).

I have no glue how to do this on the netPi (running Firmware Version 1.2.0.0).
 
The log of above image gives me the following output.

Welcome to Node-RED
===================
5 Nov 12:57:42 - [info] Node-RED version: v0.20.8
5 Nov 12:57:42 - [info] Node.js  version: v8.16.1
5 Nov 12:57:42 - [info] Linux 4.9.80-rt62 arm LE
5 Nov 12:57:43 - [info] Loading palette nodes
5 Nov 12:57:55 - [s7comm-Info] - Debug configuration for logLevelNodeS7:{"debug":0,"silent":true}
5 Nov 12:57:55 - [s7comm-Info] - Debug configuration for logLevelNodeRED:{"debug":2,"silent":true}
5 Nov 12:57:59 - [info] Dashboard version 2.16.3 started at /ui
5 Nov 12:58:00 - [info] Settings file  : /root/.node-red/settings.js
5 Nov 12:58:00 - [info] Context store  : 'default' [module=memory]
5 Nov 12:58:00 - [info] User directory : /root/.node-red
5 Nov 12:58:00 - [warn] Projects disabled : editorTheme.projects.enabled=false
5 Nov 12:58:00 - [info] Flows file     : /root/.node-red/flows_xxxxxxx.json
5 Nov 12:58:00 - [info] Creating new flow file
5 Nov 12:58:00 - [warn] 

 
So how to map /root/.node-red directory to any persistent volume?

Editing settings.js doesn't help either because this file is destroyed too at a container restart.


Regards
 
P.S.: I have searched the forum many times but didn’t find any answer. So I wonder again if nobody else has this problem. Maybe I missed something.


RE: How to save node-red flows persistent? - Armin@netPI - November-5th-2019

Hi there,

here is one possibility:

The Node-RED in the container has a working directory under /root/.node-red . In this folder the Node-RED will save the flow every time you do a deploy.

So what you could do is to keep the folder /root/.node-red saved to "somewhere" for those times where you do a restart/redeploy of the container.

Here is now to proceed: Use the "Volumes" function in the left menu of the Docker Web-UI. Then give your volume a name like "nodered" and click "create volume". This will then create a local volume/storage. Such a volume is mappable.

Then go to your "container create" dialog and use the possibility there to map specific folders of a container to a volume. Then as container source path use "/root/.node-red" and as volume your "nodered" volume ... then create your container as usual.

[attachment=148]

Whenever you now start/restart/redeploy you Node-RED container again with the same volume mapped, then this container will use the contents of the mapped volume as working directory.

Thx
Armin


RE: How to save node-red flows persistent? - hsammer - November-5th-2019

Hey Armin,


thank you very much for your fast and usefull answer.
This worked out of the box for me.


One remark:
I now found the error at myself.

I shouldn't do this at all. 
There is no need for modifying & saving flows on netPi.
This should be done on the development raspi and put in the image which is downloaded by the netPi.

Sorry for the stupid question.


Best regards
hsammer