Upgrade error to 14 (docker image)

I get the following error when trying to upgrade to 14 from 13.0.6:

docker-compose exec --user www-data app php occ upgrade

An unhandled exception has been thrown:
OCP\AppFramework\QueryException: Could not resolve OC\MemoryInfo! Class OC\MemoryInfo does not exist in /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php:103
Stack trace:
#0 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(118): OC\AppFramework\Utility\SimpleContainer->resolve(‘OC\MemoryInfo’)
#1 /var/www/html/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query(‘OC\MemoryInfo’)
#2 /var/www/html/console.php(93): OC\ServerContainer->query(‘OC\MemoryInfo’)
#3 /var/www/html/occ(11): require_once(’/var/www/html/c…’)

Is not the right way to upgrade a nextcloud docker instance. You need to pull the new image from the repo, as per the doc here in chapter “Update to a newer version” : https://docs.docker.com/samples/library/nextcloud/

Sure I did:

docker-compose stop
docker-compose build --pull
docker-compose up -d
docker-compose exec --user www-data app php occ upgrade

and then got the error

I’m not sure you need to run the occ upgrade command afterwards. Usually you just access nextcloud with you webbrowser and it will offer you to migrate.

EDIT
I cannot help you on this error though, sorry. I admit it is not normal … Double check logs of each of your stack’s containers.

Hey mate,

I’ve encountered similar (literally same) issue.
It’s just -v /your/directory/nextcloud:/var/www/html blocking the change of content/libs.

docker run --name nextcloud -v /my/folder/nextcloud/config:/var/www/html/config -v /my/folder/nextcloud/data:/var/www/html/data --link mariadb:mysql --restart always -p 8080:80 -d nextcloud

/your/directory/nextcloud:/var/www/html -> /your/folder/nextcloud/config:/var/www/html/config /your/folder/nextcloud/data:/var/www/html/data

upgrade manually failed from 13.06 .

@foxie: Thanks a lot for the hint.

It makes sense, I have the nextcloud code in my html folder so in order to get the new version docker-compose build --pull is not enough.

I used a slight different approach I downloaded the nextcloud package, unpacked the zip and copied it into the html dir:
docker-compose stop

cp -R nextcloud/* /var/lib/docker/volumes/docker_nextcloud/_data/

docker-compose up -d
docker-compose exec app chown -R www-data:www-data /var/www/html/
docker-compose exec app find /var/www/html/ -type d -exec chmod 750 {} ;
docker-compose exec app find /var/www/html/ -type f -exec chmod 640 {} ;
docker-compose exec --user www-data app php -d memory_limit=2048M occ db:add-missing-indice
docker-compose exec --user www-data app php occ upgrade
docker-compose exec --user www-data app php -d memory_limit=2048M occ db:convert-filecache-bigint
docker-compose stop
docker-compose up -d
docker-compose exec --user www-data app php occ files:scan --all

Now it works, I just have integrity check errors.

  • Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation.

  • The “Referrer-Policy” HTTP header is not set to “no-referrer”, “no-referrer-when-downgrade”, “strict-origin” or “strict-origin-when-cross-origin”. This can leak referer information. See the W3C Recommendation :arrow_upper_right:.


@Bodo_Naumann
add ‘integrity.check.disabled’ => true, in your config.php and rescan

cool, thanks for the hint