Nine releases in one maintenance window: our Lilac → Ulmo migration

Hi everybody!

We just finished migrating a client from Lilac to Ulmo — nine major
releases — while also moving them off a single-server self-hosted setup.

Upgrade window: one hour. Preparation: two months.

A few things that cost us the most time:

  • You can’t skip releases (squashed migrations), so we built a minimal
    Docker image per release from Koa onward just to run migrate
  • Converting all tables to utf8mb4 was the single longest step
  • Their Mongo was 500GB — almost entirely videos, sitting in GridFS,
    because that’s where Studio’s course file uploads go
  • Post-Sumac forum migration needs FORUM_MONGODB_DATABASE patched back in
  • Teak’s Meilisearch reindex stalls init on a small instance

Wrote all of it up, including the Tutor plugins and the video extraction
process: https://aulasneo.com/blog/open-edx-migration-lessons-learned

Anyone else been through a jump this big? Curious what you hit — feedback welcome.

@estebanetcheverry I’d love to see experiences like this shared in the new wiki space! See Sharing our Runbook with the community (Redwood -> Ulmo in a K8S deployment) - #2 by sarina

I wanted to let everyone know that we’ve started a wiki space for people to share tips & tricks for upgrading instances - we’d welcome more pages drawn from your own experiences.

We also had similar experience when we did migration from ironwood to quince. Great! experience and learning. thx for sharing and reminding :slight_smile: