Shipping Tutor Offline via External Hard Drive

Hello!

My use-case for tutor involves deployment in an offline environment with an intranet, meaning that I’ll need to ship the entire tutor Docker environment on an external hard drive.

Am I correct in thinking that tutor local bindmount lms /openedx is only a partial solution? Or will the $(tutor local printroot)\volumes\openedx directory contain everything I need to ship Tutor? Should I bindmount all of the volumes?

For reference, Tutor is being developed and will be deployed on Windows 10 machines.

Warm Regards,
~ Zane

Hi @zdenmon! Actually, you will not need to run bindmount commands. They are only necessary when you need to mount a folder from the host. What you will need is to move the entire folder indicated by tutor config printroot. This folder contains your Tutor configuration, rendered environment and data.

(Actually, if you create a platform from scratch, you only need to migrate your config.yml Tutor configuration. The environment will be rendered from scratch when you run tutor config save or tutor local quickstart on your production host.)

Note that you will also need to move to the host the tutor binary, or the Python virtualenv containing the “tutor” package along with all plugins and requirements.

Finally, you will have to take care of exporting the Docker images to your host. I recommend that you have a look at docker save. You will have to run something along the following lines:

docker save \
    --output myimages.tar.gz \
    $(tutor config printvalue DOCKER_IMAGE_OPENEDX) \
    $(tutor config printvalue DOCKER_IMAGE_CADDY) \
    $(tutor config printvalue DOCKER_IMAGE_FORUM) \
    ...

And then on the host:

docker load --input=myimages.tar.gz
1 Like

Thank you for your thorough reply! I’ll work through the steps you listed and let you know if I run into any issues along the way. Cheers!