I created Node-RED Plus to overcome specific obstacles I found in the community Node-RED app, most importantly the inflexibility of the required /endpoint in the URL for dashboards and other node endpoints, as well as incompatibilities with FlowFuse Dashboard (aka Dashboard 2.0). This alternative/replacement app has worked very well for me and, I hope, many others.
Recently the community app has upgraded to Node-RED v5 and also removed the bundled legacy dashboard nodes, enabling compatibility with FlowFuse Dashboard. However, it still carries the /endpoint restriction, leaving the Node-RED Plus alternative still relevant.
It is apparent that the community app’s transition has not been painless for many people, and I would like input before making significant version upgrades to Node-RED Plus. Right now the app includes Node-RED v4.1.11 using Node.js v22 (the recommended version at the time from the Node-RED developers, and the most compatible with third-party nodes).
There are two potential pain points: moving Node.js to v24, and moving Node-RED to v5. Both may introduce incompatibilities with third-party nodes or flows that people currently rely on.
What upgrade path would the community most like?
I see two main possibilities:
Bite the bullet and make the major upgrades, with prominent warnings not to upgrade if it is likely to disrupt existing flows.
Keep the current app with the current versions indefinitely, and introduce a new app with the major version upgrades.
Are there other possibilities? What are your thoughts?
I think I have arrived at a third possibility: allow the versions to run of both Node.js and Node-RED to be selected in the app configuration.
Enabling this has required a significant refactoring of the entire app, but I think it offers the best possible experience for users. Now you will be able to upgrade on your own terms. Using some legacy nodes that aren’t ready for Node.js v24 or Node-RED v5? Stay with Node.js v22 or Node-RED v4. Want the latest and greatest? Make a few clicks in the app configuration and restart. Something breaks you weren’t expecting? Make some clicks in the app configuration again and instantly downgrade.
I have created a separate, experimental app that does all this to see if it can actually work. I would appreciate if some people would try it out and give feedback.
As a bonus, the new app also optionally supports using the jemalloc memory allocator to tune performance. Enabling and configuring this is also done in the app configuration.
If you have already added the MARS repository to your Home Assistant then the experimental app should show up as Node-RED Plus (alpha). Otherwise you will need to add the repository before you can install the app.
I stumbed across this quite a couple of times but wasn’t really sure if I should give it a try.
Since, even if looking at your gitlab site I do miss one vital information which keeps me from having a closer look.
Would it allow me to simply install that besides the common node-red app, of course using a different port perhaps 2880 against 1880 so one could see how it differs from the standard app?
Allowing to move 1-2 not that important flows from node-red to the plus version and check for a month or two if it runs as rock solid without crashing or such like?
I don’t think my Mosquitto wouldn’t be able to handle 2 differnt node-red installation same time. nor does HA since not talking to my node-red since I dropped that contrib in favour of MQTT.
I recently added a section to the documentation about migrating from the community app that might answer it, but in short: there is no problem to have both apps installed side-by-side, however because the apps share the host network, both apps cannot be running at the same time. This is true even if you configure the apps to use different ports because both apps currently use the same port internally for back-end communication. Possibly this could be changed if enough people feel it to be worth it, but for now my suggestion would be:
Install Node-RED Plus (link below).
Review the configurations of both apps and migrate any important options (the link above provides some guidance).
Stop the community app (and disable Start on boot).
Start the Node-RED Plus app.
Check the Log tab for any errors.
Node-RED Plus will automatically migrate your flows and other important app data from the community app the first time it is started, so you shouldn’t need to export or import anything.
If something goes wrong, you can always stop Node-RED Plus and go back to the community app.
FYI I’ve updated the Node-RED Plus app so that you can now run it concurrently with the community app in the manner you’ve suggested as of version 22.0.2-plus-6.