Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ ifeq ($(FS_SYNC_STRATEGY),local-mounts)
COMPOSE_FILE := docker-compose-host.yml
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-themes.yml
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-watchers.yml
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-xqueue.yml
endif

# Files for use with Network File System -based synchronization.
Expand Down
45 changes: 20 additions & 25 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,22 @@ The Devstack runs as multiple containers with `Docker Compose`_ at its core.

A Devstack installation includes the following Open edX components by default:

* The Learning Management System (LMS)
* The Learning micro-frontend (A.K.A the new Courseware experience)
* The Learning Management System (LMS).
* LMS micro-frontends, including Gradebook and Learning (a.k.a. the "new courseware experience").
* Open Response Assessments (ORA2), among other LMS plug-ins.
* Open edX Studio
* Discussion Forums
* E-Commerce
* Credentials
* Notes
* Course Discovery
* Open edX Search
* A demonstration Open edX course
* The Publisher and Gradebook micro-frontends
* Discussion Forums.
* Open edX Studio, including the Library- and Course-Authoring micro-frontends.
* E-Commerce, including the Payment micro-frontend.
* Course Discovery, including the Publisher micro-frontend.
* Credentials.
* Notes.
* Open edX Search.
* A demonstration Open edX course.

It also includes the following extra components:

* XQueue
* The Program Console micro-frontend
* The Library Authoring micro-frontend
* edX Registrar service.
* The course-authoring micro-frontend

* XQueue and an example XQueue consumer.
* Registrar, including the Program Console micro-frontend.

.. contents:: **Table of Contents:**

Expand Down Expand Up @@ -300,15 +295,15 @@ Instead of a service name or list, you can also run commands like ``make dev.pro
+------------------------------------+-------------------------------------+----------------+--------------+
| `frontend-app-publisher`_ | http://localhost:18400/ | MFE (React.js) | Default |
+------------------------------------+-------------------------------------+----------------+--------------+
| `gradebook`_ | http://localhost:1994/ | MFE (React.js) | Default |
| `frontend-app-gradebook`_ | http://localhost:1994/ | MFE (React.js) | Default |
+------------------------------------+-------------------------------------+----------------+--------------+
| `registrar`_ | http://localhost:18734/api-docs/ | Python/Django | Extra |
| `frontend-app-library-authoring`_ | http://localhost:3001/ | MFE (React.js) | Default |
+------------------------------------+-------------------------------------+----------------+--------------+
| `program-console`_ | http://localhost:1976/ | MFE (React.js) | Extra |
| `frontend-app-course-authoring`_ | http://localhost:2001/ | MFE (React.js) | Default |
+------------------------------------+-------------------------------------+----------------+--------------+
| `frontend-app-library-authoring`_ | http://localhost:3001/ | MFE (React.js) | Extra |
| `frontend-app-program-console`_ | http://localhost:1976/ | MFE (React.js) | Extra |
+------------------------------------+-------------------------------------+----------------+--------------+
| `course-authoring`_ | http://localhost:2001/ | MFE (React.js) | Extra |
| `registrar`_ | http://localhost:18734/api-docs/ | Python/Django | Extra |
+------------------------------------+-------------------------------------+----------------+--------------+
| `xqueue`_ | http://localhost:18040/api/v1/ | Python/Django | Extra |
+------------------------------------+-------------------------------------+----------------+--------------+
Expand All @@ -326,15 +321,15 @@ Some common service combinations include:
.. _forum: https://github.com/edx/cs_comments_service
.. _frontend-app-payment: https://github.com/edx/frontend-app-payment
.. _frontend-app-publisher: https://github.com/edx/frontend-app-publisher
.. _gradebook: https://github.com/edx/frontend-app-gradebook
.. _frontend-app-gradebook: https://github.com/edx/frontend-app-gradebook
.. _lms: https://github.com/edx/edx-platform
.. _program-console: https://github.com/edx/frontend-app-program-console
.. _frontend-app-program-console: https://github.com/edx/frontend-app-program-console
.. _registrar: https://github.com/edx/registrar
.. _studio: https://github.com/edx/edx-platform
.. _lms: https://github.com/edx/edx-platform
.. _frontend-app-learning: https://github.com/edx/frontend-app-learning
.. _frontend-app-library-authoring: https://github.com/edx/frontend-app-library-authoring
.. _course-authoring: https://github.com/edx/frontend-app-course-authoring
.. _frontend-app-course-authoring: https://github.com/edx/frontend-app-course-authoring
.. _xqueue: https://github.com/edx/xqueue


Expand Down
34 changes: 17 additions & 17 deletions docker-compose-host-nfs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,34 +45,34 @@ services:
registrar-worker:
volumes:
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
gradebook:
frontend-app-course-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-gradebook:/edx/app/gradebook:cached
- gradebook_node_modules:/edx/app/gradebook/node_modules
program-console:
- ${DEVSTACK_WORKSPACE}/frontend-app-course-authoring:/edx/app/frontend-app-course-authoring:cached
- frontend_app_course_authoring_node_modules:/edx/app/frontend-app-course-authoring/node_modules
frontend-app-gradebook:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes will require a simple Devstack restart (make dev.down, make dev.up...). I will note this in my email.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After this PR merges, if a dev has the pre-changes devstack started, then pulls the latest devstack changes, then runs make dev.down, will all containers be properly stopped?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point; they will not be stopped until Docker itself or the OS is restarted.

I will include running make dev.down before git-pulling in the email I send out.

volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-program-console:/edx/app/program-console:cached
- program_console_node_modules:/edx/app/program-console/node_modules
- ${DEVSTACK_WORKSPACE}/frontend-app-gradebook:/edx/app/frontend-app-gradebook:cached
- frontend_app_gradebook_node_modules:/edx/app/frontend-app-gradebook/node_modules
frontend-app-learning:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-learning:/edx/app/frontend-app-learning:cached
- frontend_app_learning_node_modules:/edx/app/frontend-app-learning/node_modules
course-authoring:
frontend-app-library-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-course-authoring:/edx/app/frontend-app-course-authoring:cached
- course_authoring_node_modules:/edx/app/frontend-app-course-authoring/node_modules
- ${DEVSTACK_WORKSPACE}/frontend-app-library-authoring:/edx/app/frontend-app-library-authoring:cached
- frontend_app_library_authoring_node_modules:/edx/app/frontend-app-library-authoring/node_modules
frontend-app-payment:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-payment:/edx/app/frontend-app-payment:cached
- frontend_app_payment_node_modules:/edx/app/frontend-app-payment/node_modules
frontend-app-program-console:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-program-console:/edx/app/frontend-app-program-console:cached
- frontend_app_program_console_node_modules:/edx/app/frontend-app-program-console/node_modules
frontend-app-publisher:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-publisher:/edx/app/frontend-app-publisher:cached
- frontend_app_publisher_node_modules:/edx/app/frontend-app-publisher/node_modules
frontend-app-library-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-library-authoring:/edx/app/frontend-app-library-authoring:cached
- frontend_app_library_authoring_node_modules:/edx/app/frontend-app-library-authoring/node_modules

volumes:
credentials_node_modules:
Expand All @@ -81,13 +81,13 @@ volumes:
edxapp_media:
edxapp_node_modules:
edxapp_uploads:
gradebook_node_modules:
program_console_node_modules:
frontend_app_course_authoring_node_modules:
frontend_app_gradebook_node_modules:
frontend_app_learning_node_modules:
frontend_app_library_authoring_node_modules:
frontend_app_payment_node_modules:
frontend_app_program_console_node_modules:
frontend_app_publisher_node_modules:
course_authoring_node_modules:
frontend_app_library_authoring_node_modules:
edx-nfs:
driver: local
driver_opts:
Expand Down
74 changes: 40 additions & 34 deletions docker-compose-host.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ services:
- ecommerce_node_modules:/edx/app/ecommerce/ecommerce/node_modules
- ecommerce_tox:/edx/app/ecommerce/ecommerce/.tox
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
forum:
volumes:
- ${DEVSTACK_WORKSPACE}/cs_comments_service:/edx/app/forum/cs_comments_service:cached
lms:
volumes:
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform:cached
Expand All @@ -33,6 +36,12 @@ services:
volumes:
- ${DEVSTACK_WORKSPACE}/edx-notes-api:/edx/app/edx_notes_api/edx_notes_api:cached
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
registrar:
volumes:
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
registrar-worker:
volumes:
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
studio:
volumes:
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform:cached
Expand All @@ -41,45 +50,44 @@ services:
- edxapp_tox:/edx/app/edxapp/edx-platform/.tox
- edxapp_uploads:/edx/var/edxapp/uploads
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
forum:
volumes:
- ${DEVSTACK_WORKSPACE}/cs_comments_service:/edx/app/forum/cs_comments_service:cached
registrar:

# Note that frontends mount `src` to /edx/app/src instead of /edx/src.
# See ADR #5 for rationale.
frontend-app-course-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
registrar-worker:
- ${DEVSTACK_WORKSPACE}/frontend-app-course-authoring:/edx/app/frontend-app-course-authoring:cached
- frontend_app_course_authoring_node_modules:/edx/app/frontend-app-course-authoring/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
frontend-app-gradebook:
volumes:
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
gradebook:
- ${DEVSTACK_WORKSPACE}/frontend-app-gradebook:/edx/app/frontend-app-gradebook:cached
- frontend_app_gradebook_node_modules:/edx/app/frontend-app-gradebook/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
frontend-app-learning:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-gradebook:/edx/app/gradebook:cached
- gradebook_node_modules:/edx/app/gradebook/node_modules
- gradebook_tox:/edx/app/gradebook/.tox
Copy link
Contributor Author

@kdmccormick kdmccormick Jun 17, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Frontends don't use tox; the gradebook_tox line must have been copypasta. Removing.

program-console:
- ${DEVSTACK_WORKSPACE}/frontend-app-learning:/edx/app/frontend-app-learning:cached
- frontend_app_learning_node_modules:/edx/app/frontend-app-learning/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
frontend-app-library-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-program-console:/edx/app/program-console:cached
- program_console_node_modules:/edx/app/program-console/node_modules
- program_console_tox:/edx/app/program-console/.tox
- ${DEVSTACK_WORKSPACE}/frontend-app-library-authoring:/edx/app/frontend-app-library-authoring:cached
- frontend_app_library_authoring_node_modules:/edx/app/frontend-app-library-authoring/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
frontend-app-payment:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-payment:/edx/app/frontend-app-payment:cached
- frontend_app_payment_node_modules:/edx/app/frontend-app-payment/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
frontend-app-program-console:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-program-console:/edx/app/frontend-app-program-console:cached
- frontend_app_program_console_node_modules:/edx/app/frontend-app-program-console/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
frontend-app-publisher:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-publisher:/edx/app/frontend-app-publisher:cached
- frontend_app_publisher_node_modules:/edx/app/frontend-app-publisher/node_modules
frontend-app-learning:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-learning:/edx/app/frontend-app-learning:cached
- frontend_app_learning_node_modules:/edx/app/frontend-app-learning/node_modules
course-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-course-authoring:/edx/app/frontend-app-course-authoring:cached
- course_authoring_node_modules:/edx/app/frontend-app-course-authoring/node_modules
frontend-app-library-authoring:
volumes:
- ${DEVSTACK_WORKSPACE}/frontend-app-library-authoring:/edx/app/frontend-app-library-authoring:cached
- frontend_app_library_authoring_node_modules:/edx/app/frontend-app-library-authoring/node_modules
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached

volumes:
credentials_node_modules:
Expand All @@ -88,16 +96,14 @@ volumes:
edxapp_media:
edxapp_node_modules:
edxapp_uploads:
gradebook_node_modules:
program_console_node_modules:
frontend_app_payment_node_modules:
frontend_app_publisher_node_modules:
frontend_app_course_authoring_node_modules:
frontend_app_gradebook_node_modules:
frontend_app_learning_node_modules:
course_authoring_node_modules:
frontend_app_library_authoring_node_modules:
frontend_app_payment_node_modules:
frontend_app_program_console_node_modules:
frontend_app_publisher_node_modules:
credentials_tox:
discovery_tox:
ecommerce_tox:
edxapp_tox:
gradebook_tox:
program_console_tox:
24 changes: 12 additions & 12 deletions docker-compose-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,22 @@ services:
volumes:
- registrar-sync:/edx/app/registrar/registrar:nocopy
- source-sync:/edx/src:nocopy
gradebook:
frontend-app-course-authoring:
volumes:
- gradebook-sync:/edx/app/gradebook/gradebook:nocopy
- frontend-app-course-authoring-sync:/edx/app/frontend-app-course-authoring:nocopy
- source-sync:/edx/src:nocopy
program-console:
frontend-app-gradebook:
volumes:
- program-console-sync:/edx/app/program-console:nocopy
- source-sync:/edx/src:nocopy
course-authoring:
volumes:
- course-authoring-sync:/edx/app/frontend-app-course-authoring:nocopy
- frontend-app-gradebook-sync:/edx/app/frontend-app-gradebook:nocopy
- source-sync:/edx/src:nocopy
frontend-app-library-authoring:
volumes:
- frontend-app-library-authoring-sync:/edx/app/frontend-app-library-authoring:nocopy
- source-sync:/edx/src:nocopy
frontend-app-program-console:
volumes:
- frontend-app-program-console-sync:/edx/app/frontend-app-program-console:nocopy
- source-sync:/edx/src:nocopy

volumes:
credentials-sync:
Expand All @@ -59,13 +59,13 @@ volumes:
external: true
registrar-sync:
external: true
gradebook-sync:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, several frontends are missing from this file. I'm not going tackle that in this PR. I also doubt that anyone uses the Docker Sync stuff.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update: sync and NFS are slated for removal soon, so this is even further moot.

external: true
program-console-sync:
frontend-app-course-authoring-sync:
external: true
course-authoring-sync:
frontend-app-gradebook-sync:
external: true
frontend-app-library-authoring-sync:
external: true
frontend-app-program-console-sync:
external: true
source-sync:
external: true
28 changes: 0 additions & 28 deletions docker-compose-xqueue.yml

This file was deleted.

Loading