Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit 8ed8649

Browse files
committed
Update formatting of README
1 parent ee83c2e commit 8ed8649

File tree

1 file changed

+107
-75
lines changed

1 file changed

+107
-75
lines changed

README.md

Lines changed: 107 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -2,92 +2,109 @@
22

33
Get up and running quickly with edX services.
44

5-
If you are seeking info on the Vagrant-based devstack, please see https://openedx.atlassian.net/wiki/display/OpenOPS/Running+Devstack.
6-
This project is meant to replace the traditional Vagrant-based devstack with a multi-container approach driven by [Docker
7-
Compose](https://docs.docker.com/compose/). It is still in the alpha/beta testing phase. Support for this project is
8-
limited at the moment, so it may take a while to respond to issues.
5+
If you are seeking info on the Vagrant-based devstack, please see
6+
<https://openedx.atlassian.net/wiki/display/OpenOPS/Running+Devstack>. This
7+
project is meant to replace the traditional Vagrant-based devstack with a
8+
multi-container approach driven by [Docker Compose][]. It is still in the
9+
alpha/beta testing phase. Support for this project is limited at the moment, so
10+
it may take a while to respond to issues.
11+
12+
You should run any Make targets described below on your local machine, _not_
13+
from within a VM.
914

10-
You should run any Make targets described below on your local machine, _not_ from within a VM.
1115

1216
## Prerequisites
1317

14-
This project was developed and tested using **Docker 1.13+**. If you are using OS X, please use [Docker for Mac](https://docs.docker.com/docker-for-mac/).
15-
Previous Mac-based tools (e.g. boot2docker) are not supported.
18+
This project was developed and tested using **Docker 1.13+**. If you are using
19+
macOS, please use [Docker for Mac][]. Previous Mac-based tools (e.g.
20+
boot2docker) are not supported.
1621

17-
[Docker for Windows](https://docs.docker.com/docker-for-windows/) may work but has not been tested and is _not supported_.
22+
[Docker for Windows][] may work but has not been tested and is _not supported_.
1823

1924

2025
## Getting Started
2126

22-
All of the services can be run by following the steps below. Note that since we are running many containers, you should
23-
configure Docker with a sufficient amount of resources. Our testing found that [configuring Docker for Mac](https://docs.docker.com/docker-for-mac/#/advanced)
24-
with 2 CPUs and 4GB of memory works well.
27+
All of the services can be run by following the steps below. Note that since we
28+
are running many containers, you should configure Docker with a sufficient
29+
amount of resources. Our testing found that [configuring Docker for Mac][] with
30+
2 CPUs and 4GB of memory works well.
2531

26-
1. The Docker Compose file mounts a host volume for each service's executing code. The host directory is expected to be
27-
a sibling of this directory. For example, if this repo is cloned to `~/workspace/devstack`, host volumes will be
28-
expected in `~/workspace/course-discovery`, `~/workspace/ecommerce`, etc. These repos can be cloned with the command
29-
below.
32+
1. The Docker Compose file mounts a host volume for each service's executing
33+
code. The host directory is expected to be a sibling of this directory. For
34+
example, if this repo is cloned to `~/workspace/devstack`, host volumes
35+
will be expected in `~/workspace/course-discovery`,
36+
`~/workspace/ecommerce`, etc. These repos can be cloned with the command
37+
below.
3038

31-
```
32-
$ make clone
33-
```
39+
```sh
40+
make clone
41+
```
3442

35-
2. Run the provision command, if you haven't already, to configure the various services with superusers (for
36-
development without the auth service) and tenants (for multi-tenancy).
43+
2. Run the provision command, if you haven't already, to configure the various
44+
services with superusers (for development without the auth service) and
45+
tenants (for multi-tenancy).
3746
38-
The username and password for the superusers are both "edx". You can access the services directly via Django admin
39-
at the `/admin/` path, or login via single sign-on at `/login/`.
47+
The username and password for the superusers are both "edx". You can access
48+
the services directly via Django admin at the `/admin/` path, or login via
49+
single sign-on at `/login/`.
4050
41-
```
42-
$ make devstack.provision
43-
```
51+
```sh
52+
make devstack.provision
53+
```
4454
45-
3. Start the services. By default this command will use host directories for source code. This is known to be slow on
46-
macOS. macOS users should follow the steps below for Docker Sync to avoid this performance hit.
55+
3. Start the services. By default this command will use host directories for
56+
source code. This is known to be slow on macOS. macOS users should follow
57+
the steps below for Docker Sync to avoid this performance hit.
4758
48-
```
49-
$ make devstack.start
50-
```
59+
```sh
60+
make devstack.start
61+
```
5162
52-
After the services have started, if you need shell access to one of the services, run `make devstack.open.<service>`.
53-
For example to access the Catalog/Course Discovery Service, you can run:
63+
After the services have started, if you need shell access to one of the
64+
services, run `make devstack.open.<service>`. For example to access the
65+
Catalog/Course Discovery Service, you can run:
5466
55-
```
56-
$ make devstack.open.discovery
67+
```sh
68+
make devstack.open.discovery
5769
```
5870
5971
### Docker Sync
6072
61-
Docker for Mac has known filesystem issues that significantly decrease performance. In order to mitigate these issues,
62-
we use [Docker Sync](https://github.com/EugenMayer/docker-sync/wiki) to synchronize file data from the host machine to
63-
the containers. Follow the steps below to setup Docker Sync.
73+
Docker for Mac has known filesystem issues that significantly decrease
74+
performance. In order to mitigate these issues, we use [Docker Sync][] to
75+
synchronize file data from the host machine to the containers. Follow the steps
76+
below to setup Docker Sync.
6477
65-
1. Ensure all containers are stopped.
66-
```
67-
$ make devstack.stop
68-
```
78+
1. Ensure all containers are stopped.
6979
70-
2. Follow the installation instructions at https://github.com/EugenMayer/docker-sync/wiki to install Docker Sync.
80+
```sh
81+
make devstack.stop
82+
```
7183
72-
3. Run Docker Sync and devstack.
73-
```
74-
$ make devstack.start.sync
75-
```
84+
2. Follow the [Docker Sync installation instructions][].
85+
86+
3. Run Docker Sync and devstack.
87+
88+
```sh
89+
make devstack.start.sync
90+
```
7691
7792
7893
## Usernames and Passwords
7994
8095
The provisioning script creates a Django superuser for every service.
8196
82-
83-
Username: edx
84-
Password: edx
85-
86-
The LMS also includes demo accounts. The passwords for each of these accounts is `edx`.
97+
```
98+
Email: edx@example.com
99+
Username: edx
100+
Password: edx
101+
```
87102
103+
The LMS also includes demo accounts. The passwords for each of these accounts
104+
is `edx`.
88105
89106
| Username | Email |
90-
|----------|----------------------|
107+
| -------- | -------------------- |
91108
| audit | [email protected] |
92109
| honor | [email protected] |
93110
| staff | [email protected] |
@@ -96,34 +113,36 @@ The LMS also includes demo accounts. The passwords for each of these accounts is
96113
97114
## Service URLs
98115
99-
Each service is accessible at `localhost` on a specific port. The table below provides links to the homepage of each
100-
service. Since some services are not meant to be user-facing, the "homepage" may be the API root.
116+
Each service is accessible at `localhost` on a specific port. The table below
117+
provides links to the homepage of each service. Since some services are not
118+
meant to be user-facing, the "homepage" may be the API root.
101119
102-
| Service | URL |
103-
|-------------------|------------------------------------------------------------------------|
104-
| Credentials | [http://localhost:18150/api/v2/](http://localhost:18150/api/v2/) |
105-
| Catalog/Discovery | [http://localhost:18381/api-docs/](http://localhost:18381/api-docs/) |
106-
| E-Commerce/Otto | [http://localhost:18130/dashboard/](http://localhost:18130/dashboard/) |
107-
| LMS | [http://localhost:18000/](http://localhost:18000/) |
108-
| Studio/CMS | [http://localhost:18010/](http://localhost:18010/) |
120+
| Service | URL |
121+
| ----------------- | ----------------------------------- |
122+
| Credentials | <http://localhost:18150/api/v2/> |
123+
| Catalog/Discovery | <http://localhost:18381/api-docs/> |
124+
| E-Commerce/Otto | <http://localhost:18130/dashboard/> |
125+
| LMS | <http://localhost:18000/> |
126+
| Studio/CMS | <http://localhost:18010/> |
109127
110128
111129
## Useful Commands
112130
113-
Sometimes you may need to restart a particular application server. Rather than restarting the entire devstack or the
114-
individual container, you can instruct [Supervisor](http://supervisord.org/) to restart just the nginx and application
115-
servers with one command.
131+
Sometimes you may need to restart a particular application server. Rather than
132+
restarting the entire devstack or the individual container, you can instruct
133+
[Supervisor][] to restart just the nginx and application servers with one
134+
command.
116135
117136
If you are already working in the shell of a container run:
118137
119-
```
120-
$ /edx/app/supervisor/venvs/supervisor/bin/supervisorctl restart all
138+
```sh
139+
/edx/app/supervisor/venvs/supervisor/bin/supervisorctl restart all
121140
```
122141
123142
Alternatively, if you are not working from a shell inside a container run:
124143
125-
```
126-
$ docker exec -t edx.devstack.<service> bash -c '/edx/app/supervisor/venvs/supervisor/bin/supervisorctl restart all'
144+
```sh
145+
docker exec -t edx.devstack.<service> bash -c '/edx/app/supervisor/venvs/supervisor/bin/supervisorctl restart all'
127146
```
128147
129148
`<service>` should be replaced with one of the following:
@@ -133,12 +152,25 @@ $ docker exec -t edx.devstack.<service> bash -c '/edx/app/supervisor/venvs/supe
133152
* ecommerce
134153
* edxapp
135154
136-
## Remaining Work
137155
138-
There is still work to be done before this is ready for full release to the Open edX community. Here are the major items:
156+
## Remaining Work
139157
140-
1. Align with [OEP-5](http://open-edx-proposals.readthedocs.io/en/latest/oep-0005.html)
141-
2. Finish provisioning all services
142-
3. Load demo data
143-
4. PyCharm debugging
144-
5. Merge devstack settings for edxapp (https://github.com/edx/edx-platform/pull/14376), and reactivate host volume
158+
There is still work to be done before this is ready for full release to the
159+
Open edX community. Here are the major items:
160+
161+
* [ ] Align with or revise [OEP-5][]
162+
* [ ] Finish provisioning all services
163+
* [ ] Load demo data
164+
* [ ] PyCharm debugging
165+
* [x] Merge [devstack settings for edxapp][], and reactivate host volume
166+
167+
168+
[Docker Compose]: https://docs.docker.com/compose/
169+
[Docker Sync installation instructions]: https://github.com/EugenMayer/docker-sync/wiki/1.-Installation
170+
[Docker Sync]: https://github.com/EugenMayer/docker-sync/wiki
171+
[Docker for Mac]: https://docs.docker.com/docker-for-mac/
172+
[Docker for Windows]: https://docs.docker.com/docker-for-windows/
173+
[OEP-5]: http://open-edx-proposals.readthedocs.io/en/latest/oep-0005.html
174+
[Supervisor]: http://supervisord.org/
175+
[configuring Docker for Mac]: https://docs.docker.com/docker-for-mac/#/advanced
176+
[devstack settings for edxapp]: https://github.com/edx/edx-platform/pull/14376

0 commit comments

Comments
 (0)