Tutor theme not found despite appearing to be mounted correctly

I’ve installed the indigo theme in Tutor dev v16.0.2.

I’ve followed the steps below:

git clone https://github.com/overhangio/tutor-indigo.git "$(tutor config printroot)/env/build/openedx/themes/indigo"
tutor images build openedx
tutor dev do settheme indigo

I’m getting the error below:

utor_dev-lms-1  | Theme dirs: 
tutor_dev-lms-1  | [Path('/openedx/themes')]]
tutor_dev-lms-1  | Traceback (most recent call last):
tutor_dev-lms-1  |   File "/openedx/edx-platform/openedx/core/djangoapps/theming/helpers.py", line 204, in get_current_theme
tutor_dev-lms-1  |     themes_base_dir=get_theme_base_dir(site_theme.theme_dir_name),
tutor_dev-lms-1  |   File "/openedx/edx-platform/openedx/core/djangoapps/theming/helpers.py", line 242, in get_theme_base_dir
tutor_dev-lms-1  |     raise ValueError(
tutor_dev-lms-1  | ValueError: Theme 'indigo' not found in any of the following themes dirs, 
tutor_dev-lms-1  | Theme dirs: 
tutor_dev-lms-1  | [Path('/openedx/themes')]

Some debugging information:

$ tutor dev exec lms head /openedx/themes/indigo/README.rst
# Prints the README.rst file
 tutor dev exec lms ls -l /openedx/themes/indigo/
docker compose -f /home/omar/work/istudy/env/local/docker-compose.yml -f /home/omar/work/istudy/env/dev/docker-compose.yml --project-name tutor_dev exec lms ls -l /openedx/themes/indigo/
total 72
drwxr-xr-x 2 root root  4096 Jul 31 06:09 changelog.d
-rw-r--r-- 1 root root   858 Jul 31 06:09 CHANGELOG.md
-rw-r--r-- 1 root root 34523 Jul 31 06:09 LICENSE.txt
-rw-r--r-- 1 root root    42 Jul 31 06:09 MANIFEST.in
-rw-r--r-- 1 root root    50 Jul 31 06:09 pyproject.toml
-rw-r--r-- 1 root root  5027 Jul 31 06:09 README.rst
drwxr-xr-x 2 root root  4096 Jul 31 06:09 screenshots
-rw-r--r-- 1 root root  1861 Jul 31 06:09 setup.py
drwxr-xr-x 4 root root  4096 Jul 31 06:09 tutorindigo

$ tutor mounts list
[]


$ tutor dev run watchthemes
docker compose -f /home/omar/work/istudy/env/local/docker-compose.yml -f /home/omar/work/istudy/env/dev/docker-compose.yml --project-name tutor_dev run --rm watchthemes
Watching changes in /openedx/themes...

Detected change: /openedx/themes/indigo/tutorindigo/templates/indigo/lms/static/sass/partials/lms/theme/_extras.scss
	Recompiling indigo theme for tutorindigo

Traceback (most recent call last):
  File "/openedx/bin/openedx-assets", line 211, in on_any_event
    assets._compile_sass(system, Path(self.theme_dir) / theme, False, False, [])
  File "/openedx/edx-platform/pavelib/assets.py", line 520, in _compile_sass
    sass_dirs = get_sass_directories(system, theme)
  File "/openedx/edx-platform/pavelib/assets.py", line 112, in get_sass_directories
    raise ValueError("'system' must be one of ({allowed_values})".format(
ValueError: 'system' must be one of (lms, cms, studio)

Also sometime later

tutor dev launch  # Which took some time, but not much have changed.

Also I’ve tried to fix permissions:

$ tutor config printroot
/home/omar/work/tutor
$ umask 0000  # allow tutor to set permission correctly
$ sudo chmod 755 $(find ~/work/tutor -type d)
$ sudo chmod 644 $(find ~/work/tutor -type f)

Environment:

$ lsb_release -r
Release:	22.04
$ tvm --version
tvm, version 2.2.0
$ tutor --version
tutor, version 16.0.2
$ docker compose version
Docker Compose version v2.20.2
$ docker --version
Docker version 23.0.0, build e92dd87
# Using Rootless docker

It looks similar to to an error shared earlier ValueError: Theme 'branded not found in any of the following theme dirs - #43 by regis - Tutor - Overhang.IO.

Any idea why this is happening and what can I do to debug the issue and fix it?

The installation instructions have now changed: GitHub - overhangio/tutor-indigo: An elegant, customizable theme for Open edX

tutor plugins install indigo
tutor plugins enable indigo
tutor config save
tutor images build openedx
tutor local start -d
tutor local do settheme indigo

The old instructions you followed will not place the theme files in the right place. Where did you find these instructions?

2 Likes