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

Commit 19096d4

Browse files
committed
Added Support for Docker Sync
Docker Sync will alleviate some of the filesystem issues on OS X.
1 parent 9e9cbda commit 19096d4

File tree

4 files changed

+80
-8
lines changed

4 files changed

+80
-8
lines changed

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,31 @@ For example to access the Catalog/Course Discovery Service, you can run:
5555
$ make devstack.open.discovery
5656
```
5757

58+
### Docker Sync
59+
60+
Docker for Mac has known filesystem issues that significantly decrease performance. In order to mitigate these issues,
61+
we use [Docker Sync](https://github.com/EugenMayer/docker-sync/wiki) to synchronize file data from the host machine to
62+
the containers. Follow the steps below to setup Docker Sync.
63+
64+
1. Ensure all containers are stopped.
65+
```
66+
$ make devstack.stop
67+
```
68+
69+
2. Follow the installation instructions at https://github.com/EugenMayer/docker-sync/wiki to install Docker Sync.
70+
71+
3. Run Docker Sync. This will be a separate process, so feel free to run this in a separate terminal window. Note that
72+
you may see errors about permissions on `node_modules` sub-directories. These can be safely ignored.
73+
```
74+
$ docker-sync start
75+
```
76+
77+
4. Start devstack.
78+
```
79+
$ make devstack.start
80+
```
81+
82+
5883
## Usernames and Passwords
5984

6085
The provisioning script creates a Django superuser for every service.

docker-compose-sync.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
version: "2.1"
2+
3+
services:
4+
credentials:
5+
volumes:
6+
- credentials-sync:/edx/app/credentials/credentials:rw
7+
discovery:
8+
volumes:
9+
- discovery-sync:/edx/app/discovery/discovery:rw
10+
ecommerce:
11+
volumes:
12+
- ecommerce-sync:/edx/app/ecommerce/ecommerce:rw
13+
edxapp:
14+
volumes:
15+
- credentials-sync:/edx/app/edxapp/edx-platform:rw
16+
17+
volumes:
18+
credentials-sync:
19+
external: true
20+
discovery-sync:
21+
external: true
22+
ecommerce-sync:
23+
external: true
24+
edxapp-sync:
25+
external: true

docker-compose.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ services:
6666
image: edxops/credentials:devstack
6767
ports:
6868
- "18150:18150"
69-
volumes:
70-
- ../credentials:/edx/app/credentials/credentials
7169

7270
discovery:
7371
command: /edx/app/discovery/devstack.sh start
@@ -82,8 +80,6 @@ services:
8280
image: edxops/discovery:devstack
8381
ports:
8482
- "18381:18381"
85-
volumes:
86-
- ../course-discovery:/edx/app/discovery/discovery
8783

8884
ecommerce:
8985
command: /edx/app/ecommerce/devstack.sh start
@@ -97,8 +93,6 @@ services:
9793
image: edxops/ecommerce:devstack
9894
ports:
9995
- "18130:18130"
100-
volumes:
101-
- ../ecommerce:/edx/app/ecommerce/ecommerce
10296

10397
edxapp:
10498
command: /edx/app/edxapp/devstack.sh start
@@ -111,8 +105,6 @@ services:
111105
ports:
112106
- "18000:18000"
113107
- "18010:18010"
114-
volumes:
115-
- ../edx-platform:/edx/app/edxapp/edx-platform
116108

117109
volumes:
118110
elasticsearch_data:

docker-sync.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: "2"
2+
3+
syncs:
4+
credentials-sync:
5+
src: '../credentials/'
6+
dest: '/edx/app/credentials/credentials'
7+
sync_host_ip: 'localhost'
8+
sync_host_port: 10872
9+
sync_strategy: 'rsync'
10+
11+
discovery-sync:
12+
src: '../course-discovery/'
13+
dest: '/edx/app/discovery/discovery'
14+
sync_host_ip: 'localhost'
15+
sync_host_port: 10873
16+
sync_strategy: 'rsync'
17+
18+
ecommerce-sync:
19+
src: '../ecommerce/'
20+
dest: '/edx/app/ecommerce/ecommerce'
21+
sync_host_ip: 'localhost'
22+
sync_host_port: 10874
23+
sync_strategy: 'rsync'
24+
25+
edxapp-sync:
26+
src: '../edx-platform/'
27+
dest: '/edx/app/edxapp/edx-platform'
28+
sync_host_ip: 'localhost'
29+
sync_host_port: 10875
30+
sync_strategy: 'rsync'

0 commit comments

Comments
 (0)