Open edX is a thriving open source project, backed by a great community, for running an online learning platform at scale. Historically, it’s always been difficult to install Open edX. The goal of Tutor is to solve this issue.

Tutor simplifies the deployment of Open edX by:

  1. Separating the configuration logic from the deployment platforms.

  2. Running application processes in cleanly separated docker containers.

Because Docker containers are becoming an industry-wide standard, that means that with Tutor it becomes possible to run Open edX anywhere: for now, Tutor supports deploying on a local server, with docker-compose, and in a large cluster, with Kubernetes. But in the future, Tutor may support other deployment platforms.

What is Tutor?

Tutor was presented at the 2019 Open edX conference in San Diego, CA. Here’s the 7-minute talk: video, slides.

How does Tutor work?

You can experiment with Tutor very quickly: start by installing Tutor. Then run:

tutor config save --interactive

This command does two things:

  1. Generate a config.yml configuration file: this file contains core configuration parameters for your Open edX platforms, such as passwords and feature flags.

  2. Generate an env/ folder, which we call the Tutor “environment”, and which contains all the files that are necessary to run an Open edX platform: these are mostly Open edX configuration files.

All these files are stored in a single folder, called the Tutor project root. On Linux, this folder is in ~/.local/share/tutor and on Mac OS it is ~/Library/Application Support/tutor.

The values from config.yml are used to generate the environment files in env/. As a consequence, every time the values from config.yml are modified, the environment must be regenerated. This can be done with:

tutor config save

Another consequence is that any manual change made to a file in env/ will be overwritten by tutor config save commands. Consider yourself warned ;-)

Running Open edX

Now that you have generated a configuration and environment, you probably want to run Open edX.

Bells and whistles

For more advanced usage of Tutor, take a look at the configuration and customisation and the extra sections