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]...
patches
Commands related to patches in configurations
tutor config patches [OPTIONS] COMMAND [ARGS]...
list
Print all available patches
tutor config patches list [OPTIONS]
printroot
Print the project root
tutor config printroot [OPTIONS]
printvalue
Print a configuration value
tutor config printvalue [OPTIONS] KEY
Arguments
- KEY
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.yml
dev
Run Open edX locally with development settings
tutor dev [OPTIONS] COMMAND [ARGS]...
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
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]...
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
- 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)
launch
Configure and run Open edX from scratch, for development
tutor dev launch [OPTIONS]
Options
- -I, --non-interactive
Run non-interactively
- -p, --pullimages
Update docker images
- -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)
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)
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)
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)
init
Initialise all applications
tutor k8s init [OPTIONS]
Options
- -l, --limit <limit>
Limit initialisation to this service or plugin
launch
Configure and run Open edX from scratch
tutor k8s launch [OPTIONS]
Options
- -I, --non-interactive
Run non-interactively
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
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
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 launch.
tutor k8s upgrade [OPTIONS]
Options
- --from <from_release>
- Options
ironwood | juniper | koa | lilac | maple | nutmeg
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]...
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
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]...
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
- 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)
launch
Configure and run Open edX from scratch
tutor local launch [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
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)
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)
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 launch.
tutor local upgrade [OPTIONS]
Options
- --from <from_release>
- Options
ironwood | juniper | koa | lilac | maple | nutmeg
plugins
Manage Tutor plugins to add new features and customise your Open edX platform.
Plugins can be downloaded from local and remote indexes. See the tutor plugins index subcommand.
After the plugin index cache has been updated, plugins can be searched with:
tutor plugins search <pattern>
Plugins are installed with:
tutor plugins install <name>
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)
index
Manage plugin indices.
A plugin index is a list of Tutor plugins. An index can be public and shared with the community, or private, for instance to share plugins with a select group of users. Plugin indexes are a great way to share your plugins with other Tutor users. By default, only the official plugin index is enabled.
Plugin indexes are fetched by running:
tutor plugins update
Plugin index cache is stored locally in the following subdirectory of the Tutor project environment:
plugins/index/cache.yml
tutor plugins index [OPTIONS] COMMAND [ARGS]...
add
Add a plugin index.
The index URL will be appended with ‘{version}/plugins.yml’. The index path can be either an http(s) url or a local file path.
For official indexes, there is no need to pass a full URL. Instead, use “main”, “contrib” or “wizard”.
tutor plugins index add [OPTIONS] URL
Arguments
- URL
Required argument
list
List plugin indexes
tutor plugins index list [OPTIONS]
remove
Remove a plugin index.
tutor plugins index remove [OPTIONS] URL
Arguments
- URL
Required argument
install
Install one or more plugins.
Each plugin name can be one of:
A plugin name from the plugin indexes (see tutor plugins search)
A local file that will be copied to the plugins root
An http(s) location that will be downloaded to the plugins root
In cases 2. and 3., the plugin root corresponds to the path given by tutor plugins printroot.
tutor plugins install [OPTIONS] name
Arguments
- name
Optional argument(s)
list
List installed plugins.
tutor plugins list [OPTIONS]
Options
- -e, --enabled
Display enabled plugins only
printroot
Print the location of yaml-based plugins: nboth python v1 and yaml v0 plugins. This location can be manually defined by setting the TUTOR_PLUGINS_ROOT environment variable
tutor plugins printroot [OPTIONS]
search
Search in plugin descriptions.
tutor plugins search [OPTIONS] [PATTERN]
Arguments
- PATTERN
Optional argument
show
Show plugin details from index.
tutor plugins show [OPTIONS] NAME
Arguments
- NAME
Required argument
update
Update the list of available plugins.
tutor plugins update [OPTIONS]
upgrade
Upgrade one or more plugins.
Specify “all” to upgrade all installed plugins. This command will only print a warning for plugins which cannot be found.
tutor plugins upgrade [OPTIONS] name
Arguments
- name
Optional argument(s)