Repolode
openedx

openedx/openedx-platform

The LMS and Studio core of Open edX, a Python/Django platform for authoring and delivering online courses at scale.

Open-source alternative to:Coursera for CampusCanvas LMS

Stars
8,218
Forks
4,384
Open issues
617
Last commit
yesterday

What is it?

Open edX Platform is the central monolith of the Open edX learning system, written in Python with Django and JavaScript. It provides two services: Studio (CMS), where instructors author learning content, and the LMS, which delivers that content to learners.

The platform sits at the center of a wider architecture that includes independently deployable applications and React-based micro-frontends (MFEs) for the learner and authoring interfaces. Most UI is now served by these separately run MFEs, so the repository alone gives a largely headless platform.

For most operators, the recommended path is Tutor, a Docker-based distribution, with a development mode for contributors. Bare-metal installation on Ubuntu 24.04 with Python 3.12, MySQL 8.0, MongoDB and Memcached is also documented, though it is described as less common and less supported.

Key features

  • 01Studio CMS for authoring course content
  • 02LMS for delivering courses to learners
  • 03Modular Django monolith extended by independent apps and MFEs
  • 04Docker-based deployment and development via Tutor
  • 05Codejail-based sandboxing for executing learner code

Use cases

  • Running an online course platform for a university or training provider
  • Hosting self-managed Open edX sites with Tutor
  • Contributing features or customizations to the Open edX ecosystem

Quick start

  1. 1

    Use Tutor (Docker-based) for the recommended development setup; see the README link

  2. 2

    Install frontend dependencies (development)

    npm clean-install --dev
  3. 3

    Install backend dependencies (development)

    uv sync --group development --group ci
  4. 4

    Start the LMS (requires MySQL, Mongo and Memcached running)

    ./manage.py lms runserver 18000

Things to know

  • Bare-metal setup is advanced, mostly undocumented, and receives only limited community support.
  • Requires MySQL, MongoDB and Memcached services plus a multi-part setup of MFEs.
  • Licensed under AGPL-3.0, a copyleft license.

In collections

Topics

FAQ

What is openedx-platform?
The LMS and Studio core of Open edX, a Python/Django platform for authoring and delivering online courses at scale. Open edX Platform is the central monolith of the Open edX learning system, written in Python with Django and JavaScript. It provides two services: Studio (CMS), where instructors author learning content, and the LMS, which delivers that content to learners.
Is openedx-platform free to use? What license does it have?
openedx-platform is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is openedx-platform still maintained?
Actively maintained. The last commit to openedx-platform was on Nov 5, 2026.
What can I use openedx-platform for?
Running an online course platform for a university or training provider Hosting self-managed Open edX sites with Tutor Contributing features or customizations to the Open edX ecosystem
How do I install openedx-platform?
Use Tutor (Docker-based) for the recommended development setup; see the README link Install frontend dependencies (development): npm clean-install --dev Install backend dependencies (development): uv sync --group development --group ci Start the LMS (requires MySQL, Mongo and Memcached running): ./manage.py lms runserver 18000
Where can I get openedx-platform?
The source code and installation instructions are on GitHub: https://github.com/openedx/openedx-platform

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects