During installing edx (tutor v17.0.0), I got the following error.The error occurs in any approaches below:
- python venv or not
- docker install, binary install, source install
- python v. 3.8, 3.10, 3.11, 3.12
- ubuntu 20, 22, or 23
Docker is updated following steps in docker site.
docker compose -f /home/istudiolms/.local/share/tutor/env/local/docker-compose.yml -f /home/istudiolms/.local/share/tutor/env/dev/docker-compose.yml --project-name tutor_dev stop
validating /home/istudiolms/.local/share/tutor/env/dev/docker-compose.yml: services.lms.volumes array items[0,6] must be unique
Error applying action: func=<function _stop_on_local_start at 0x7f041ad32fc0> contexts=[]'
Error: Command failed with status 15: docker compose -f /home/istudiolms/.local/share/tutor/env/local/docker-compose.yml -f /home/istudiolms/.local/share/tutor/env/dev/docker-compose.yml --project-name tutor_dev stop
In specific case with:
- python 3.8.10 /
- Docker version 25.0.0, build e758fe5 /
- docker-compose version 1.27.4, build 40524192
======================================================
Starting the platform in detached mode
======================================================
docker compose -f /home/tutor17/.local/share/tutor/env/local/docker-compose.yml -f /home/tutor17/.local/share/tutor/env/dev/docker-compose.yml --project-name tutor_dev stop
validating /home/tutor17/.local/share/tutor/env/dev/docker-compose.yml: services.cms-worker.volumes array items[0,5] must be unique
Error applying action: func=<function _stop_on_local_start at 0x7f4f9a50a670> contexts=[]'
Error: Command failed with status 15: docker compose -f /home/tutor17/.local/share/tutor/env/local/docker-compose.yml -f /home/tutor17/.local/share/tutor/env/dev/docker-compose.yml --project-name tutor_dev stop
$ cat /home/tutor17/.local/share/tutor/env/local/docker-compose.yml
version: "3.7"
services:
# Set bind-mounted folder ownership
permissions:
image: docker.io/overhangio/openedx-permissions:17.0.0
restart: on-failure
entrypoint: []
command: ["sh", "/usr/local/bin/setowners.sh"]
environment:
OPENEDX_USER_ID: "1000"
volumes:
# Command script
- ../apps/permissions/setowners.sh:/usr/local/bin/setowners.sh:ro
# Bind-mounted volumes to set ownership
- ../../data/lms:/mounts/lms
- ../../data/cms:/mounts/cms
- ../../data/openedx-media:/mounts/openedx
- ../../data/mongodb:/mounts/mongodb
- ../../data/mysql:/mounts/mysql
- ../../data/elasticsearch:/mounts/elasticsearch
- ../../data/redis:/mounts/redis
############# External services
mongodb:
image: docker.io/mongo:4.4.25
# Use WiredTiger in all environments, just like at edx.org
command: mongod --nojournal --storageEngine wiredTiger
restart: unless-stopped
user: "999:999"
volumes:
- ../../data/mongodb:/data/db
depends_on:
- permissions
mysql:
image: docker.io/mysql:8.1.0
command: >
mysqld
--character-set-server=utf8mb3
--collation-server=utf8mb3_general_ci
--binlog-expire-logs-seconds=259200
restart: unless-stopped
user: "999:999"
volumes:
- ../../data/mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: "b7F8odZY"
elasticsearch:
image: docker.io/elasticsearch:7.17.13
environment:
- cluster.name=openedx
- bootstrap.memory_lock=true
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
ulimits:
memlock:
soft: -1
hard: -1
restart: unless-stopped
user: "1000:1000"
volumes:
- ../../data/elasticsearch:/usr/share/elasticsearch/data
depends_on:
- permissions
redis:
image: docker.io/redis:7.2.1
working_dir: /openedx/redis/data
user: "1000:1000"
volumes:
- ../apps/redis/redis.conf:/openedx/redis/config/redis.conf:ro
- ../../data/redis:/openedx/redis/data
command: redis-server /openedx/redis/config/redis.conf
restart: unless-stopped
depends_on:
- permissions
smtp:
image: docker.io/devture/exim-relay:4.96-r1-0
restart: unless-stopped
user: "100:101"
environment:
HOSTNAME: "test.istudiolms.com"
############# LMS and CMS
lms:
image: docker.io/overhangio/openedx:17.0.0
environment:
SERVICE_VARIANT: lms
DJANGO_SETTINGS_MODULE: lms.envs.tutor.production
UWSGI_WORKERS: 2
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro
- ../apps/openedx/settings/cms:/openedx/edx-platform/cms/envs/tutor:ro
- ../apps/openedx/config:/openedx/config:ro
- ../apps/openedx/uwsgi.ini:/openedx/edx-platform/uwsgi.ini:ro
- ../../data/lms:/openedx/data
- ../../data/openedx-media:/openedx/media
depends_on:
- permissions
- mysql
- elasticsearch
- mongodb
- redis
- smtp
cms:
image: docker.io/overhangio/openedx:17.0.0
environment:
SERVICE_VARIANT: cms
DJANGO_SETTINGS_MODULE: cms.envs.tutor.production
UWSGI_WORKERS: 2
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro
- ../apps/openedx/settings/cms:/openedx/edx-platform/cms/envs/tutor:ro
- ../apps/openedx/config:/openedx/config:ro
- ../apps/openedx/uwsgi.ini:/openedx/edx-platform/uwsgi.ini:ro
- ../../data/cms:/openedx/data
- ../../data/openedx-media:/openedx/media
depends_on:
- permissions
- lms
- mysql
- elasticsearch
- mongodb
- redis
- smtp
############# LMS and CMS workers
lms-worker:
image: docker.io/overhangio/openedx:17.0.0
environment:
SERVICE_VARIANT: lms
DJANGO_SETTINGS_MODULE: lms.envs.tutor.production
command: celery --app=lms.celery worker --loglevel=info --hostname=edx.lms.core.default.%%h --max-tasks-per-child=100 --exclude-queues=edx.cms.core.default
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro
- ../apps/openedx/settings/cms:/openedx/edx-platform/cms/envs/tutor:ro
- ../apps/openedx/config:/openedx/config:ro
- ../../data/lms:/openedx/data
- ../../data/openedx-media:/openedx/media
depends_on:
- lms
cms-worker:
image: docker.io/overhangio/openedx:17.0.0
environment:
SERVICE_VARIANT: cms
DJANGO_SETTINGS_MODULE: cms.envs.tutor.production
command: celery --app=cms.celery worker --loglevel=info --hostname=edx.cms.core.default.%%h --max-tasks-per-child 100 --exclude-queues=edx.lms.core.default
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro
- ../apps/openedx/settings/cms:/openedx/edx-platform/cms/envs/tutor:ro
- ../apps/openedx/config:/openedx/config:ro
- ../../data/cms:/openedx/data
- ../../data/openedx-media:/openedx/media
depends_on:
- cms
# MFE
mfe:
image: docker.io/overhangio/openedx-mfe:17.0.0
restart: unless-stopped
volumes:
- ../plugins/mfe/apps/mfe/Caddyfile:/etc/caddy/Caddyfile:ro
depends_on:
- lms