No matter how I upgrade Nextcloud breaks

You have:

yum downgrade is to downgrade to an older version of an rpm package. In your case the package version is newer so it would rather be an update.

When running yum update without specifying the package version it installs the latest one available.

Nextcloud version is not inferred from the package version (which often are different).
The relation of nextcloud version and rpm packages can be found in the changelog (or with yum changelog command if yum-plugin-changelog is installed).

EDIT:
Your nextcloud upgrade path could be:
nethserver-nextcloud 1.8.4-1 (Nextcloud 17.0.2)
nethserver-nextcloud 1.10.1-1 (Nextcloud 18.0.4)
nethserver-nextcloud 1.14.2-1 (Nextcloud 19.0.3)
nethserver-nextcloud 1.16.5-1 (Nextcloud 20.0.7)

For instance (check nextcloud is working after each step):

# update to nextcloud 17.0.2
yum update nethserver-nextcloud-1.8.4-1.ns7

# update to nextcloud 18.0.4
yum install http://packages.nethserver.org/nethserver/7.8.2003/updates/x86_64/Packages/nethserver-nextcloud-1.10.1-1.ns7.noarch.rpm

#update to nextcloud 19.0.3
yum install http://packages.nethserver.org/nethserver/7.8.2003/updates/x86_64/Packages/nethserver-nextcloud-1.14.2-1.ns7.noarch.rpm

Then the normal upgrade procedure shall work fine, or follow example from a similar case: Problem updating NethServer 7.7.1908 - #4 by dnutan

Nethserver upgrade can take a long time. Better to run it on a screen, tmux session or similar.

# Upgrades across multiple NethServer versions is not a tested procedure.
yum install -y http://mirror.nethserver.org/nethserver/nethserver-release-7.rpm
signal-event software-repos-save
yum update

From Nextcloud amdin panel you will be informed if it is recommended to issue some other occ command to update the database. E.g.
sudo -u apache scl enable rh-php73 -- php -dmemory_limit=512M /usr/share/nextcloud/occ db:add-missing-columns

1 Like