node-red-dashboard
node-red-dashboard copied to clipboard
Able to use root "/" as base page for dashboard instead of "/dashboard"
Description
in Dashboard 1.0, if we set in settings.js - ui : { path: "" }, we can use https://{URL}/. as the bas of our dashboard pages. This is very useful when we need to hide the development page by setting httpAdminRoot to for example "/admin".
It would be good if we can do the same as all my dashboards are using the same concept
Thank you
Have you provided an initial effort estimate for this issue?
I am no FlowFuse team member
This is something I had hoped for in the early stages of Dashboard 2.0, but is annoyingly tricky to get right. Definitely want this capability in at some point, but it's unlikely to be an immediate priority
@joepavitt is it possible to get dashboards working under httpAdminRoot? If a node red instance is set up under https://{URL}/node-red/ for example dashboards are just not working at all.
@joepavitt turns out the dashboards are working under a sub path when httpRoot is set rather than httpAdminRoot
@joepavitt turns out the dashboards are working under a sub path when httpRoot is set rather than httpAdminRoot
As you've found, the httpAdminRoot
just defines where the Node-RED Editor runs.
httpNodeRoot
defines where any HTTP endpoints (all http-in
nodes and Dashboard nodes) run.
~Is this the issue that tracks the development of this option?~
~It seems related, but not identical. This issue specifically asks about using /
while I'm more interested in simply using paths other than /dashboard
so that multiple ui-base nodes don't collide.~
Nope, found it: https://github.com/FlowFuse/node-red-dashboard/issues/23
This is a major blocker for me right now. Is it being worked on at all?
Not currently, could you expand on the need and use-case for this please?
Yes, of course. It is a primary requirement for migrating a few dozen production Node-RED dashboards from various systems at an industrial customer. All of them follow the same URL patterns:
- / for the dashboard itself (which is a composite UI with charts and parameters for the application)
- /admin for logging in
- /api for remote monitoring endpoints
- /static for any static assets (there is a sub-folder under that where CSV files are generated)
All of these are behind a reverse proxy that maps hostnames to internal IP addresses and allows requests to go through to the production floor. There are a few other asset paths that need to go through, obviously, but the primary customer requirement is to be able to access the dashboards by virtual hostname alone and no sub-paths, and given that most of the desktops are locked down even changing bookmarks in browsers to add "/dashboard" is a major chore.
Edited to add: Oh, and since we have no control over the reverse proxy and changing anything on it requires multiple approvals and even paid intervention by a vendor, doing the equivalent of URL rewrites isn't feasible (it's not even an open-source system).
@rcarmo It's a whole different thing but FYI I'm currently using ThingsBoard for dashboards because it does have the ability to serve multiple dashboards from one instance. I'd love to get them back into Node-RED but I'm not really keen on running a separate instance for each dashboard.
@AndreKR this is an aside (and nice product placement, BTW), but the people I'm helping out have a lot of investment on Node-RED and use dashboards as a composite UI for a lot of things, almost like a RAD environment. The current dashboard just doesn't help.
@rcarmo I'm not affiliated with ThingsBoard in any way, I don't even particularly like it (setting up the rule engine is rather complicated and the available dashboard controls are rather inflexible). I just wanted to let you know that because of this issue I have tried a lot of different options to serve multiple dashboards and ThingsBoard is the one I had the least amount of trouble with. I'm sorry if the information was useless to you.
All of these are behind a reverse proxy that maps hostnames to internal IP addresses
Can the reverse proxy map, for example, the domain root to <ip>:1880/dashboard
?