Can not create manager local container from sources

I am new in the openRemote ecosystem and I tend to modify both backend (i.e. create a new asset) and frontend as well. For that reason:

  1. I successfully deployed locally the openRemote by following the “Quick Start” Tutorial

  2. By following the “Developer Guide: Setting up an IDE” tutorial, I managed to create a new asset and to visualize it on the map.

  3. Then and in order to modify slightly the Manager UI, I decided to deploy the Manager using a local docker container (build from modified sources to support my new asset). Therefore, I followed the UI Development profile and run the following commands:

.\gradlew clean installDist
docker-compose -f profile\dev-ui.yml build

The result is than no local images are build. No action performed. No container run.

I have also tried the following command:

docker-compose -f profile\dev-ui.yml up --build

It instantiates the containers from the images downloaded during step1. No local images created.

I have also tried to delete the images downloaded during step 1 and then to rerun the last command. It downloaded the images from your docker registry and instatiated them as containers.

I am working on a PC running windows 11 and docker desktop ver 4.4.4 (73704).

Well, at the risk of saying something unhelpful as I’m no developer:
With the containers running you can now serve the ui with npm run serve, and maybe some additional configuration: Developer Guide: UI apps and components · openremote/openremote Wiki · GitHub

Just to add some info:

The deploy.yml which is referenced by the dev-ui.yml profile doesn’t have build entries for the manager, this was removed as it made the compose profile un-usable due to a long standing bug where build dirs must exist even if you want to use images in the cache/from docker hub.

If you’ve modified the manager code (including UI) then running:

gradlew clean installDist will prepare the manager docker image build files and you can then run the following to build the manager image and tag it as openremote/manager:latest in your local cache:

docker build -t openremote/manager:latest ./manager/build/install/manager

When you start the stack it will then use your newly built image (just slightly bit to type than docker-compose build).

It worked! Now I have a local image that contains both manager and ui modifications.

Thank you very much.

I have one more question.

Can I deploy the Manager (as backend) using a local docker container and do modifications in the ui part (by running: npm run modelWatch, npm run serve) as proposed in the “Working on the UI” tutorial?

Yes you can run the manager in docker and then use npm run serve to work on the UI code you just need to configure the managerUrl to be https://localhost as described in this section: