-
Notifications
You must be signed in to change notification settings - Fork 1
Devstack Setup
Our devstack is run on the ironwood release of Open edX. It is divided into a number of Docker containers and they are managed using custom scripts and commands (courtesy of the edX team).
This project requires Docker 17.06+ CE. We recommend Docker Stable, but Docker Edge should work as well.
For downloading Docker 17.06+ CE you must follow this link
To verify the docker installation run the following command
$ docker version
This command must be run without any permission denied errors.
If you get some issues, follow the steps given in Manage Docker as a non-root user section.
To run the Open edX devstack on your local machine please follow the instructions.
Run the following commands to create the project directory in your $HOME directory.
$ mkdir arbisoft
$ cd arbisoft
Create the project virtualenv and activate it
$ virtualenv -p python2 ucsd (3/30/2021: python3 -m virtualenv -p python3 ucsd)
$ cd ucsd
$ source bin/activate
Create a dedicated folder for the project. It is recommended to place the project in the following folder such that it does not conflict with any other projects that you might currently have.
$ mkdir edx
$ cd edx
Now clone the git repo for edx devstack
$ git clone https://github.com/edx/devstack.git
**note that juniper version is now master and ironwood is now at https://github.com/edx/devstack/blob/open-release/ironwood.master/README.rst**
Navigate into the devstack folder and run the following commands
$ cd devstack
# checkout the "ironwood-master" branch of devstack to avoid dependency issues.
$ git checkout open-release/ironwood.master
$ export OPENEDX_RELEASE=ironwood.master
$ make requirements
$ make dev.clone
Once all the repositories are cloned, navigate to edx-platform
repo and set its remote to ucsd-etc/edx-platform
$ cd ~/arbisoft/ucsd/edx/edx-platform
$ git remote set-url origin https://github.com/ucsd-ets/edx-platform.git
$ git fetch origin
$ git reset --hard open-release/ironwood.master
Run the following commands and verify their output. It should match the one listed.
$ git remote -v
origin https://github.com/ucsd-ets/edx-platform.git (fetch)
origin https://github.com/ucsd-ets/edx-platform.git (push)
$ git status
On branch open-release/ironwood.master
Your branch is up to date with 'origin/open-release/ironwood.master'.
nothing to commit, working tree clean
After we have properly configured the repositories. We shall pull the corresponding docker images and provision them.
$ cd ../devstack
$ make pull
$ make dev.provision
Once all are complete, run the following command to start Open edX
$ make dev.up
And run the following to stop it.
$ make stop
Note:
Now each time you want to run edx
locally just run the following commands
$ export OPENEDX_RELEASE=ironwood.master
$ make dev.up
If you want to get rid of export OPENEDX_RELEASE=ironwood.master
command, you can just add it in .bashrc
$ echo 'export OPENEDX_RELEASE=ironwood.master' >> ~/.bashrc
$ source ~/.bashrc
Now you will have to run only make dev.up
command.
The provisioning script creates a Django superuser for every service.
Email: [email protected]
Username: edx
Password: edx
The LMS also includes demo accounts. The passwords for each of these accounts
is edx
.
Username | |
---|---|
audit | [email protected] |
honor | [email protected] |
staff | [email protected] |
verified | [email protected] |
Each service is accessible at localhost
on a specific port. The table below
provides links to the homepage of each service. Since some services are not
meant to be user-facing, the "homepage" may be the API root.
Service | URL |
---|---|
LMS | http://localhost:18000/ |
Studio/CMS | http://localhost:18010/ |
Credentials | http://localhost:18150/api/v2/ |
Catalog/Discovery | http://localhost:18381/api-docs/ |
E-Commerce/Otto | http://localhost:18130/dashboard/ |
Notes/edx-notes-api | http://localhost:18120/api/v1/ |
Registrar | http://localhost:18734/api-docs/ |
Each microfrontend is accessible at localhost
on a specific port. The table below
provides links to each microfrontend.
Service | URL |
---|---|
Gradebook | http://localhost:1994/ |
Program Manager | http://localhost:1976/ |