What is Tutor?

Tutor is an open source distribution of Open edX. It uses the original code from the various Open edX repositories, such as edx-platform, cs_comments_service, etc. and packages everything in a way that makes it very easy to install, administer and upgrade Open edX. In particular, all services are run inside Docker containers.

Tutor makes it possible to deploy Open edX locally, with docker-compose or on an existing Kubernetes cluster.

What is the purpose of Tutor?

To make it possible to deploy, administer and upgrade Open edX anywhere, easily.

What’s the difference with the official “native” install?

The native installation maintained by edX relies on Ansible scripts to deploy Open edX on one or multiple servers. These scripts suffer from a couple issues that Tutor tries to address:

  1. Complexity: the scripts contain close to 35k lines of code spread over 780 files. They are really hard to understand, debug, and modify, and they are extremly slow. As a consequence, Open edX is often wrongly perceived as a project that is overly complex to manage. In contrast, Tutor generates mostly Dockerfile and docker-compose.yml files that make it easy to understand what is going on. Also, the whole installation should take about 10 minutes.

  2. Isolation from the OS: Tutor barely needs to touch your server because the entire platform is packaged inside Docker containers. You are thus free to run other services on your server without fear of indirectly crashing your Open edX platform.

  3. Compatibility: Open edX is only compatible with Ubuntu 16.04, but that shouldn’t mean you are forced to run this specific OS. With Tutor, you can deploy Open edX on just any server you like: Ubuntu 18.04, Red Hat, Debian… All docker-compatible platforms are supported.

  4. Security: because you are no longer bound to a single OS, with Tutor you are now free to install security-related upgrades as soon as they become available.

  5. Portability: Tutor makes it easy to move your platform from one server to another. Just zip-compress your Tutor project root, send it to another server and you’re done.

There are also many features that are not included in the native install, such as a web user interface for remotely installing the platform, Kubernetes deployment, additional languages, etc. You’ll discover these differences as you explore Tutor :)

What’s the difference with the official devstack?

The devstack is meant for development only, not for production deployment. Tutor can be used both for production deployment and locally hacking on Open edX.

Is Tutor officially supported by edX?

No. Tutor is developed independently from edX. That means that the folks at edX.org are not responsible for troubleshooting issues of this project. Please don’t bother Ned ;-)

What features are missing from Tutor?

Those features are currently not available in Tutor:

Those extra services were considered low priority while developing this project, but we are planning on adding them to Tutor, eventually. If you need one or more of these services, feel free to let me know by opening a Github issue. In particular, support for the Analytics stack is going to require a lot of work and I am looking forward to financial sponsorship. Please get in touch if you’re interested.

Are there people already running this in production?

Yes, many of them. There is no way to count precisely how many running Open edX platforms were deployed with Tutor, but from feedback collected directly from real users, there must be dozens, if not hundreds. Tutor is also used by some Open edX providers who are hosting platforms for their customers.

Why should I trust software written by some random guy on the Internet?

You shouldn’t :) I’m Régis Behmo and I have been working on Tutor since early 2018. I have been a contributor of the Open edX project since 2015. In particular, I have worked for 2 years on FUN-MOOC, one of the top 5 largest Open edX platforms in the world. Here are the talks I have presented at the Open edX conferences:

  • Videofront: a Self-Hosted YouTube, June 2017 (video, slides)

  • Open edX 101: A Source Code Review, June 2016 (video, slides)

  • FUN: Life in the Avant-Garde, Oct. 2015 (video, slides)