tutor

Tutor is the Docker-based Open edX distribution designed for peace of mind.

tutor [OPTIONS] COMMAND [ARGS]...

Options

--version

Show the version and exit.

-r, --root <root>

Root project directory (environment variable: TUTOR_ROOT)

Default

~/.local/share/tutor

-h, --help

Print this help

Environment variables

TUTOR_ROOT

Provide a default for -r

config

Configure Open edX and store configuration values in $TUTOR_ROOT/config.yml

tutor config [OPTIONS] COMMAND [ARGS]...

printroot

Print the project root

tutor config printroot [OPTIONS]

printvalue

Print a configuration value

tutor config printvalue [OPTIONS] KEY

Arguments

KEY

Required argument

render

Render a template folder with eventual extra configuration files

tutor config render [OPTIONS] SRC DST

Options

-x, --extra-config <extra_configs>

Load extra configuration file (can be used multiple times)

Arguments

SRC

Required argument

DST

Required argument

save

Create and save configuration interactively

tutor config save [OPTIONS]

Options

-i, --interactive

Run interactively

-s, --set <KEY=VAL>

Set a configuration value (can be used multiple times)

-U, --unset <unset_vars>

Remove a configuration value (can be used multiple times)

-e, --env-only

Skip updating config.yaml

dev

Run Open edX locally with development settings

tutor dev [OPTIONS] COMMAND [ARGS]...

bindmount

Copy the contents of a container directory to a ready-to-bind-mount host directory

tutor dev bindmount [OPTIONS] SERVICE PATH

Arguments

SERVICE

Required argument

PATH

Required argument

copyfrom

Copy files/folders from a container directory to the local filesystem.

tutor dev copyfrom [OPTIONS] SERVICE CONTAINER_PATH HOST_PATH

Arguments

SERVICE

Required argument

CONTAINER_PATH

Required argument

HOST_PATH

Required argument

createuser

Create an Open edX user and interactively set their password

tutor dev createuser [OPTIONS] NAME EMAIL

Options

--superuser

Make superuser

--staff

Make staff user

-p, --password <password>

Specify password from the command line. If undefined, you will be prompted to input a password

Arguments

NAME

Required argument

EMAIL

Required argument

dc

Direct interface to docker-compose. This is a wrapper around docker-compose. Most commands, options and arguments passed to this command will be forwarded as-is to docker-compose.

tutor dev dc [OPTIONS] COMMAND [ARGS]...

Arguments

COMMAND

Required argument

ARGS

Optional argument(s)

exec

Run a command in a running container. This is a wrapper around docker-compose exec. Any option or argument passed to this command will be forwarded to docker-compose. Thus, you may use -e to manually define environment variables.

tutor dev exec [OPTIONS] ARGS...

Arguments

ARGS

Required argument(s)

importdemocourse

Import the demo course

tutor dev importdemocourse [OPTIONS]

init

Initialise all applications

tutor dev init [OPTIONS]

Options

-l, --limit <limit>

Limit initialisation to this service or plugin

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

logs

View output from containers. This is a wrapper around docker-compose logs.

tutor dev logs [OPTIONS] [SERVICE]...

Options

-f, --follow

Follow log output

--tail <tail>

Number of lines to show from each container

Arguments

SERVICE

Optional argument(s)

quickstart

Configure and run Open edX from scratch, for development

tutor dev quickstart [OPTIONS]

Options

-I, --non-interactive

Run non-interactively

-p, --pullimages

Update docker images

reboot

This is more than just a restart: with reboot, the platform is fully stopped before being restarted again

tutor dev reboot [OPTIONS] service

Options

-d, --detach

Start in daemon mode

Arguments

service

Optional argument(s)

restart

Specify ‘openedx’ to restart the lms, cms and workers, or ‘all’ to restart all services. Note that this performs a ‘docker-compose restart’, so new images may not be taken into account. It is useful for reloading settings, for instance. To fully stop the platform, use the ‘reboot’ command.

tutor dev restart [OPTIONS] service

Arguments

service

Optional argument(s)

run

Run a command in a new container. This is a wrapper around docker-compose run. Any option or argument passed to this command will be forwarded to docker-compose. Thus, you may use -v or -p to mount volumes and expose ports.

tutor dev run [OPTIONS] ARGS...

Options

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

Arguments

ARGS

Required argument(s)

runserver

DEPRECATED: Use ‘tutor dev start …’ instead!

tutor dev runserver [OPTIONS] [OPTIONS]... SERVICE

Options

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

Arguments

OPTIONS

Optional argument(s)

SERVICE

Required argument

settheme

Assign a theme to the LMS and the CMS. To reset to the default theme , use ‘default’ as the theme name.

tutor dev settheme [OPTIONS] THEME_NAME

Options

-d, --domain <domains>

Limit the theme to these domain names. By default, the theme is applied to the LMS and the CMS, both in development and production mode

