forked from openedx-unsupported/devstack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
124 lines (113 loc) · 3.83 KB
/
docker-compose.yml
File metadata and controls
124 lines (113 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# This file contains all of the services for an edX installation. See https://docs.docker.com/compose/compose-file/
# for the appropriate syntax and definitions.
#
# Housekeeping Rules:
# - Group third-party and edX services separately
# - Alphabetize services in the groups
# - Alphabetize individual configuration options for each service
# - Every service's container name should be prefixed with "edx.devstack." to avoid conflicts with other containers
# that might be running for the same service.
version: "2.1"
services:
# Third-party services
elasticsearch:
container_name: edx.devstack.elasticsearch
image: edxops/elasticsearch:devstack
# TODO: What to do about these forwarded ports? They'll conflict with ports forwarded by the Vagrant VM.
# ports:
# - "9200:9200"
# - "9300:9300"
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
- elasticsearch_data:/usr/share/elasticsearch/logs
memcached:
container_name: edx.devstack.memcached
image: memcached:1.4.24
# ports:
# - "11211:11211"
mongo:
# We use WiredTiger in all environments. In development environments we use small files
# to conserve disk space, and disable the journal for a minor performance gain.
# See https://docs.mongodb.com/v3.0/reference/program/mongod/#options for complete details.
command: mongod --smallfiles --nojournal --storageEngine wiredTiger
container_name: edx.devstack.mongo
image: mongo:3.0.14
# ports:
# - "27017:27017"
volumes:
- mongo_data:/data/db
mysql:
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
container_name: edx.devstack.mysql
environment:
MYSQL_ROOT_PASSWORD: ""
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
image: mysql:5.6
# ports:
# - "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
# edX services
credentials:
command: bash -c 'source /edx/app/credentials/credentials_env && python /edx/app/credentials/credentials/manage.py runserver 0.0.0.0:18150'
container_name: edx.devstack.credentials
depends_on:
- mysql
- memcached
environment:
ENABLE_DJANGO_TOOLBAR: 1
image: edxops/credentials:devstack
ports:
- "18150:18150"
discovery:
command: bash -c 'source /edx/app/discovery/discovery_env && python /edx/app/discovery/discovery/manage.py runserver 0.0.0.0:18381'
container_name: edx.devstack.discovery
depends_on:
- mysql
- elasticsearch
- memcached
environment:
TEST_ELASTICSEARCH_URL: "http://edx.devstack.elasticsearch:9200"
ENABLE_DJANGO_TOOLBAR: 1
image: edxops/discovery:devstack
ports:
- "18381:18381"
ecommerce:
command: bash -c 'source /edx/app/ecommerce/ecommerce_env && python /edx/app/ecommerce/ecommerce/manage.py runserver 0.0.0.0:18130'
container_name: edx.devstack.ecommerce
depends_on:
- mysql
- memcached
environment:
ENABLE_DJANGO_TOOLBAR: 1
image: edxops/ecommerce:devstack
ports:
- "18130:18130"
lms:
command: bash -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py lms runserver 0.0.0.0:18000 --settings devstack_docker'
container_name: edx.devstack.lms
depends_on:
- mysql
- memcached
- mongo
environment:
NO_PYTHON_UNINSTALL: 1
image: edxops/edxapp:latest
ports:
- "18000:18000"
studio:
command: bash -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py cms runserver 0.0.0.0:18010 --settings devstack_docker'
container_name: edx.devstack.studio
depends_on:
- mysql
- memcached
- mongo
environment:
NO_PYTHON_UNINSTALL: 1
image: edxops/edxapp:latest
ports:
- "18010:18010"
volumes:
elasticsearch_data:
mongo_data:
mysql_data: