Migrated Nextcloud needs CLI update?

NethServer Version: 8.current
Module: Nextcloud

Continuing on the migration saga from NS7…

I’m running NS8 on Rocky 9 current, and have migrated Nextcloud from my NS7.9 installation, which is as up-to-date as it could be given that it’s now EOL. The migration proceeded without noted issues in the GUI of either system, so I told it to finish the migration.

But when I browse to my Nextcloud instance, I get a message saying, “Please use the command line updater because updating via browser is disabled in your config.php.”:

A little bit of searching found this post, which in combination with the nextcloud docs, suggested I should run runagent -m nextcloud1 occ upgrade

Unfortunately, that failed, with a message of Exception: Updates between multiple major versions and downgrades are unsupported. (full output below)

The NS7 system was running whatever version of Nextcloud was most current for it, but as the migration disabled it I’m not sure how to check. Apparently NS8 is more than one major version past what NS7 was using. How should I proceed here?

Full output of that command:

[root@ns8 ~]# runagent -m nextcloud1 occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
[nextcloud][updater][1] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":1,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::maintenanceEnabled: Turned on maintenance mode","userAgent":"--","version":"","data":{"app":"updater"}}
[nextcloud][core][0] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":0,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"core","method":"","url":"--","message":"starting upgrade from  to 27.1.11.3","userAgent":"--","version":"","data":{"app":"core"}}
[nextcloud][PHP][3] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":3,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Undefined array key 1 at /var/www/html/lib/private/Updater.php#203","userAgent":"--","version":"","data":{"app":"PHP"}}
[nextcloud][no app in context][3] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":3,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"{\"Exception\":\"Exception\",\"Message\":\"Updates between multiple major versions and downgrades are unsupported.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/lib/private/Updater.php\",\"line\":139,\"function\":\"doUpgrade\",\"class\":\"OC\\\\Updater\",\"type\":\"->\",\"args\":[\"27.1.11.3\",\"\"]},{\"file\":\"/var/www/html/core/Command/Upgrade.php\",\"line\":225,\"function\":\"upgrade\",\"class\":\"OC\\\\Updater\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Command/Command.php\",\"line\":298,\"function\":\"execute\",\"class\":\"OC\\\\Core\\\\Command\\\\Upgrade\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":1040,\"function\":\"run\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Command\\\\Command\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":301,\"function\":\"doRunCommand\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"OC\\\\Core\\\\Command\\\\Upgrade\"],[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":171,\"function\":\"doRun\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/lib/private/Console/Application.php\",\"line\":218,\"function\":\"run\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/console.php\",\"line\":100,\"function\":\"run\",\"class\":\"OC\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/occ\",\"line\":11,\"args\":[\"/var/www/html/console.php\"],\"function\":\"require_once\"}],\"File\":\"/var/www/html/lib/private/Updater.php\",\"Line\":240,\"message\":\"Updates between multiple major versions and downgrades are unsupported.\",\"exception\":{},\"CustomMessage\":\"Updates between multiple major versions and downgrades are unsupported.\"}","userAgent":"--","version":""}
Exception: Updates between multiple major versions and downgrades are unsupported.
[nextcloud][updater][3] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":3,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::failure: Exception: Updates between multiple major versions and downgrades are unsupported.","userAgent":"--","version":"","data":{"app":"updater"}}
Update failed
[nextcloud][updater][3] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":3,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::updateEnd: Update failed","userAgent":"--","version":"","data":{"app":"updater"}}
Maintenance mode is kept active
[nextcloud][updater][1] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":1,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::maintenanceActive: Maintenance mode is kept active","userAgent":"--","version":"","data":{"app":"updater"}}
Resetting log level
[nextcloud][updater][1] {"reqId":"pPQNCmZPBMYk6c2qdYNX","level":1,"time":"2024-11-22T19:07:16+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::resetLogLevel: Reset log level to Warning(2)","userAgent":"--","version":"","data":{"app":"updater"}}
[root@ns8 ~]#

adapting 2nd method (b) from wiki guide to ns8 most probably will work.

EDIT:
If version of nextcloud on ns7 was the latest available update, the problem should not have happened (IIUC):

Unless that only applies to nextcloud upgrades once already on ns8:

I wonder why “from” is empty?

