One dashboard for several instances

I'm running a couple of NR instances and would like to control flows on all of them with one dashboard. I guess I could send payloads over mqtt to the instance running the dashboard and back, or use links, but is there any other way to solve it?

Do you mean you want one dashboard with, for example, tabs for each instance, or do you want all the instances to do the same thing when you do something like click a button on the common dashboard.

Preferably I would like to add groups from different instances on the same tab on a common dashboard. I could make do with one tab per instance if that is easier. Commands sent from the common dashboard would only go to one instance as they all do different things.

To exemplify, if I have heating control on one instance and sensors on another, I want a tab called indoor environment showing both of the above. The background is that I connect to hardware that often causes NR to crash and need to be unplugged when I want to restart NR or host. I've now moved those to a separate instance that I never touch.

The solution then is pretty much as you suggest. Make your dashboard communicate entirely through MQTT, which is a good thing to do anyway, as it keeps the UI separate from the logic. Run the dashboard on one of the node-red instances (actually you can run the same dashboard or a subset on multiple node-red instances if you want to).
This is pretty much what I do. I make everything UI related go via MQTT, whether the dashboard is on the same instance as the hardware being controlled or not. Then I can put whatever dashboard I like on whatever node-red instance I like. You can have multiple MQTT servers if necessary, a dashboard can get data from multiple servers.

2 Likes

Great, that's what I'll do then. Thanks!

Just curious. My understanding is that the Dashboard is essentially single user. If you use this approach where all the Dashboard is based on MQTT, it would in theory be possible to create a new instance for each user (possibly a Docker container) with a Dashboard that is delivering data from a "master" flow. If all the MQTT topics were set up as retained, when a user logged in to "their" instance the data would be updated because it is retained. This may not be the most elegant solution to a multi user dashboard, but it may work?

Yes, if you have dashboard flow files that consist of only dashboard and MQTT I/O nodes then you could run multiple node-red instances all showing basically the same dashboard, or different ones if you want different users to have different capabilities, then they will be independent.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.