Upgrade from 22.1 to 23 fails due to jump between "multiple major versions"

Nextcloud version (eg, 20.0.5): 23
Operating system and version (eg, Ubuntu 20.04): Ubuntu 18.04
Apache or nginx version (eg, Apache 2.4.25): nginx
PHP version (eg, 7.4): default (docker)

The issue you are facing:

Upgraded nextcloud docker from 22.1.0.1 to 23.0 and the upgrade fails due to
“Updates between multiple major versions and downgrades are unsupported.”

This is strange because it is just one major version.

So I’m looking for a way back or forward from here.

Looking at the version.php shows:


<?php
   2   │ $OC_Version = array(23,0,0,10);
   3   │ $OC_VersionString = '23.0.0';
   4   │ $OC_Edition = '';
   5   │ $OC_Channel = 'stable';
   **6   │ $OC_VersionCanBeUpgradedFrom = array (
**   7   │   'nextcloud' =>
**   8   │   array (
**   9   │     '22.2' => true,
**  10   │     '23.0' => true,
  11   │   ),

So, apparently upgrading vom 22.1 to 23.0 is not possible.
Great…

Any tips how to go back to 22.1 and choose the right upgade path?

Thanks

Is this the first time you’ve seen this error? (Y/N):
Y

Steps to replicate it:

  1. Start out with version 22.10.1 in docker
  2. Upgrade image to v23
  3. see what happens

Depending on how you deploy it.
I would just try to upgrade it to 22.2 the same way you would upgrade it to 23.
(So, if you deploy it with docker, run the current install with the 22.2 container, if its a manual installation, just copy over the 22.2 install.)

1 Like

Yeah that didn’t work because it detects a downgrade. The v23 image leaves its footprints in the mounted storage.
Starting with the original 22.1.x image also did not work… some errors about the apps.

So I had to revert the versions.php like described here:
https://nicolasbouliane.com/blog/nextcloud-docker-upgrade-error

I set it back to 22.1.0 and and then used the 22.2.x image to do an upgrade to that version which fortunately worked.

Now I’m on 22.2 and will stay there some time until 23.0 and its apps are actually stable.

I don’t get why the version / upgrade notice within nextcloud is not consistent with the docker registry. In nextcloud it shows that 22.2 is the latest version…

image

2 Likes

I had the same problem from 22.1.1 to 23, but after upgrading to 22.2.3, then it goes ok to 23.
In my case, I am doing it not with docker but using git.