How to manually update an app

Is it possible to update an app using a tar.gz release file from an app’s GitHub?

In this topic I read that you can download the tar.gz to your apps (or custom_apps) folder, remove the ‘old’ folder of the app and extract the downloaded tar.gz in order to update an app. I tried this, but the app didn’t update.

Am I doing something wrong :slight_smile: ?

Hi,

I think you should run php occ upgrade command after.

@Thom1 Thanks for your reply! I tried it, but it didn’t work. I also tried occ app:update <app-id>, but nothing happened either. Any other ideas? Maybe it is not possible :slight_smile:?

Am I doing something wrong :slight_smile: ?
Most likely yes, because otherwise it would have worked :wink:

These are the steps to update/install an app manually:

  1. Navigate to the apps folder in the Nextcloud document root folder, e.g.:
     cd <path-to nextcloud-document-root>/apps
     pwd
    
  2. Delete the old app folder of the app you want to update:
    rm -rf ./<app-to-remove>
    
  3. Extract the new app to the apps directory:
    tar xvzf <app-archive>.tar.gz -C <path-to nextcloud-document-root>/apps
    ls -ald <installed-app-folder>
    
  4. change the app folder ownership and access rights:
    find ./<installed-app-folder> -type d -exec chmod 0750 {} \;
    find ./<installed-app-folder> -type f -exec chmod 0640 {} \;
    chown <web-server-user>: ./<installed-app-folder>
    
  5. Enable the app if not already done:
    sudo <web-server-user> php <path-to nextcloud-document-root>/occ app:enable <updated-app-name>
    
  6. Force an update of the app information in the Nextcloud database:
    sudo <web-server-user> php <path-to nextcloud-document-root>/occ app:update <updated-app-name>
    

Thanks for your reply! I tried it, but it didn’t work.

If this doesn’t work, please describe IN DETAIL all steps you’ve done and provide screenshots of each command result .

2 Likes

files should be set to 0640:

1 Like

Thanks for your replies @j-ed and @amarillo!

I followed your steps but the app, news, still isn’t updated. Here are my steps:

  • Removed nextcloud/html/custom_apps/news
  • cd to the custom_apps folder and sudo -u www-data wget https://github.com/nextcloud/news/releases/download/15.0.5/news.tar.gz
  • Extract sudo -u www-data tar xvzf news.tar.gz
  • sudo -u www-data find ./news -type d -exec chmod 0750 {} \;
  • sudo -u www-data find ./news -type f -exec chmod 0640 {} \;
  • sudo chown www-data: ./news
  • app is enabled according to ./occ app:enable news
  • run update ./occ app:update news, there is no output after running this

I then check the version of the news app via the Apps page on my Nextcloud website and it still shows 15.0.4 instead of 15.0.5.

I also tried this in the apps folder instead of the custom_apps folder, but that also doesn’t work.

Any ideas on what I am doing wrong? Thanks in advance :grinning:!

I don’t know if you did something wrong, but the developer could have done.
If you check the news app in the app store, you will see that a version 15.0.4 is being available for Nextcloud 20. The link to the archive file contains the version number 15.0.5. If you download this archive file and check its content, especially the version number in news/appinfo/info.xml you will see the version number is still “15.0.4” :wink:

grafik

2 Likes

Thanks for diving into this @j-ed! I changed the version number in news/appinfo/info.xml to 15.0.5, it seems they simply forgot to change it. I then ran /occ app:update news again which now gave me a message:

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

I then went to the browser and indeed saw a request to run an upgrade for news, which I did and now news is successfully updated (though the logo of news is somehow missing in the navbar and apps listing XD).

i needed to do some modifications to get this to work.

Delete the old app from <path-to nextcloud-document-root>/apps/<app-name>
Download the app archive
Extract the app archive
mv the app archive to <path-to nextcloud-document-root>/apps/

sudo find <path-to nextcloud-document-root>/apps/<app-name> -type d -exec chmod 0750 {} \;
sudo find <path-to nextcloud-document-root>/apps/<app-name> -type f -exec chmod 0640 {} \;
sudo chown -R www-data: <path-to nextcloud-document-root>/apps/<app-name>
sudo -u www-data php <path-to nextcloud-document-root>/occ app:enable <app-name>

This is only needed if you want to update to the newest version:
sudo -u www-data php <path-to nextcloud-document-root>/occ app:update <app-name>

Here is a more detailed description: https://www.v0idkr4ft.com/manual-install-of-a-nextcloud-app/