It depends on your use case.
In my setups I am using one Node-RED installation and launch different workspaces with -u
, each with their own dependencies, settings.js, flows.json and so on.
Structured like this:
.
├── apps
│ ├── node-red -> node-red_1.0
│ ├── node-red_0.19
│ ├── node-red_0.20
│ └── node-red_1.0
└── workspaces
├── node-red-controller
│ ├── flows_cred.json
│ ├── flows.json
│ ├── lib
│ ├── node_modules
│ ├── package.json
│ ├── package-lock.json
│ └── settings.js
├── node-red-dashboard
│ ├── flows_cred.json
│ ├── flows.json
│ ├── lib
│ ├── node_modules
│ ├── package.json
│ ├── package-lock.json
│ ├── settings.js
│ └── static
├── node-red-telegram
│ ├── flows_cred.json
│ ├── flows.json
│ ├── lib
│ ├── node_modules
│ ├── package.json
│ ├── package-lock.json
│ └── settings.js
└── node-red-test
├── flows_cred.json
├── flows.json
├── lib
├── package.json
└── settings.js
Everything is managed with a PM2 ecosystem file.
After all it's not very different from your approach.