Skip to content

How to Update Nextcloud All-in-One and Its Apps

Nextcloud All-in-One (AIO) updates itself from its own web interface: you stop the containers, take a backup, then select Start and update containers. This guide is for administrators of an AIO instance on a Linux Docker host, with access to the AIO interface and to the host. It covers the update itself, updating Nextcloud apps afterwards, and the checks that show the update has worked.

Last reviewed: 13 October 2026, against the current Nextcloud All-in-One release. This guide is written for Noiz hosting and is kept current against Nextcloud AIO. It complements, and does not replace, the official Nextcloud AIO and Nextcloud documentation linked below.

AIO sends a Container updates available! notification to Nextcloud administrators on Saturdays when new containers are published. If the Nextcloud image is more than 90 days old, it sends an AIO is outdated! notification every day. Update at least every three months so that the instance receives security fixes.

AIO waits for the first patch release of a new major Nextcloud version, and for important apps to become compatible, before offering it. An update can therefore reach AIO about two weeks after the upstream Nextcloud release.

Plan a maintenance window and tell your users: Nextcloud is unavailable while the containers are stopped.

Run these on the Docker host before you start, and save the output for comparison afterwards. They use the standard AIO container names:

Terminal window
sudo docker ps -a --format '{{.Names}}\t{{.Status}}\t{{.Image}}'
sudo docker exec --user www-data nextcloud-aio-nextcloud php /var/www/html/occ status
sudo docker exec --user www-data nextcloud-aio-nextcloud php /var/www/html/occ app:list
sudo docker exec --user www-data nextcloud-aio-nextcloud php /var/www/html/occ app:update --showonly

The OCC guide explains why occ runs as www-data.

  1. Open the AIO interface at https://<server-ip>:8080. Use the server’s IP address, not the domain name (see why in the install guide).
  2. Select Stop containers.
  3. In the backup section, select Create Backup and wait for it to finish successfully.
  4. If AIO shows a mastercontainer update below Stop containers, open the changelog, then select the button to update the mastercontainer. Wait for the interface to return.
  5. Select Start and update containers.

The mastercontainer has its own update step. Updating it does not update the other containers, so always finish with Start and update containers.

Keep updates inside AIO. Do not use Nextcloud’s own web updater, and do not replace AIO’s containers with a generic container updater: AIO manages its containers and expects to be the only thing that changes them.

When the Nextcloud container starts, AIO also updates the apps it manages, such as Notify Push and, when enabled, the Office and Talk apps. A plain restart of the containers can therefore change app versions, so have a backup before restarting too.

To run updates unattended, enable daily backups in the AIO interface once the first backup has succeeded. AIO then offers an option to update all containers, Nextcloud and its apps automatically after each successful daily backup. This is the simplest supported route, because every automatic update follows a fresh backup.

If you back up with your own external backup system instead, AIO’s script helper can run the update on its own. This command does not take a backup, so run it only after your own backup has completed:

Terminal window
sudo docker exec --env AUTOMATIC_UPDATES=1 nextcloud-aio-mastercontainer /daily-backup.sh

The helper does not return meaningful exit codes, and it stops when it replaces the mastercontainer. Wait for the new mastercontainer to start, run the same command again to finish the other containers, then confirm the result with the checks in Step 4. The AIO documentation gives a ready-made script that waits and repeats the command. Run one maintenance operation at a time.

Wait for AIO to show every container as running, then repeat app:list and app:update --showonly. If an app you use still has a compatible update, update it from the Apps page in Nextcloud or with:

Terminal window
sudo docker exec --user www-data nextcloud-aio-nextcloud php /var/www/html/occ app:update your-app-id

Replace your-app-id with the app’s identifier from app:list. Use the occ app commands for your installed Nextcloud release.

If an app will not enable after the update, check the logs and the app’s compatibility. Do not force it on or edit its compatibility information. If the update leaves Nextcloud in maintenance mode or reports a failed migration, read the logs and fix that first, before updating more apps or turning maintenance mode off.

Repeat the commands from Step 1 and check recent logs with sudo docker logs --tail 50 nextcloud-aio-mastercontainer.

Check What you should see
Containers docker ps shows every nextcloud-aio-* container as Up and, once settled, (healthy).
Nextcloud core occ status shows the new version, installed: true, maintenance: false and needsDbUpgrade: false.
Apps The apps you rely on are enabled, and any remaining update notices are understood.
Public access Your Nextcloud address loads the login page over HTTPS.
User functions A test user can upload, download and sync a file. Test Office editing, Talk and search if you use them.

Then run Nextcloud’s core integrity check:

Terminal window
sudo docker exec --user www-data nextcloud-aio-nextcloud php /var/www/html/occ integrity:check-core

If it reports unexpected files or signature errors, find out why before changing anything.

Healthy containers alone do not show that files and apps work, so always finish with the test-user checks. After a host reboot, check again. If the containers stay stopped, select Start containers in the AIO interface, once you are sure no backup, restore or update is still running. For operating-system upgrades on the host, see Safely Upgrade an Ubuntu Server Release over SSH.

  1. Save the logs (docker logs for the mastercontainer and nextcloud-aio-nextcloud) and stop users making further changes.
  2. Work out whether the failure is in startup, in an optional app or in a database migration. If only one optional app fails, disabling that app may restore service without a full restore.
  3. If you need to restore, use AIO’s Restore selected backup with the backup you took in Step 2. Running an older container image does not undo database or app migrations.
  4. Before restoring, note any files users changed after the backup: the restore overwrites or removes them.

If Noiz manages your Nextcloud service, open a support ticket via the client area at www.noiz.co.za with the time of the update, what you saw, and the output of docker ps -a. Do not include passwords, encryption keys or user files.

[noiz] | disrupt the signal