Appstore disappeared after update

Nextcloud version (eg, 20.0.5): 22.1.1.2
Operating system and version (eg, Ubuntu 20.04): Raspberry Pi OS (Buster 10.10)
Docker image: 22-apache
Apache version: 2.4.48 (in docker image)
PHP version (eg, 7.4): 8.0.10 (in docker image)
Behind a Nging proxy using nginxproxymanager

The issue you are facing:

After upgrading Nextcloud using Docker, the appstore disappeared from the App page. I only have native applications, and can’t see additional applications I already installed in the past. I can’t see application categories either.

I read lots of posts about this issue, but nothing applies to my situation because:

  • http://apps.nextcloud.com/ is online
  • I did not set the variables appstoreenable or appstoreurl
  • The Nextcloud container has access to the Internet
  • I already cleared caches thanks to occ maintenance:repair
  • There is not any log about this in nextcloud.log, even with loglevel set to 0.

I tried to clean all the installation files of Nextcloud by removing the Docker volume, and have a clean install when restarting the container (all but data/ which is an external volume I never delete obviously).

I tried to remove data/appdata_xxxxxxxxx/ directory (I made a backup) to start Nextcloud without this directory.

Nothing worked so far :sob:

I really don’t know what to do now… And what bothers me is that I don’t have any error log.

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

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php                                                                                                                                                                    
$CONFIG = array (                                                                                                                                                        
  'instanceid' => '<hidden>',                                                                                                                                        
  'passwordsalt' => '<hidden>',                                                                                                                    
  'secret' => '<hidden>',                                                                                                        
  'trusted_domains' =>                                                                                                                                                   
  array (                                                                                                                                                                
  <hidden>
  ),                                                                                                                                                                     
  'default_phone_region' => 'FR',                                                                                                                                        
  'datadirectory' => '/var/www/html/data',                                                                                                                               
  'dbtype' => 'mysql',                                                                                                                                                   
  'version' => '22.1.1.2',                                                                                                                                               
  'installed' => true,                                                                                                                                                   
  'maintenance' => false,                                                                                                                                                
  'theme' => '',                                                                                                                                                         
  'loglevel' => 0,                                                                                                                                                       
  'log_type' => 'file',                                                                                                                                                  
  'mail_smtpmode' => 'smtp',                                                                                                                                             
  'mail_smtpsecure' => 'ssl',
  'mail_sendmailmode' => 'smtp',
  'mail_from_address' => 'cloud',
  'mail_domain' => '<hidden>',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => '<hidden>',
  'mail_smtpport' => '465',
  'mail_smtpname' => '<hidden>',
  'mail_smtppassword' => '<hidden>',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'twofactor_enforced' => 'false',
  'twofactor_enforced_groups' => 
  array (
  ),
  'twofactor_enforced_excluded_groups' => 
  array (
  ),
  'updater.secret' => '<hidden>',
  'dbname' => '<hidden>',
  'dbhost' => '<hidden>',
  'dbuser' => '<hidden>',
  'dbpassword' => '<hidden>',
  'mysql.utf8mb4' => true,
  'overwrite.cli.url' => '<hidden>',
  'overwriteprotocol' => 'https',
  'trashbin_retention_obligation' => 'auto, 90',
  'music.lastfm_api_key' => '<hidden>',
  'app_install_overwrite' => 
  array (
    0 => 'music',
  ),
  'trusted_proxies' =>
  array (
    0 => 'nging-proxy-manager-app',
    1 => '172.23.0.0/16',
  ),
);

The output of your Apache/nginx/system log in /var/log/____:

in my Docker container, I don’t have any log of apache, I don’t know why…

I found out the solution :partying_face:, and it was weird enough to take the time to explain it here.

I tried to explore everything related to apps. And when I ran occ config:list, I found the following item:

        "settings": {                                                                                                                                                    
            "appstore-fetcher-lastFailure": "1870178816",                                                                                                                
            "enabled": "yes",                                                                                                                                            
            "installed_version": "1.3.0",                                                                                                                                
            "types": ""                                                                                                                                                  
        },                                                                                                                                                               

I noticed that 1870178816 was a timestamp far away in the future. I had some past issues with time in Docker container, so maybe it came from here.

I did not know how this variable was used, but it was worth the try fixing this value. I set it to a timestamp in the past:

occ config:app:set --value 1631252302 --update-only settings appstore-fetcher-lastFailure

I restarted the server (just in case…), and it worked!

I had the appstore back.