6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2025-01-07 07:54:03 +00:00
tutor/docker-compose.yml
Régis Behmo dfbc8547c8 Make sure rabbitmq restarts on failures
Rabbitmq was not configured to restart on failures. It does not explain
why rabbitmq crashes (with exit code 255, see issue #80), but this should be sufficient
as a quick fix.
2018-10-30 09:33:11 +01:00

148 lines
3.5 KiB
YAML

version: "3"
services:
############# External services
memcached:
image: memcached:1.4.38
restart: unless-stopped
mongodb:
image: mongo:3.2.16
# 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
env_file: ./config/mysql/auth.env
elasticsearch:
image: elasticsearch:1.5.2
environment:
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "cluster.name=openedx"
- "bootstrap.memory_lock=true"
ulimits:
memlock:
soft: -1
hard: -1
restart: unless-stopped
volumes:
- ./data/elasticsearch:/usr/share/elasticsearch/data
nginx:
image: nginx:1.13
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./config/nginx:/etc/nginx/conf.d/
- ./data/lms:/openedx/data/lms:ro
- ./data/cms:/openedx/data/cms:ro
- ./data/letsencrypt:/etc/letsencrypt/:ro
rabbitmq:
image: rabbitmq:3.6.10
volumes:
- ./data/rabbitmq:/var/lib/rabbitmq
restart: unless-stopped
# Simple SMTP server
smtp:
image: namshi/smtp
restart: unless-stopped
############# Forum
forum:
image: regis/openedx-forum:hawthorn
build:
context: ./forum
environment:
API_KEY: "forumapikey"
SEARCH_SERVER: "http://elasticsearch:9200"
MONGOHQ_URL: "mongodb://mongodb/cs_comments_service"
restart: unless-stopped
depends_on:
- elasticsearch
- mongodb
############# LMS and CMS
lms:
image: regis/openedx:hawthorn
build:
context: ./openedx
environment:
SERVICE_VARIANT: lms
restart: unless-stopped
volumes:
- ./config/openedx:/openedx/config
- ./data/lms:/openedx/data
depends_on:
- elasticsearch
- forum
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
cms:
image: regis/openedx:hawthorn
build:
context: ./openedx
environment:
SERVICE_VARIANT: cms
restart: unless-stopped
volumes:
- ./config/openedx:/openedx/config
- ./data/cms:/openedx/data
depends_on:
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
############# LMS and CMS workers
# We could probably create one service per queue here. For small instances, it is not necessary.
lms_worker:
image: regis/openedx:hawthorn
build:
context: ./openedx
environment:
SERVICE_VARIANT: lms
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
command: ./manage.py lms celery worker --loglevel=info --hostname=edx.lms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
volumes:
- ./config/openedx:/openedx/config
- ./data/lms:/openedx/data
depends_on:
- lms
cms_worker:
image: regis/openedx:hawthorn
build:
context: ./openedx
environment:
SERVICE_VARIANT: cms
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
command: ./manage.py cms celery worker --loglevel=info --hostname=edx.cms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
volumes:
- ./config/openedx:/openedx/config
- ./data/cms:/openedx/data
depends_on:
- cms