mirror of
https://github.com/ChristianLight/tutor.git
synced 2025-01-07 07:54:03 +00:00
1fcae62d2f
Make containers not restart automatically on boot when they were manually stopped before. Make sure this is the case for all containers.
112 lines
2.7 KiB
YAML
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
|