1 Like

I suspect this is related–backup of the Nextcloud app (only) is failing:
image

Here’s what I’m seeing in the system logs:

2024-11-22T23:10:23-05:00 [1:nextcloud1:backup2] Dirs:         6693 new,     0 changed,     0 unmodified
2024-11-22T23:10:23-05:00 [1:nextcloud1:backup2] snapshot a9ef37b1 saved
2024-11-22T23:10:23-05:00 [1:nextcloud1:backup2] processed 113828 files, 253.468 GiB in 10:01
2024-11-22T23:10:23-05:00 [1:nextcloud1:backup2] Added to the repository: 588.194 MiB (204.697 MiB stored)
2024-11-22T23:10:23-05:00 [1:nextcloud1:backup2] Files:       113828 new,     0 changed,     0 unmodified
2024-11-22T23:10:23-05:00 [1:nextcloud1:backup2] restic forget --prune --keep-last=5
2024-11-22T23:10:24-05:00 [1:nextcloud1:backup2] repo already locked, waiting up to 0s for the lock
2024-11-22T23:10:25-05:00 [1:nextcloud1:backup2] storage ID c3f432bf
2024-11-22T23:10:25-05:00 [1:nextcloud1:backup2] the `unlock` command can be used to remove stale locks
2024-11-22T23:10:25-05:00 [1:nextcloud1:backup2] lock was created at 2024-11-22 16:07:00 (12h3m24.158744086s ago)
2024-11-22T23:10:25-05:00 [1:nextcloud1:backup2] unable to create lock in backend: repository is already locked by PID 1 on ns8.familybrown.org by root (UID 0, GID 0)
2024-11-22T23:10:25-05:00 [1:nextcloud1:backup2] restic stats --json
2024-11-22T23:10:32-05:00 [1:nextcloud1:backup2] 2024/11/23 04:10:32 ERROR : f88154ae-2520-4876-8295-6052234af97b.json: Failed to copy: failed to prepare upload: AccessDenied: Access Denied.
2024-11-22T23:10:32-05:00 [1:nextcloud1:backup2] 2024/11/23 04:10:32 Failed to rcat: failed to prepare upload: AccessDenied: Access Denied.
2024-11-22T23:10:32-05:00 [1:nextcloud1:backup2] 	status code: 403, request id: 180A7D88A5A0EE30, host id:
2024-11-22T23:10:32-05:00 [1:nextcloud1:backup2] 2024/11/23 04:10:32 ERROR : f88154ae-2520-4876-8295-6052234af97b.json: Post request rcat error: failed to prepare upload: AccessDenied: Access Denied.
2024-11-22T23:10:32-05:00 [1:nextcloud1:systemd] backup2.service: Main process exited, code=exited, status=1/FAILURE
2024-11-22T23:10:32-05:00 [1:nextcloud1:systemd] backup2.service: Failed with result 'exit-code'.
2024-11-22T23:10:32-05:00 [1:nextcloud1:systemd] backup2.service: Consumed 7.360s CPU time.

NS7 definitely was up-to-date. And 27.1.11 is what’s being reported in NS8 as well:

[root@ns8 ~]# runagent -m nextcloud1 occ --version
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Nextcloud 27.1.11
[root@ns8 ~]#

I wonder if the issue is that NS7 was running 27.1.11.3?

[root@neth config]# grep version config.php
  'version' => '27.1.11.3',

I do see that the software center reports an available update for Nextcloud:
image

…but I’m kind of reluctant to try to upgrade it when it isn’t currently working.

Any ideas on a way ahead here?

I agree with Mark; the missing version number in that log message seems unusual. I suggest investigating further.

Do you have any other backup processes running concurrently on this cluster or another one?

It seems Rclone is unable to write to the backup destination: are you sure the destination credentials have enough rights? Is it the iDrive S3 destination, NS8 backup failing on IDrive e2 S3 - #4 by davidep?

I’d appreciate any suggestions for how to do that.

I had one process configured, but had to delete it as described in the thread you link. There is currently only one backup process configured on this single-node cluster.

Edit for clarity: I created one backup process, deleted it, and created a second one. That second process is the only process configured on this cluster.

Since every other app is able to back up successfully (as far as I can tell through the UI), I think so.

