I am running Nextcloud in a docker container, was on v29 but have just upgraded to the latest image on dockerhub (except it’s been updated yet again since I started this!). Also, it’s behind an nginx proxy, in case that’s an issue. Nevertheless, here is what I know:
Docker version: 27.2.1, build 9e34c9b
Docker image: "Created": "2024-09-27T03:21:15.238539109Z"
Nextcloud version (eg, 29.0.5): 30.0.0.14
I’ve turned off my adblocker, and browser extensions.
The issue you are facing:
When I go to the apps/Discover page, I get “Nothing to show”, “Could not load section content from app store”. I also see in the log:
{
"reqId": "Py3wVUuNs9E6bZAevVIa",
"level": 2,
"time": "2024-09-27T09:45:58+00:00",
"remoteAddr": "192.168.1.61",
"user": "John",
"app": "appstoreFetcher",
"method": "GET",
"url": "/settings/apps",
"message": "Could not get apps from the appstore",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
"version": "30.0.0.14",
"data": {
"app": "appstoreFetcher"
},
"id": "66f67ee99c83a"
}
And if I try to install an app manually:
$ docker exec --user www-data nextcloud php occ app:install notes
Error: Could not download app notes
Is this the first time you’ve seen this error? (Y/N): It wasn’t working in 29 either, which is why I upgraded.
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'instanceid' => 'ocrezcpmtdoe',
'passwordsalt' => '<hidden>',
'secret' => '<hidden>',
'trusted_domains' =>
array (
0 => '192.168.1.10:8080',
1 => 'nextcloud.mydoma.in',
),
'datadirectory' => '/var/www/html/data',
'dbtype' => 'mysql',
'version' => '30.0.0.14',
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'http://192.168.1.10:8080',
'dbname' => 'nextcloud',
'dbhost' => 'db',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => '<hidden>',
'installed' => true,
'maintenance' => false,
'loglevel' => 2,
'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v1/',
);
Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.
{"reqId":"dUqfC1GUaQJLWixDhJXw","level":3,"time":"2024-09-27T09:46:35+00:00","remoteAddr":"192.168.1.61","user":"John","app":"no app in context","method":"GET","url":"/settings/apps","message":"Failed to connect to the app store","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36","version":"30.0.0.14","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Connection timed out after 60000 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://www.orcy.net/ncapps/v1//apps.json","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":146,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":205,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","https://www.orcy.net/ncapps/v1//apps.json",["/var/www/html/resources/config/ca-bundle.crt",60,[["Closure"]],[false],["Nextcloud Server Crawler","gzip"],"And 1 more entries, set log level to debug to see all entries"]]},{"file":"/var/www/html/lib/private/App/AppStore/Fetcher/Fetcher.php","line":87,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["https://www.orcy.net/ncapps/v1//apps.json",[60]]},{"file":"/var/www/html/lib/private/App/AppStore/Fetcher/AppFetcher.php","line":54,"function":"fetch","class":"OC\\App\\AppStore\\Fetcher\\Fetcher","type":"->","args":["",""]},{"file":"/var/www/html/lib/private/App/AppStore/Fetcher/Fetcher.php","line":164,"function":"fetch","class":"OC\\App\\AppStore\\Fetcher\\AppFetcher","type":"->","args":["","",false]},{"file":"/var/www/html/lib/private/App/AppStore/Fetcher/AppFetcher.php","line":155,"function":"get","class":"OC\\App\\AppStore\\Fetcher\\Fetcher","type":"->","args":[false]},{"file":"/var/www/html/lib/private/Installer.php","line":381,"function":"get","class":"OC\\App\\AppStore\\Fetcher\\AppFetcher","type":"->","args":[false]},{"file":"/var/www/html/apps/settings/lib/Controller/AppSettingsController.php","line":192,"function":"isUpdateAvailable","class":"OC\\Installer","type":"->","args":["text"]},{"file":"/var/www/html/apps/settings/lib/Controller/AppSettingsController.php","line":89,"function":"getAppsWithUpdates","class":"OCA\\Settings\\Controller\\AppSettingsController","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":208,"function":"viewApps","class":"OCA\\Settings\\Controller\\AppSettingsController","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OCA\\Settings\\Controller\\AppSettingsController"],"viewApps"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OCA\\Settings\\Controller\\AppSettingsController"],"viewApps"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Settings\\Controller\\AppSettingsController","viewApps",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["","","settings.appsettings.viewapps"]]},{"file":"/var/www/html/lib/base.php","line":1001,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/settings/apps"]},{"file":"/var/www/html/index.php","line":24,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Failed to connect to the app store","exception":[],"CustomMessage":"Failed to connect to the app store"},"id":"66f68132482b9"}