Containers — xPRO Open edX
Generated 2026-06-24 17:02 UTC · c4gen dev
The runtime/deployable units inside xPRO Open edX and how data moves between them and adjacent systems.
Containers
| Container | Technology | Responsibility |
|---|---|---|
| LMS (edxapp) | Django (lms.djangoapp, Python 3.11, gunicorn) | Learner-facing courseware runtime + the REST API surface the xPRO app drives: enrollment (/api/enrollment/v1/, /bulk_enroll/v1/), grades (/api/grades/v1/), certificates, user accounts, and the OAuth2 / third-party-auth provider. Served at courses.xpro.mit.edu. |
| Studio / CMS | Django (cms.djangoapp, Python 3.11) | Authoring environment for courses (Studio). Writes course structure to the modulestore and drives course import/export (OLX) and video upload. |
| OAuth2 / Third-party-auth Provider | django-oauth-toolkit + social-auth (in LMS) | Identity surface — OAuth2 authorization/token endpoints and the social-auth backend (ol-oauth2) the xPRO app logs in against. Issues the JWTs xPRO uses for enrollment and grade API calls. |
| Forum (cs_comments_service) | Ruby / Sinatra (forum) + MongoDB | Discussion service backing course forums; the LMS proxies threads/comments to it. |
| Notes API (edx-notes-api) | Django + Elasticsearch (edx-notes-api) | Stores learner annotations/highlights; the LMS edxnotes app reads/writes it. |
| edx-search / Elasticsearch | edx-search + Elasticsearch | Courseware and discovery search index; LMS/CMS index course content into it. |
| Celery Workers | Celery (lms + cms workers; queues low/default/high) | Async grading, certificate generation, bulk course email, course import/export, and bulk enrollment processing. Brokered by Redis. |
| MySQL | MySQL 8 (RDS in prod) | Relational system of record — users, enrollments, grades, certificates, OAuth tokens. |
| MongoDB | MongoDB (modulestore + forum) | Course structure/content (split modulestore) and forum threads/comments. |
| Redis | Redis / Valkey (ElastiCache in prod) | Celery broker/result backend and Django cache. |
| S3 Content / Export | AWS S3 | Course export archives (OLX), uploaded assets, and grade/cert report downloads. The OLX/content archives downstream ETL pulls live here. |