Hmmm. So my trial subscription automatically updated my Nextcloud instance overnight–I hope that didn’t break anything further.

Browsing to my Nextcloud installation tells me it’s in maintenance mode, so I used occ to turn it off. That resulted in:

[root@ns8 ~]# runagent -m nextcloud1 occ maintenance:mode --off
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode disabled

But trying to run the upgrade again gives what appears to be the same result:

[root@ns8 ~]# runagent -m nextcloud1 occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
[nextcloud][updater][1] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":1,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::maintenanceEnabled: Turned on maintenance mode","userAgent":"--","version":"","data":{"app":"updater"}}
[nextcloud][core][0] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":0,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"core","method":"","url":"--","message":"starting upgrade from  to 28.0.9.1","userAgent":"--","version":"","data":{"app":"core"}}
[nextcloud][PHP][3] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":3,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Undefined array key 1 at /var/www/html/lib/private/Updater.php#208","userAgent":"--","version":"","data":{"app":"PHP"}}
[nextcloud][no app in context][3] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":3,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"{\"Exception\":\"Exception\",\"Message\":\"Updates between multiple major versions and downgrades are unsupported.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/lib/private/Updater.php\",\"line\":144,\"function\":\"doUpgrade\",\"class\":\"OC\\\\Updater\",\"type\":\"->\",\"args\":[\"28.0.9.1\",\"\"]},{\"file\":\"/var/www/html/core/Command/Upgrade.php\",\"line\":222,\"function\":\"upgrade\",\"class\":\"OC\\\\Updater\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Command/Command.php\",\"line\":298,\"function\":\"execute\",\"class\":\"OC\\\\Core\\\\Command\\\\Upgrade\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":1040,\"function\":\"run\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Command\\\\Command\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":301,\"function\":\"doRunCommand\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"OC\\\\Core\\\\Command\\\\Upgrade\"],[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":171,\"function\":\"doRun\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/lib/private/Console/Application.php\",\"line\":213,\"function\":\"run\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/console.php\",\"line\":100,\"function\":\"run\",\"class\":\"OC\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/occ\",\"line\":11,\"args\":[\"/var/www/html/console.php\"],\"function\":\"require_once\"}],\"File\":\"/var/www/html/lib/private/Updater.php\",\"Line\":245,\"message\":\"Updates between multiple major versions and downgrades are unsupported.\",\"exception\":{},\"CustomMessage\":\"Updates between multiple major versions and downgrades are unsupported.\"}","userAgent":"--","version":""}
Exception: Updates between multiple major versions and downgrades are unsupported.
[nextcloud][updater][3] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":3,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::failure: Exception: Updates between multiple major versions and downgrades are unsupported.","userAgent":"--","version":"","data":{"app":"updater"}}
Update failed
[nextcloud][updater][3] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":3,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::updateEnd: Update failed","userAgent":"--","version":"","data":{"app":"updater"}}
Maintenance mode is kept active
[nextcloud][updater][1] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":1,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::maintenanceActive: Maintenance mode is kept active","userAgent":"--","version":"","data":{"app":"updater"}}
Resetting log level
[nextcloud][updater][1] {"reqId":"6LaeFDaJq9iDF0DsaU4k","level":1,"time":"2024-11-26T13:53:05+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::resetLogLevel: Reset log level to Warning(2)","userAgent":"--","version":"","data":{"app":"updater"}}

It’s now reporting that Nextcloud is at 28.0.9:

[root@ns8 ~]# runagent -m nextcloud1 occ --version
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Nextcloud 28.0.9

I tried running the upgrade again in debug mode, but I don’t think that gives any more relevant information:

