MFE configuration on a separate machine and primary domain

Hi everyone,

I’m trying to install Open edX in a headless configuration.

What I would like to achieve is:

  • Run Open edX (LMS/CMS, APIs only) on one server

  • Run a custom Next.js frontend (MFE) on another server or cloud PaaS

  • Use the primary domain (e.g. example.com) for the Next.js frontend

  • Expose Open edX only on a secondary/internal domain (e.g. edx.example.com)

From what I’ve seen so far, the standard MFE approach seems to assume:

  • MFEs hosted on subdomains

  • LMS still being the main entry point for users

My questions are:

  1. Is it officially supported (or practically feasible) to use Open edX fully headless, with a custom Next.js frontend as the main domain?

  2. Are there known limitations regarding:

  3. Is there any recommended architecture, documentation, or real-world example of this setup?

Thanks in advance for any guidance or shared experience.

1 Like

I’m not aware of others running this way at the moment, but with the rise of MFEs, we do now have more and more API endpoints that would allow for this to be possible.

If you haven’t found it already LMS APIs — edx-platform documentation is a good reference of all the APIs.

One of the limitations currently is that much of the system still assumes MFEs and there is a lot of coupling of paths/links that the API returns to the expected location of those pages in MFEs. The platform lets you configure the base MFE URL for each MFE but the paths to specific pages underneath that base url are hardcoded into the edx-platform at the moment which may cause some issues.

Good luck with this project and if you run into issues, I’d be curious to learn what they are and if there are improvements we can make to make this approach more feasible.

1 Like