How to upgrade galaxy from a version before 13.06 to the latest version

Hi team,

I’m working on migrating Galaxy from an old VM (Ubuntu18.04), by checking the check_python file I can tell it’s supported on 2.5-2.7, by comparing with different release in github, I found it is something before 13.06. Since Ubuntu18.04 is quite old, we’d like to set up a new VM (Ubuntu24.04) to host Galaxy. I don’t want to use python2.7 in the new server, so I’m planning to install new version of Galaxy in the new VM with python 3.12. Galaxy was set up succefully, but it stuck in migrating database stage. Galaxy in older server has a Postgresql database, when migrating it, I found database schema has changed a lot between the two versions, it cannot do by a simple database migration.
Could you please give me some advice on what’s the best practice to do the upgrade?

Best regards,
Grace

Hi @gracedong

Oh wow, that is a very old release!

The usual solution for any upgrading is to upgrade in the order of releases. This handles the database migrations correctly (it is part of the initial start up script). However – other dependency software can present with other problems! (Especially if there are large time gaps, you may run into trouble with hardware/OS changes over time).

So, from where are now, exporting the data and then loading that back into the new instance might be preferred. This is what someone else found as the solution in this topic. → Unable to upgrade Galaxy from 16.07 - #19 by MichaelC

If you want, we can ask the developers for more detailed advice but I’m not sure what parts you will need help with yet. You can post back your follow up questions first, then we can ping into the appropriate places back on the target topic (admin or dev is the usual split).

Let’s start there, thanks! :slight_smile:

XREF

Hi @jennaj,

Thanks so much for your kindly reply.
I tried to upgrade release by release from 13.04 all the way to 15.10, postgresql database was upgraded successfully. But when trying 16.01, I met this error (Could not find a version that satisfies the requirement repoze.lru==0.6 (from -r requirements.txt (line 19)) (from versions: )
No matching distribution found for repoze.lru==0.6 (from -r requirements.txt (line 19))
). repoze.lru==0.6 cannot be installed by all means. I’m stuck here.

I’d like to try the method you recommended (exporting the data and then loading that back into the new instance might be preferred). But I don’t quite understand how to exporting data and reloading to the new instance. I once tried to dump the database from the old VM (Ubuntu 18.04) with galaxy 13.04 and imported it in the new VM (Ubuntu 24.04) with galaxy 24.2, but since database table structures have changed a lot, run.sh cannot be executed successfully.
It’d be greately appreciated if you could give me some instructions or advices.

Best regards,
Grace

Ok great, thanks @gracedong

I’ve asked our developers at the Admin chat to to help out. Your issue with the upgrade was a Python package issue. The 15.10 release had several deprecation notices. The export/reload does seem to be a good choice but let’s confirm with the developers. :slight_smile:

They will probably reply here but later on you can communicate at this chat too for quick questions! :hammer_and_wrench: You're invited to talk on Matrix