[root@ns8 ~]# runagent -m nextcloud1 occ upgrade -vvv
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
2024-11-26T14:12:52+00:00 Setting log level to debug
[nextcloud][core][0] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":0,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"core","method":"","url":"--","message":"starting upgrade from  to 28.0.9.1","userAgent":"--","version":"","data":{"app":"core"}}
[nextcloud][PHP][3] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":3,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Undefined array key 1 at /var/www/html/lib/private/Updater.php#208","userAgent":"--","version":"","data":{"app":"PHP"}}
[nextcloud][no app in context][3] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":3,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"{\"Exception\":\"Exception\",\"Message\":\"Updates between multiple major versions and downgrades are unsupported.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/lib/private/Updater.php\",\"line\":144,\"function\":\"doUpgrade\",\"class\":\"OC\\\\Updater\",\"type\":\"->\",\"args\":[\"28.0.9.1\",\"\"]},{\"file\":\"/var/www/html/core/Command/Upgrade.php\",\"line\":222,\"function\":\"upgrade\",\"class\":\"OC\\\\Updater\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Command/Command.php\",\"line\":298,\"function\":\"execute\",\"class\":\"OC\\\\Core\\\\Command\\\\Upgrade\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":1040,\"function\":\"run\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Command\\\\Command\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":301,\"function\":\"doRunCommand\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"OC\\\\Core\\\\Command\\\\Upgrade\"],[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/console/Application.php\",\"line\":171,\"function\":\"doRun\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/lib/private/Console/Application.php\",\"line\":213,\"function\":\"run\",\"class\":\"Symfony\\\\Component\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[[\"Symfony\\\\Component\\\\Console\\\\Input\\\\ArgvInput\"],[\"Symfony\\\\Component\\\\Console\\\\Output\\\\ConsoleOutput\"]]},{\"file\":\"/var/www/html/console.php\",\"line\":100,\"function\":\"run\",\"class\":\"OC\\\\Console\\\\Application\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/occ\",\"line\":11,\"args\":[\"/var/www/html/console.php\"],\"function\":\"require_once\"}],\"File\":\"/var/www/html/lib/private/Updater.php\",\"Line\":245,\"message\":\"Updates between multiple major versions and downgrades are unsupported.\",\"exception\":{},\"CustomMessage\":\"Updates between multiple major versions and downgrades are unsupported.\"}","userAgent":"--","version":""}
2024-11-26T14:12:52+00:00 Exception: Updates between multiple major versions and downgrades are unsupported.
[nextcloud][updater][3] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":3,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::failure: Exception: Updates between multiple major versions and downgrades are unsupported.","userAgent":"--","version":"","data":{"app":"updater"}}
2024-11-26T14:12:52+00:00 Update failed
[nextcloud][updater][3] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":3,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::updateEnd: Update failed","userAgent":"--","version":"","data":{"app":"updater"}}
2024-11-26T14:12:52+00:00 Maintenance mode is kept active
[nextcloud][updater][1] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":1,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::maintenanceActive: Maintenance mode is kept active","userAgent":"--","version":"","data":{"app":"updater"}}
2024-11-26T14:12:52+00:00 Resetting log level
[nextcloud][updater][1] {"reqId":"vcT0n0rq2RpvUw8TpSjF","level":1,"time":"2024-11-26T14:12:52+00:00","remoteAddr":"","user":"--","app":"updater","method":"","url":"--","message":"\\OC\\Updater::resetLogLevel: Reset log level to Warning(2)","userAgent":"--","version":"","data":{"app":"updater"}}

This looks like a problem:

/var/www/html/config $ grep version config.php
  'version' => '',

…and if I’m not mistaken, it would explain why it’s starting upgrade from to 28.0.9.1–why the “from” version is blank. Leaving aside the question of why version is set to the null string (it wasn’t in my NS7 system), I’m sure I can figure out vi well enough to edit that. But to what? I’d guess 27.1.11.3, which was the version under NS7.

OK, edited config.php to set the version to 27.1.11.3 and ran the upgrade again. Apparent success, but the output is too long to post. Left the system in maintenance mode, so disabled that.

Browsing to the install gives me a login page, but when I enter credentials, I get this:

Looks like an issue connecting to the LDAP server?

