Open edX: The Unofficial Open edX Operations Manual
25 Sep 2014

I’m customizing and deploying an Open edX instance for an Australian university. Getting a simple Open edX instance running is very simple; actually running it in production requires a lot of work. This series of blog posts summarises what I’ve learned in the process.

Open edX is a moving target. Like all of the documentation on the web, these posts could be out of date by the time you read them. Please leave a comment or send me an email if you find a problem.

General hints and tips

Broken repos

Open edX is a very rapidly moving target. There are no stable releases yet. The repositories (even the slightly-more-stable release branch) are frequently broken.

I have tried to address the major undocumented things here, but stuff breaks all of the time.

I strongly recommend that you have separate staging and production systems. If you run untested commits on your production server, you will have unplanned downtime.

I would like to suggest that you can just pass a commit ID to /edx/bin/update, but that doesn’t work. I’m working around it with a local fork of edx-platform.

Using manage.py

All of the fun commands are accessible through the Django management interface (manage.py). There’s lot of bad documentation out there on how to reach this. What’s working for me (at 10 Nov 2014) is

# as root
cd /edx/bin
sudo -u www-data ./python.edxapp ./manage.edxapp lms

comments powered by Disqus