Upgrading Open edX

Upgrading Open edX to the latest version is easy using Tutor! You don't have to worry about migrations or running additional commands because Tutor does everything for us.

The process is similar to installing it the first time.
The process can take between 30-60 minutes.

Here is the site for reference: https://docs.tutor.overhang.io/

This guide will not always reference the most up to date version of Tutor. Check the Tutor release page for the latest packages.

  1. Stop Tutor

    tutor local stop
  2. Create a backup (you can restore easily if the upgrade fails).

    • Find the version to know which version to restore if you need
      edx@edx:~$ tutor --version
      tutor, version 10.2.2
    • Use the version number and then duplicate the data to /tmp
      sudo rsync -avr "$(tutor config printroot)"/ /tmp/tutor-backup-v10.2.2
  3. Download Tutor used to install Open edX (These instructions use v10.5.0)

    sudo curl -L "https://github.com/overhangio/tutor/releases/download/v10.5.0/tutor-$(uname -s)_$(uname -m)" -o /usr/local/bin/tutor
    sudo chmod 0755 /usr/local/bin/tutor
  4. Start the Open edX installer using the quickstart command

    Tip: Just press enter to accept the values that you have entered previously.

    tutor local quickstart
  5. Open the browser when it finishes to verify the installation and upgrade

  6. Rebuild the docker Open edX image if you included XBlocks previously (skip this step if you aren't using 3rd party XBlocks)

    tutor images build openedx

Lastly, you must reenable your theme.

Update and Enable Indigo Theme

We use the Indigo theme from Tutor with our logo.

  1. Optionally, delete the Indigo theme data and update it from GitHub

    cd ~
    sudo rm -r indigo 
    git clone https://github.com/overhangio/indigo
  2. Render the theme

    tutor config render --extra-config ./indigo/config.yml ./indigo/theme "$(tutor config printroot)/env/build/openedx/themes/indigo"
  3. Rebuild the Open edX docker image with the new theme (this process takes a while)

    tutor images build openedx

    Output example:

    . . .
    Removing intermediate container df5fa19ba17d
    ---> 6bf674dc6fd8
    Step 88/88 : CMD gunicorn -c /openedx/gunicorn_conf.py --name ${SERVICE_VARIANT} --bind=0.0.0.0:8000 --max-requests=1000 --max-requests-jitter=100 --access-logfile - ${SERVICE_VARIANT}.wsgi:application
    ---> Running in 823ee1048de5
    Removing intermediate container 823ee1048de5
    ---> c79376023a17
    Successfully built c79376023a17
    Successfully tagged overhangio/openedx:10.5.0
    edx@edx:~$
  4. Restart the platform using the rebuilt docker image

    tutor local start -d
  5. Enable the Indigo theme

    tutor local settheme indigo localhost studio.localhost \
      $(tutor config printvalue LMS_HOST) $(tutor config printvalue CMS_HOST)
  6. Open the browser to verify that the theme is enabled.