In the localhost:9081 this is how my dashboard is looking like(which is how it’s supposed be looking like as of now as many are encountering the same issue).
and in the localhost:3000 this is how my dashboard is looking like
how am i supposed to fix this?
Note: i am using docker for running the meshery server on 9081 and for 3000 i am using make ui command.
Hi @Divyansh_Khatri! The reason for the issue is that Meshery can be started with different entry points: one using mesheryctl
and the other with the make
command. Currently, the Docker deployment on localhost:9081
is running, which may be causing a conflict.
To resolve this, you can stop the Docker deployment by running mesheryctl system stop
. After that, switch to using the make
command for local development, especially if you’re working on UI or server-related issues.
Here’s a quick breakdown of the ports:
- Port
3000
serves the UI only.
- Port
9081
serves both the UI and the server.
For mesheryctl
development specifically, it’s best to run make
directly. More details are available in the documentation if you’d like to explore further.
I see so does that mean if I want to run the meshery server and I am working in the UI part
I first need to run the make ui-setup
command to install dependencies and then make ui-build
to export the build file and then make sever
(or to combine the build and starting the server we use make ui-server
) command to start the server and after all this the make ui command to start the UI dev environment??
So that means I cannot run the docker command mesheryctl system start
to start the meshery server and then the make ui command to start the dev environment as it conflicts in some way am I understanding correctly @Yash_Sharma ??
Also I want to one more thing if I want to use only docker .So how can I work in the UI using only docker because as you said make commands create conflicts??
You’ve got the gist of it, @Divyansh_Khatri! Let me clarify a few points to make sure everything’s crystal clear.
If you’re focused on UI development, the general workflow involves:
- Install dependencies:
make ui-setup
- Build the UI:
make ui-build
(to generate the build files)
- Start the server and UI together: Use
make ui-server
to combine building and running the server in one step, or you can run make server
separately after building the UI.
- Start the UI dev environment: Finally, run
make ui
to begin the UI dev environment.
This workflow is ideal if you’re developing and testing changes on the Meshery server and UI locally without Docker.
However, you can still use mesheryctl
with Docker if needed. Running mesheryctl system start
will start Meshery using Docker containers. From here:
- You can still start the UI dev environment with
make ui
, which will not cause a conflict. This is because the dev environment for UI is separate from the containerized server environment.
- If you’re doing cluster-related tasks, running Meshery in Docker via
mesheryctl system start
is effective, as it provides an easy way to interact with clusters.
So yes, you can work on the UI dev environment while using Docker (mesheryctl system start
) without conflicts. Docker provides the server instance, and the make ui
command only runs the dev environment for the UI, which connects to the server instance. This allows you flexibility depending on your development needs.
But Yash that’s what exactly i was doing in the docker in the first place i first ran the docker container using the mesheryctl system start
command and then i used the make ui
command to run the ui dev env and that’s how i got those differnet dev environment on port 9081 and port 3000.
First, stop both Docker and Kubernetes to free up port 9081. Next, use the make commands to build the UI and server. This will launch Meshery on localhost:9081. Once Meshery is running, you can start Docker Desktop, which will enable Meshery to automatically detect the Kubernetes cluster.
I see thank you for the help @Yash_Sharma.
1 Like