I want to know if it is possible and how to have multiple NodeRed environments (in separated vms or machines) and how to have a CI (continous integration) kinda evironment. Please avoid any Github integration because i already have it but is what i don't need right now.
Yes. There are lots of ways to achieve this. Node-RED is built on Node.js so you would be well served by reading up on Node.js applications, modules and packages.
It is perfectly possible to have multiple NR environments without needing any VM's. You can run as many instances of Node-RED as you have resources for. The only really limitation beyond resources being that they must all be on different TCP/IP ports if they are running on the same device. Even that can be hidden from end-users by using a reverse web proxy.
You have 2 choices wit this approach. 1) Install Node-RED globally and have all instances running from the same version. 2) Install Node-RED locally and have all instances running from separate versions. I have something on my GitHub that demonstrates (2).
You could instead run the Docker version which would also let you run multiple instances though with somewhat higher resource overheads but greater separation which might be helpful if security is an issue.
The topic of replicating flows from a main instance to sub-instances has been well covered in this forum. Please do some searching.
The escenario that i want to approach is the one that.i need to have a replicated environment, in fact, i can use docker or another vm, that is not the main goal. The main task about all this is that i need to replicate two different environments specially containing subflows and self-made nodes.
I did a search about this but with no luck, so i wrote the quesion.
Feb '20 - ...I want to change something I change it in one flow and copy it one by one to the other flows. My qeustions is: Is there any possibility do define a "master" flow which I can "deploy" for the all units? I have one flow collecting and parsing the data. From there I could jump to the "deployed" flows. I am...
Well...doing some research and testing i reach out the folllowing approach:
I've installed and configured a Mongo node so every deploy goes directly into the mongo db.
Inside the Mongo there are a few collections and previously you can configure one so you can tell Node-Red where it should be written. For example "nodered-flows".
If you go inside the Mongo and go inside the DB you can see only one insert to the database with several Arrays, just like a JSON file.
The main problem with this is that Mongo also records for internal IDs and associate them to the next records inside the database.
So, is a great approach but none deffinitive. I still working on it...