Arguments

THEME_NAME

Required argument

start

Run all or a selection of services. Docker images will be rebuilt where necessary.

tutor dev start [OPTIONS] service

Options

--skip-build

Skip image building

-d, --detach

Start in daemon mode

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

Arguments

service

Optional argument(s)

status

Print status information for containers

tutor dev status [OPTIONS]

stop

Stop a running platform

tutor dev stop [OPTIONS] service

Arguments

service

Optional argument(s)

help

Print this help

tutor help [OPTIONS]

images

Manage docker images

tutor images [OPTIONS] COMMAND [ARGS]...

build

Build the docker images necessary for an Open edX platform.

tutor images build [OPTIONS] image

Options

--no-cache

Do not use cache when building the image

-a, --build-arg <build_args>

Set build-time docker ARGS in the form ‘myarg=value’. This option may be specified multiple times.

--add-host <add_hosts>

Set a custom host-to-IP mapping (host:ip).

--target <target>

Set the target build stage to build.

-d, --docker-arg <docker_args>

Set extra options for docker build command.

Arguments

image

Optional argument(s)

printtag

Print tag associated to a Docker image

tutor images printtag [OPTIONS] image

Arguments

image

Optional argument(s)

pull

Pull images from the Docker registry

tutor images pull [OPTIONS] image

Arguments

image

Optional argument(s)

push

Push images to the Docker registry

tutor images push [OPTIONS] image

Arguments

image

Optional argument(s)

k8s

Run Open edX on Kubernetes

tutor k8s [OPTIONS] COMMAND [ARGS]...

apply

Direct interface to kubnectl-apply. This is a wrapper around kubectl apply. A;; options and arguments passed to this command will be forwarded as-is to kubectl apply.

tutor k8s apply [OPTIONS] [ARGS]...

Arguments

ARGS

Optional argument(s)

createuser

Create an Open edX user and interactively set their password

tutor k8s createuser [OPTIONS] NAME EMAIL

Options

--superuser

Make superuser

--staff

Make staff user

-p, --password <password>

Specify password from the command line. If undefined, you will be prompted to input a password

Arguments

NAME

Required argument

EMAIL

Required argument

delete

Completely delete an existing platform

tutor k8s delete [OPTIONS]

Options

-y, --yes

Do not ask for confirmation

exec

Execute a command in a pod of the given application

tutor k8s exec [OPTIONS] SERVICE ARGS...

Arguments

SERVICE

Required argument

ARGS

Required argument(s)

importdemocourse

Import the demo course

tutor k8s importdemocourse [OPTIONS]

init

Initialise all applications

tutor k8s init [OPTIONS]

Options

-l, --limit <limit>

Limit initialisation to this service or plugin

logs

View output from containers

tutor k8s logs [OPTIONS] SERVICE

Options

-c, --container <container>

Print the logs of this specific container

-f, --follow

Follow log output

--tail <tail>

Number of lines to show from each container

Arguments

SERVICE

Required argument

quickstart

Configure and run Open edX from scratch

tutor k8s quickstart [OPTIONS]

Options

-I, --non-interactive

Run non-interactively

reboot

Reboot an existing platform

tutor k8s reboot [OPTIONS]

scale

Scale the number of replicas of a given deployment

tutor k8s scale [OPTIONS] DEPLOYMENT REPLICAS

Arguments

DEPLOYMENT

Required argument

REPLICAS

Required argument

settheme

Assign a theme to the LMS and the CMS. To reset to the default theme , use ‘default’ as the theme name.

tutor k8s settheme [OPTIONS] THEME_NAME

Options

-d, --domain <domains>

Limit the theme to these domain names. By default, the theme is applied to the LMS and the CMS, both in development and production mode

Arguments

THEME_NAME

Required argument

start

Run all configured Open edX resources. You may limit this command to some resources by passing name arguments.

tutor k8s start [OPTIONS] name

Arguments

name

Optional argument(s)

status

Print status information for all k8s resources

tutor k8s status [OPTIONS]

stop

Stop a running platform by deleting all resources, except for volumes. You may limit this command to some resources by passing name arguments.

tutor k8s stop [OPTIONS] name

Arguments

name

Optional argument(s)

upgrade

Perform release-specific upgrade tasks. To perform a full upgrade remember to run quickstart.

tutor k8s upgrade [OPTIONS]

Options

--from <from_release>
Options

ironwood | juniper | koa | lilac

wait

Wait for a pod to become ready

tutor k8s wait [OPTIONS] NAME

Arguments

NAME

Required argument

local

Run Open edX locally with docker-compose

tutor local [OPTIONS] COMMAND [ARGS]...

bindmount

Copy the contents of a container directory to a ready-to-bind-mount host directory

tutor local bindmount [OPTIONS] SERVICE PATH

Arguments

SERVICE

Required argument

PATH

Required argument

copyfrom

