I run my own Nextcloud server, and every other week there's an update to the server, or one of the plugins I've enabled. The following steps enable automatic updates to the Nextcloud server.
This assumes Nextcloud is installed under /var/www/nextcloud
:
Add a scheduled task as the webserver user:
$ sudo -u www-data crontab -e
Add the following line to run the upgrade script once a day at 4:05am. Instead of running the upgrade process directly we run a script so that we can also run it from the shell if needed:
5 4 * * * cd /var/www/nextcloud && ./upgrade.sh
Now create the script and make it executable:
$ cd /var/www/nextcloud
$ nano upgrade.sh && sudo chmod +x upgrade.sh
The script itself runs the server updater, the no-interaction argument prevents prompting for questions, followed by the occ utility to update all installed apps.
pushd $(dirname $0)/updater
/usr/bin/php updater.phar --no-interaction
cd ..; ./occ app:update --all
popd