2024-11-26T10:08:47-05:00 [1:nextcloud1:nextcloud-app] NOTICE: PHP message: [nextcloud][no app in context][3] {"reqId":"JC2znR3iToXUd220sNlQ","level":3,"time":"2024-11-26T15:08:47+00:00","remoteAddr":"192.35.48.169","user":"--","app":"no app in context","method":"POST","url":"/login","message":"{\"Exception\":\"OC\\\\ServerNotAvailableException\",\"Message\":\"Lost connection to LDAP server.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":420,\"function\":\"processLDAPError\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\",-1,\"Can't contact LDAP server\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":309,\"function\":\"postFunctionCall\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":67,\"function\":\"invokeLDAPMethod\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":719,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":632,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":240,\"function\":\"establishConnection\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":248,\"function\":\"init\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1112,\"function\":\"getConnectionResource\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1294,\"function\":\"executeSearch\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],500,0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":979,\"function\":\"search\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":871,\"function\":\"searchUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":851,\"function\":\"fetchListOfUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":156,\"function\":\"fetchUsersByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":119,\"function\":\"getLDAPUserByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":116,\"function\":\"call_user_func_array\",\"args\":[[[\"OCA\\\\User_LDAP\\\\User_LDAP\"],\"loginName2UserName\"],[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Proxy.php\",\"line\":140,\"function\":\"walkBackends\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":276,\"function\":\"handleRequest\",\"class\":\"OCA\\\\User_LDAP\\\\Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Helper.php\",\"line\":297,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/legacy/OC_Hook.php\",\"line\":105,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\Helper\",\"type\":\"::\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/public/Util.php\",\"line\":416,\"function\":\"emit\",\"class\":\"OC_Hook\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/ComplianceService.php\",\"line\":92,\"function\":\"emitHook\",\"class\":\"OCP\\\\Util\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/Listener/BeforeUserLoggedInEventListener.php\",\"line\":45,\"function\":\"entryControl\",\"class\":\"OCA\\\\Password_Policy\\\\ComplianceService\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php\",\"line\":86,\"function\":\"handle\",\"class\":\"OCA\\\\Password_Policy\\\\Listener\\\\BeforeUserLoggedInEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":230,\"function\":\"__invoke\",\"class\":\"OC\\\\EventDispatcher\\\\ServiceEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":59,\"function\":\"callListeners\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[[\"Closure\"]],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":94,\"function\":\"dispatch\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":106,\"function\":\"dispatch\",\"class\":\"OC\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www...
2024-11-26T10:08:47-05:00 [1:nextcloud1:nextcloud-app] NOTICE: PHP message: [nextcloud][index][3] {"reqId":"JC2znR3iToXUd220sNlQ","level":3,"time":"2024-11-26T15:08:47+00:00","remoteAddr":"192.35.48.169","user":"--","app":"index","method":"POST","url":"/login","message":"{\"Exception\":\"OC\\\\ServerNotAvailableException\",\"Message\":\"Lost connection to LDAP server.\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":420,\"function\":\"processLDAPError\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\",-1,\"Can't contact LDAP server\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":309,\"function\":\"postFunctionCall\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/LDAP.php\",\"line\":67,\"function\":\"invokeLDAPMethod\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":719,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":632,\"function\":\"bind\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":240,\"function\":\"establishConnection\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Connection.php\",\"line\":248,\"function\":\"init\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1112,\"function\":\"getConnectionResource\",\"class\":\"OCA\\\\User_LDAP\\\\Connection\",\"type\":\"->\",\"args\":[]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":1294,\"function\":\"executeSearch\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],500,0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":979,\"function\":\"search\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",\"ou=People,dc=directory,dc=nh\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",0]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":871,\"function\":\"searchUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"],\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Access.php\",\"line\":851,\"function\":\"fetchListOfUsers\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"(&(|(objectclass=inetOrgPerson))(|(uid=admin)(|(mail=admin))))\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":156,\"function\":\"fetchUsersByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\Access\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",[\"entryuuid\",\"nsuniqueid\",\"objectguid\",\"guid\",\"ipauniqueid\",\"And 8 more entries, set log level to debug to see all entries\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_LDAP.php\",\"line\":119,\"function\":\"getLDAPUserByLoginName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_LDAP\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":116,\"function\":\"call_user_func_array\",\"args\":[[[\"OCA\\\\User_LDAP\\\\User_LDAP\"],\"loginName2UserName\"],[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Proxy.php\",\"line\":140,\"function\":\"walkBackends\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/User_Proxy.php\",\"line\":276,\"function\":\"handleRequest\",\"class\":\"OCA\\\\User_LDAP\\\\Proxy\",\"type\":\"->\",\"args\":[\"LOGINNAME,admin\",\"loginName2UserName\",[\"*** sensitive parameters replaced ***\"]]},{\"file\":\"/var/www/html/apps/user_ldap/lib/Helper.php\",\"line\":297,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\User_Proxy\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/legacy/OC_Hook.php\",\"line\":105,\"function\":\"loginName2UserName\",\"class\":\"OCA\\\\User_LDAP\\\\Helper\",\"type\":\"::\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/public/Util.php\",\"line\":416,\"function\":\"emit\",\"class\":\"OC_Hook\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/ComplianceService.php\",\"line\":92,\"function\":\"emitHook\",\"class\":\"OCP\\\\Util\",\"type\":\"::\",\"args\":[\"\\\\OCA\\\\Files_Sharing\\\\API\\\\Server2Server\",\"preLoginNameUsedAsUserName\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/apps/password_policy/lib/Listener/BeforeUserLoggedInEventListener.php\",\"line\":45,\"function\":\"entryControl\",\"class\":\"OCA\\\\Password_Policy\\\\ComplianceService\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\",\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php\",\"line\":86,\"function\":\"handle\",\"class\":\"OCA\\\\Password_Policy\\\\Listener\\\\BeforeUserLoggedInEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":230,\"function\":\"__invoke\",\"class\":\"OC\\\\EventDispatcher\\\\ServiceEventListener\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\"]]},{\"file\":\"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php\",\"line\":59,\"function\":\"callListeners\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[[\"Closure\"]],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":94,\"function\":\"dispatch\",\"class\":\"Symfony\\\\Component\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"],\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]},{\"file\":\"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php\",\"line\":106,\"function\":\"dispatch\",\"class\":\"OC\\\\EventDispatcher\\\\EventDispatcher\",\"type\":\"->\",\"args\":[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\",[\"OCP\\\\User\\\\Events\\\\BeforeUserLoggedInEvent\"]]},{\"file\":\"/var/www/html/lib/private/Server...

Re-saving the app settings for Nextcloud appears to have solved this such that I’m able to log in.

3 Likes

I’m glad to hear you resolved the issue.

This was a known bug that has been fixed and released on October 23. It seems your system didn’t receive the fix in time. Please check your core version number—if the version is earlier than 3.1.3, this would explain the behavior.

Is there a way to do that through the web interface?

There was a Core update yesterday that I installed. At that time, Nextcloud had not been updated. This morning, it had.

Yes, you find it here Software center — NS8 documentation

Current version is 3.2.3.

So if an update is missed/not installed/overlooked, there is no mechanism that warns the user that any furhter actions will severely cipple the system?

It seems to me that a univeristy degree is required to keep a migrated NS7 to NS8 and, hopefully on success, keep it alive?

Where did the fun go?

That’s not what happened in my case, though I’m far from clear what did happen. If the automatic update had pushed Nextcloud to 29, I would have been in trouble, because you can’t upgrade more than one major version at a time, but that isn’t what happened (and I expect that’s why NS8 is still stuck on Nextcloud 28).

I presume, and expect, that future Nextcloud upgrades will run smoothly without my needing to invoke the unholy name of vi.

I have a couple of those and am working on a third, but I don’t think they’re helping. But in my case:

  • Mail: migrated without issue
  • Roundcube: migrated without issue
  • SOGo: migrated without issue
  • Local OpenLDAP account provider: migrated without issue
  • Nextcloud: Not so much, but now fixed with no loss of data. It’s still two major releases behind current, but it’s working

It’s kind of frustrating, though, that “web server” (which has been part of the core system at least back to the e-smith 3.x days) is still in beta, 9 months after NS8’s release, and the only migration path is 100% manual.

I’m not sure what the complaint is here. Apps update through the software center. The underlying OS is up to you–both EL and Debian have well-documented mechanisms to install software updates automatically, or you can enable/install Cockpit to get a GUI for that. Or you can pay 120€/yr for a subscription, if you’re on Rocky Linux, which will handle OS updates for you (as well as app updates) automatically.

I naively enabled a trial subscription on this system, which resulted in Nextcloud updating itself when I really didn’t want it to. But no harm done.

What does “fun” have to do with anything? “Fun” isn’t why I use NS (and used SME/e-smith); I use it because it makes it easy (and, I believe/hope, secure) for me to host my own web and mail services.

NS8 is a definite shift in mindset from NS7 and before–but we weren’t born knowing how to do expand-template/signal-event either.

Nuff said…