Copy files/folders from a container directory to the local filesystem.

tutor local copyfrom [OPTIONS] SERVICE CONTAINER_PATH HOST_PATH

Arguments

SERVICE

Required argument

CONTAINER_PATH

Required argument

HOST_PATH

Required argument

createuser

Create an Open edX user and interactively set their password

tutor local createuser [OPTIONS] NAME EMAIL

Options

--superuser

Make superuser

--staff

Make staff user

-p, --password <password>

Specify password from the command line. If undefined, you will be prompted to input a password

Arguments

NAME

Required argument

EMAIL

Required argument

dc

Direct interface to docker-compose. This is a wrapper around docker-compose. Most commands, options and arguments passed to this command will be forwarded as-is to docker-compose.

tutor local dc [OPTIONS] COMMAND [ARGS]...

Arguments

COMMAND

Required argument

ARGS

Optional argument(s)

exec

Run a command in a running container. This is a wrapper around docker-compose exec. Any option or argument passed to this command will be forwarded to docker-compose. Thus, you may use -e to manually define environment variables.

tutor local exec [OPTIONS] ARGS...

Arguments

ARGS

Required argument(s)

importdemocourse

Import the demo course

tutor local importdemocourse [OPTIONS]

init

Initialise all applications

tutor local init [OPTIONS]

Options

-l, --limit <limit>

Limit initialisation to this service or plugin

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

logs

View output from containers. This is a wrapper around docker-compose logs.

tutor local logs [OPTIONS] [SERVICE]...

Options

-f, --follow

Follow log output

--tail <tail>

Number of lines to show from each container

Arguments

SERVICE

Optional argument(s)

quickstart

Configure and run Open edX from scratch

tutor local quickstart [OPTIONS]

Options

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

-I, --non-interactive

Run non-interactively

-p, --pullimages

Update docker images

reboot

This is more than just a restart: with reboot, the platform is fully stopped before being restarted again

tutor local reboot [OPTIONS] service

Options

-d, --detach

Start in daemon mode

Arguments

service

Optional argument(s)

restart

Specify ‘openedx’ to restart the lms, cms and workers, or ‘all’ to restart all services. Note that this performs a ‘docker-compose restart’, so new images may not be taken into account. It is useful for reloading settings, for instance. To fully stop the platform, use the ‘reboot’ command.

tutor local restart [OPTIONS] service

Arguments

service

Optional argument(s)

run

Run a command in a new container. This is a wrapper around docker-compose run. Any option or argument passed to this command will be forwarded to docker-compose. Thus, you may use -v or -p to mount volumes and expose ports.

tutor local run [OPTIONS] ARGS...

Options

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

Arguments

ARGS

Required argument(s)

settheme

Assign a theme to the LMS and the CMS. To reset to the default theme , use ‘default’ as the theme name.

tutor local settheme [OPTIONS] THEME_NAME

Options

-d, --domain <domains>

Limit the theme to these domain names. By default, the theme is applied to the LMS and the CMS, both in development and production mode

Arguments

THEME_NAME

Required argument

start

Run all or a selection of services. Docker images will be rebuilt where necessary.

tutor local start [OPTIONS] service

Options

--skip-build

Skip image building

-d, --detach

Start in daemon mode

-m, --mount <mounts>

Bind-mount a folder from the host in the right containers. This option can take two different forms. The first one is explicit: ‘service1[,service2…]:/host/path:/container/path’. The other is implicit: ‘/host/path’. Arguments passed in the implicit form will be parsed by plugins to define the right folders to bind-mount from the host.

Arguments

service

Optional argument(s)

status

Print status information for containers

tutor local status [OPTIONS]

stop

Stop a running platform

tutor local stop [OPTIONS] service

Arguments

service

Optional argument(s)

upgrade

Perform release-specific upgrade tasks. To perform a full upgrade remember to run quickstart.

tutor local upgrade [OPTIONS]

Options

--from <from_release>
Options

ironwood | juniper | koa | lilac

plugins

Manage Tutor plugins to add new features and customise your Open edX platform

tutor plugins [OPTIONS] COMMAND [ARGS]...

disable

Disable one or more plugins. Specify ‘all’ to disable all enabled plugins at once.

tutor plugins disable [OPTIONS] plugin

Arguments

plugin

Optional argument(s)

enable

Enable a plugin

tutor plugins enable [OPTIONS] plugin

Arguments

plugin

Optional argument(s)

install

Install a plugin, either from a local Python/YAML file or a remote, web-hosted location. The plugin will be installed to TUTOR_PLUGINS_ROOT.

tutor plugins install [OPTIONS] LOCATION

Arguments

LOCATION

Required argument

list

List installed plugins

tutor plugins list [OPTIONS]

printroot

Print the location of yaml-based plugins. This location can be manually defined by setting the TUTOR_PLUGINS_ROOT environment variable

tutor plugins printroot [OPTIONS]