Unable to login to RMF Dashboard (#641)

Posted by @akshay-ka:

Hello,

I’m integrating free_fleet with rmf-web for my robot (runs on ros2).

I have started the api-server and rmf-dashboard-framework correctly.

However, when i connect to localhost:5173, I’m not able to login.

Could anyone provide guidance or clarification on how to move forward? Any help would be appreciated.


Edited by @akshay-ka at 2025-03-18T11:32:52Z

Chosen answer

Answer chosen by @akshay-ka at 2025-03-24T08:15:59Z.
Answered by @aaronchongth:

Thanks for clarifying. It’s a usage issue then, I’ll try to break this down,

The rmf-web example stack (running according to the instructions) is assuming running the web stack on the same machine as running RMF, and browsing the dashboard on the same machine. For example,

  • your PC: API server + dashboard + browser + Open-RMF + free fleet adapter
  • your AGX robot: nav2 + zenoh bridge

My suggestion would be getting a bit more familiar with web related terminologies and concepts, to debug this on your end. Perhaps even check out rmf_deployment_template/dockerfiles/rmf-web/dashboard at main · open-rmf/rmf_deployment_template · GitHub, to better understand how a deployment should look like.

Posted by @aaronchongth:

In the future, please provide as much information as possible (screenshots, logs, commands, ROS_DOMAIN_ID, RMW_IMPLEMENTATION, OS, source or binary, ROS 2 version), any amount of set up information is valuable, otherwise it is incredibly difficult to know whether it is a bug or a usage issue.

I have started the api-server and rmf-dashboard-framework correctly.

Please provide the exact commands you used to set up the api-server and rmf-dashboard-framework.

In the future, it will be useful and possibly easier to diagnose if something is a bug or a command is missing, if you can compare running rmf-web with rmf_demos, GitHub - open-rmf/rmf_demos: Demonstrations of Open-RMF, if that set up is working as expected and compare it to your set up.

My current guess is that the API server has not been launched properly, which results in the dashboard not being able to be authenticated. Launching just the dashboard but not the API server will result in the same issue.

Posted by @akshay-ka:

OS: Ubuntu 24 LTS
ROS2: Jazzy
Build: source
RMW_IMPLEMENTATION: rmw_cyclonedds_cpp

I had built rmf-web packages using these instructions.

I started api-server and rmf-dashboard-framework on two separate terminals, starting with api-server.
To start api-server, i run the following command.

cd packages/api-server
pnpm start

The console output is shown below:

To start rmf-dashboard-framework i use the following command:

cd packages/rmf-dashboard-framework
pnpm start

The corresponding console output is shown below:


Edited by @akshay-ka at 2025-03-19T12:32:51Z

Posted by @aaronchongth:

https://github.com/open-rmf/rmf-web?tab=readme-ov-file#launching-for-development-separately
When launching these components separate for development, for the dashboard run pnpm run start:example examples/demo

Posted by @akshay-ka:

GitHub - open-rmf/rmf-web When launching these components separate for development, for the dashboard run pnpm run start:example examples/demo

@aaronchongth I run the command as you mentioned and yet i face the same issue, unable to login (please see screenshot below). The login screen doesn’t respond.

Posted by @aaronchongth:

Are you running the dashboard on a different machine and trying to access it from a different machine? I just noticed that you have blocked out the IP portion, so I assume you are not pointing to localhost.

Here is a short video of running on a single host

Posted by @akshay-ka:

Are you running the dashboard on a different machine and trying to access it from a different machine? I just noticed that you have blocked out the IP portion, so I assume you are not pointing to localhost.

No. I’m running everything inside a docker container on NVIDIA Jetson AGX Orin onboard my robot.
I tried to access localhost:5173 in my web browser, but I’m unbale to connect.

I tried the command pnpm run start:example examples/demo --host which exposed the network my_ip_address:5173. Here I was able to see the rmf-dashboard, but unable to login.

Here is a short video of running on a single host https://github.com/user-attachments/assets/c51586c7-e0e2-4db4-a99c-2c18b2803be4

I followed the same procedure as you did, but it didn’t solve my issue.

So, the two issues now are:

  1. Unable to connect to localhost:5173 after starting pnpm start in the api-server.
  2. Even though I can see the rmf-dashboard through my_ip_address:5173, i’m unbale to login.

Edited by @akshay-ka at 2025-03-20T06:36:25Z

Posted by @aaronchongth:

No. I’m running everything inside a docker container on NVIDIA Jetson AGX Orin onboard my robot.
I tried to access localhost:5173 in my web browser, but I’m unbale to connect.

Just to make sure I understand the stack correctly, this browser (shown in screenshot), is on a display directly connected to the AGX on your robot? And not running on a separate PC in the same network?

Even though I can see the rmf-dashboard through my_ip_address:5173, i’m unbale to login.

The demo dashboard is looking for the API server on localhost, rmf-web/packages/rmf-dashboard-framework/examples/demo/main.tsx at main · open-rmf/rmf-web · GitHub, therefore, if you navigate to my_ip_address:5173 on machine A, it means that it is looking for the server on machine A, but it should be looking for the API server on my_ip_address:8000 instead

Posted by @akshay-ka:

Just to make sure I understand the stack correctly, this browser (shown in screenshot), is on a display directly connected to the AGX on your robot? And not running on a separate PC in the same network?

The second part is correct. The browser is running on my laptop connected to the same wi-fi network as my robot.
The stack is as follows:
my_laptop → ssh’d into robot → running a docker container on robot (AGX Orin) → running api-server in shell of docker container.
I have set the same ROS_DOMAIN_ID in .bashrc of my laptop, AGX Orin and inside docker container.

The demo dashboard is looking for the API server on localhost, rmf-web/packages/rmf-dashboard-framework/examples/demo/main.tsx at main · open-rmf/rmf-web · GitHub, therefore, if you navigate to my_ip_address:5173 on machine A, it means that it is looking for the server on machine A, but it should be looking for the API server on my_ip_address:8000 instead

I’m not sure what I must do based on this comment.


Edited by @akshay-ka at 2025-03-20T07:48:14Z

Posted by @aaronchongth:

Thanks for clarifying. It’s a usage issue then, I’ll try to break this down,

The rmf-web example stack (running according to the instructions) is assuming running the web stack on the same machine as running RMF, and browsing the dashboard on the same machine. For example,

  • your PC: API server + dashboard + browser + Open-RMF + free fleet adapter
  • your AGX robot: nav2 + zenoh bridge

My suggestion would be getting a bit more familiar with web related terminologies and concepts, to debug this on your end. Perhaps even check out rmf_deployment_template/dockerfiles/rmf-web/dashboard at main · open-rmf/rmf_deployment_template · GitHub, to better understand how a deployment should look like.


This is the chosen answer.

Posted by @akshay-ka:

Setting the IP address and port of the API server here, rmf-web/packages/rmf-dashboard-framework/examples/demo/main.tsx at main · open-rmf/rmf-web · GitHub, before starting the dashboard, will allow all browser instances of the dashboard to look for the absolute IP address my_ip_address:8000, instead of localhost

@aaronchongth Thanks for the detailed explanation.
As of now, I hardcoded my_ip_address:8000 in the main.tsx script, but unfortunately, I could not see any difference.


Edited by @akshay-ka at 2025-03-21T06:51:13Z

Posted by @akshay-ka:

@aaronchongth

your PC: API server + dashboard + browser + Open-RMF + free fleet adapter
your AGX robot: nav2 + zenoh bridge

With the above configuration, I’m able view the dashboard and all the associated contents.
Thanks for the support!


Edited by @akshay-ka at 2025-03-24T08:15:52Z