7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-06-03 14:50:47 +00:00
tutor/docker-compose.yml
Régis Behmo 1fcae62d2f Update container restart policy
Make containers not restart automatically on boot when they were
manually stopped before. Make sure this is the case for all containers.
2018-02-08 07:40:18 +01:00

112 lines
2.7 KiB
YAML

version: "3"
services:
############# External services
memcached:
image: memcached:1.4.38
restart: unless-stopped
mongodb:
image: mongo:3.0.14
# Use WiredTiger in all environments, just like at edx.org
command: mongod --smallfiles --nojournal --storageEngine wiredTiger
restart: unless-stopped
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
volumes:
- ./data/mysql:/var/lib/mysql
- ./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
nginx:
build:
context: ./nginx
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./data/lms:/openedx/data/lms:ro
- ./data/cms:/openedx/data/cms:ro
depends_on:
- lms
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
lms:
build:
context: ./edxapp
args:
service_variant: lms
restart: unless-stopped
volumes:
- ./data/lms:/openedx/data
depends_on:
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
cms:
build:
context: ./edxapp
args:
service_variant: cms
restart: unless-stopped
volumes:
- ./data/cms:/openedx/data
depends_on:
- lms
############# LMS and CMS workers
# We could probably create one service per queue here. For small instances, it is not necessary.
lms_worker:
build:
context: ./edxapp
args:
service_variant: lms
command: ./manage.py lms --settings=production 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:
- ./data/lms_worker:/openedx/data
depends_on:
- lms
cms_worker:
build:
context: ./edxapp
args:
service_variant: cms
command: ./manage.py cms --settings=production celery worker --loglevel=info --hostname=edx.cms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
environment:
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
volumes:
- ./data/cms_worker:/openedx/data
depends_on:
- cms