7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-06-29 09:43:29 +00:00
tutor/docker-compose.yml

114 lines
2.7 KiB
YAML
Raw Normal View History

2017-07-03 10:39:19 +00:00
version: "3"
services:
############# External services
2017-07-03 10:39:19 +00:00
memcached:
image: memcached:1.4.38
restart: unless-stopped
2017-07-03 10:39:19 +00:00
mongodb:
image: mongo:3.0.14
2017-07-03 10:39:19 +00:00
# Use WiredTiger in all environments, just like at edx.org
command: mongod --smallfiles --nojournal --storageEngine wiredTiger
restart: unless-stopped
2017-07-03 10:39:19 +00:00
volumes:
- ./data/mongodb:/data/db
mysql:
image: mysql:5.6.36
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
restart: unless-stopped
2017-07-03 10:39:19 +00:00
volumes:
- ./data/mysql:/var/lib/mysql
2017-12-26 00:16:35 +00:00
- ./mysql/config/:/etc/mysql/conf.d/openedx
environment:
# Load values from files generated by configurator
MYSQL_DATABASE_FILE: /etc/mysql/conf.d/openedx/database
MYSQL_USER_FILE: /etc/mysql/conf.d/openedx/username
MYSQL_PASSWORD_FILE: /etc/mysql/conf.d/openedx/password
MYSQL_ROOT_PASSWORD_FILE: /etc/mysql/conf.d/openedx/password
2017-07-03 10:39:19 +00:00
nginx:
build:
context: ./nginx
restart: unless-stopped
ports:
2017-12-26 00:16:35 +00:00
- "80:80"
2017-07-03 10:39:19 +00:00
volumes:
- ./data/lms:/openedx/data/lms:ro
- ./data/cms:/openedx/data/cms:ro
2017-07-03 10:39:19 +00:00
rabbitmq:
image: rabbitmq:3.6.10
volumes:
- ./data/rabbitmq:/var/lib/rabbitmq
# Simple SMTP server
smtp:
image: namshi/smtp
restart: unless-stopped
############# LMS and CMS
2017-07-03 10:39:19 +00:00
lms:
build:
context: ./openedx
environment:
SERVICE_VARIANT: lms
restart: unless-stopped
2017-07-03 10:39:19 +00:00
volumes:
2017-12-26 00:16:35 +00:00
- ./data/lms:/openedx/data
2017-07-03 10:39:19 +00:00
depends_on:
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
2017-07-03 10:39:19 +00:00
cms:
build:
context: ./openedx
environment:
SERVICE_VARIANT: cms
restart: unless-stopped
volumes:
2017-12-26 00:16:35 +00:00
- ./data/cms:/openedx/data
depends_on:
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
############# LMS and CMS workers
2017-12-26 00:16:35 +00:00
# We could probably create one service per queue here. For small instances, it is not necessary.
lms_worker:
build:
context: ./openedx
environment:
SERVICE_VARIANT: lms
command: ./manage.py lms celery worker --loglevel=info --hostname=edx.lms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
environment:
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
volumes:
2017-12-26 00:16:35 +00:00
- ./data/lms_worker:/openedx/data
depends_on:
- lms
2017-12-26 00:16:35 +00:00
cms_worker:
build:
context: ./openedx
environment:
SERVICE_VARIANT: cms
command: ./manage.py cms celery worker --loglevel=info --hostname=edx.cms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
2017-12-26 00:16:35 +00:00
environment:
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
volumes:
- ./data/cms_worker:/openedx/data
depends_on:
- cms