Missing webpack-stats.json when pointing to Local Discovery Platform


tutor dev runserver discovery operation behaves differently depending on whether we have the docker-compose.override.yml entries to mount a local edx-discovery platform or not.

In the absence of the docker-compose.override.yml entries, the discovery app correctly loads on localhost:8381

However, when we bind-mount a local course-discovery repo, accessing the app at localhost:8381 throws the below error:

2020-05-13 12:19:36,241 ERROR 9 [django.request] /openedx/venv/lib/python3.5/site-packages/django/core/handlers/exception.py:135 - Internal Server Error: /
Traceback (most recent call last):
File “/openedx/venv/lib/python3.5/site-packages/webpack_loader/loader.py”, line 25, in _load_assets
with open(self.config[‘STATS_FILE’]) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/openedx/discovery/webpack-stats.json’

Upon troubleshooting I found that in this case, the webpack-stats.json file was missing in the discovery container. I believe this is a generated file. I manually recreated this file in the container and the error went away.

I’m hoping this indicates something is amiss in the build process. Please let me know if you need me to do any further debugging.

In general, would it be a good idea to have a dedicated discovery-dev docker image? This way, we could have tutor images build discovery-dev which takes care of installing the reqiured dependencies :slight_smile:

Yes, it would make sense to create a dedicated dev image for discovery. But I believe that the reason why the webpack was missing is that you didn’t properly follow the debugging instructions: https://github.com/overhangio/tutor-discovery/blob/master/README.rst#debugging
(see the last part about compiling assets)
Unless there is an error in the readme?

1 Like

Thanks @regis. It worked!