Every time it's basically:
mv nextcloud nextcloud.r19
mkdir nextcloud && pushd nextcloud && tar -zxf ../nextcloud-r20.tgz
cp nextcloud.r19/config/config.php nextcloud/config/config.php
# set permissions
sudo -u php php occ upgrade
Then just log into the web UI and check everything's still sane and follow any upgrade suggestions it has (frequently to run commands to add columns/indexes to the database).The instructions they provide for a manual upgrade have never failed for me: https://docs.nextcloud.com/server/latest/admin_manual/mainte...
As far as software that needs upgrades, NextCloud has definitely been one of the least annoying things I have to deal with.
I don't know why they go about it in such a manual way. If you don't like the web installer, there's a command line version that does everything for you (upgrader.phar).
Because I don't generally give the code permission to modify itself. Principle of least privilege and all that.
Outside of this one specific situation (upgrades) it's not needed, the rest of the time it's just one more layer of security in the way of various forms of exploit. (Maybe it's just trauma from dealing with the 8,000 forms of wordpress exploits back in the day and dealing with finding half of wordpress having random code added to it to persist exploits/randomly redirect people to scam sites/etc)
In the end it adds like 5 minutes of inconvenience to my upgrade process.
In their defense, the software has grown a lot and does a lot more things nowadays, it's understandable that the upgrade process takes more.
Ah, that might be it.
IIRC there's a database entry for each file, if you've got a lot of files it might take a while since on upgrade it also run database migrations to adapt to the new schema, that might take a while.
I stay on the stable channel, and I get a notification if an app or nextcloud itself has an upgrade. The biggest issue is that the "Security & setup warnings" sometimes tells me I need to upgrade my database (and gives me the exact commands to do it) after an upgrade.
I will note that the upgrade has taken longer over the years (it used to take 5 minutes, now it can take over 30 minutes), and I think there is an issue with the backing up stage.