Running an MFE with tutor v16.1.1

Hi there!

I’m currently using Tutor version 16.1.1, and I’ve noticed a significant improvement in performance. However, I’ve encountered an issue while attempting to mount an MFE (Micro Frontend) for development. Specifically, I’m trying to achieve this with the frontend-app-communications repository.

Here’s the command I’ve been using to mount the MFE:

Like this:

tutor mounts add communications:$(pwd)/frontend-app-communications:/openedx/app

I had previously cloned the repository within my Tutor environment and installed all the required Node.js dependencies.

It seems that the container for the MFE is created successfully:

But is not working for me, any idea? It may be an error mine.

I would greatly appreciate any advice or recommendations you might have regarding this issue

Thank you very much!

Hey @jvente! I’m going to have to try this out with frontend-app-communications over the next couple of days for other reasons, so feel free to ping me if nobody else is able to help in the mean time.

What are the logs from the “communications” container?

Thanks @arbrandes I will ask you any update :smiley:

@regis the container restarts each some seconds so I can’t see the logs

You can see the logs by running tutor dev run communications.

Hi, These are the logs

What’s the output of tutor dev run communications ls /openedx/app?

What’s the output of tutor mounts list?

Here the logs of both

Let’s keep trying…

$ tutor dev run communications ls -l /openedx/app
$ tutor dev run communications ls -l /openedx/app/package.json
$ tutor dev run communications npm run npm run start --- --config ./webpack.dev-tutor.config.js

On it:

  • tutor dev run communications ls -l /openedx/app
  • tutor dev run communications ls -l /openedx/app/package.json

respectively

  • tutor dev run communications npm run npm run start — --config ./webpack.dev-tutor.config.js

Sorry, I should have written:

tutor dev run communications npm run start --- --config ./webpack.dev-tutor.config.js

No problem

The fact that you are able to run tutor dev run communications npm run start --- --config ./webpack.dev-tutor.config.js but not tutor dev run communications baffles me. Because npm run start --- --config ./webpack.dev-tutor.config.js should be the exact same command executed in your container with tutor dev run communications.

I suspect an issue with Docker itself. Destroy the containers and networks and then attempt to run the MFE again:

tutor dev dc down
tutor dev run communications

Here we go:

It’s weird that the bundle looks like is ok, but in the url doesn’t work.

I think it’s something related to how the mfe is being redirected. I will be doing some tests as well

OK I think your issue is resolved. The communications port is not exposed because you are using tutor dev run and not tutor dev start. Just start your whole platform again with: tutor local start -d.

FTR, in the most recent version of tutor-mfe, you should not have to explicitely configure the mount location of the MFE. Just run:

tutor mounts add /path/to/frontend-app-communications

and it should auto-magically work.