The safe Nextcloud upgrade pattern is straightforward: identify how Nextcloud was installed, make and test a complete backup, disable incompatible third-party apps, upgrade one major release at a time, run database migrations, allow background jobs to finish, and verify the service before leaving maintenance mode. The detailed procedure below is for archive-based installations; Snap, Docker, virtual-machine images, and package-manager deployments must use their distribution’s own update process.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
Start by identifying your Nextcloud installation
Nextcloud does not have one universal update command. The correct procedure depends on how the server was deployed. An archive installation is the conventional extracted Nextcloud directory served by a web server, while other distributions package the application and its configuration differently. Mixing instructions can overwrite managed files, break upgrades, or leave the service in an inconsistent state.
As an Amazon Associate I earn from qualifying purchases.
| Installation type | Use for updates | Important boundary |
|---|---|---|
| Archive-based installation | Built-in web or command-line updater, or a manually downloaded Nextcloud archive | The workflow in this guide applies here |
| Snap | The Snap distribution’s own refresh/update mechanism | Do not apply archive paths or web-server-user commands blindly |
| Docker | Update the image and follow the container deployment’s migration procedure | Do not replace files inside a running container as if it were an archive install |
| Pre-built virtual machine | The appliance or image publisher’s documented update method | Snapshot and rollback behavior depend on that appliance |
| Package-manager deployment | The operating system or repository package instructions | Package ownership and service units may differ from an archive install |
If you do not know which type you have, inspect how Nextcloud is managed rather than guessing. A directory such as /var/www/nextcloud with files owned by the web-server account usually indicates an archive deployment, but the exact path and HTTP user vary. Administrators without root or shell access should ask their hosting provider which distribution is in use and whether the provider performs upgrades.
Check support, release notes, and compatibility before scheduling downtime
Read the Nextcloud Administration Manual’s critical changes for the target release before starting. Check PHP, database, operating-system, web-server, and app requirements against your server, and review any upgrade notes that affect storage, authentication, or background jobs. Third-party apps can impose stricter requirements than the Nextcloud core.
#1 Best Overall
- Your Personal Streaming Server - Build your own Netflix-style media library and stream 4K movies, shows and photos to any device without monthly fees
- Create Your Own Cloud - Store your entire photo, video and music collection; access from anywhere with fast 282 MB/s transfer speeds
- Creator-Grade Backup Solution - Protect your irreplaceable content with automated backups to cloud services, external drives and remote NAS
- Multi-Layered Data Protection - Combine RAID redundancy, automated backups and snapshot technology to prevent data loss from any cause
- Smart Home Surveillance - Support up to 30 IP cameras with AI detection, instant alerts and secure remote monitoring
Nextcloud publishes a major version approximately every four months and supports a major line for one year through monthly maintenance releases. The release schedule revised on October 6, 2026 lists versions 33, 34, and 35 as supported, with version 35 the latest line. Use the latest available maintenance release in the major line you are installing; do not target an early point release simply because it was the first release of that major version.
Plan enough downtime for file replacement, database migrations, and post-upgrade background work. A large instance, a slow database, or many enabled apps can make the migration phase substantially longer than the download itself. Notify users, pause automated clients if necessary, and ensure you have console access in case the browser updater times out.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Make a complete, restorable backup
Create a fresh backup before every upgrade step, including every point-release and every major-release transition. A backup is useful only if you can restore it, so verify that the files are readable, the database dump completes without errors, and the backup location has enough capacity. For a production service, keep a copy on separate storage from the Nextcloud host.
Back up all four required components
- Database: Dump the entire Nextcloud database, including schema, records, indexes, and permissions. Use the database engine’s consistent-dump procedure and retain the credentials needed for restoration.
- Data directory: Copy the complete directory containing user files, versions, trash, uploads, and application data. Preserve ownership, permissions, symbolic links, and extended attributes where your storage requires them.
- Configuration: Save
config/config.phpand any other configuration files used by the web server, PHP, reverse proxy, cron, object storage, or authentication integration. - Code tree: Preserve the current Nextcloud application directory, including custom themes and locally maintained files that are not part of the stock archive.
The built-in updater creates a limited code backup under /updater-INSTANCEID/backups/nextcloud-CURRENTVERSION/. That copy is useful for recovering replaced application files, but it does not include the database or the /data directory. It is therefore not a complete disaster-recovery backup.
Test the recovery plan
At minimum, validate the database dump by listing or checking it with the database tools, confirm that the data-directory copy contains representative user files, and record the exact Nextcloud version and PHP/database versions. For a high-value installation, restore the backup to an isolated server or virtual machine and confirm that users can log in and open files. Do not begin an upgrade if the only backup is an unverified copy on the same disk.
Review and disable third-party apps
Inventory every app that is not shipped as part of the Nextcloud core. For each one, check whether its release supports the target Nextcloud major version. An app that works on the current release can fail during a major upgrade because of changed APIs, database schemas, PHP requirements, or background jobs.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Disable third-party apps before replacing the code. The Administration settings page can disable apps individually; command-line administrators can use the occ app:disable command for the affected app IDs while running it as the web-server user. Record the enabled-app list so you can restore the intended state later. Do not re-enable an app merely because its files remain present: wait until the core migration succeeds and compatibility is confirmed.
Rank #2
- Secure private cloud - Enjoy 100% data ownership and multi-platform access from anywhere
- Easy sharing and syncing - Safely access and share files and media from anywhere, and keep clients, colleagues and collaborators on the same page
- Automated Backup Protection - Set-and-forget backups for Macs, PCs and mobile devices to multiple destinations including cloud and external drives
- Home Security System - Record and monitor your property 24/7 with support for multiple IP cameras and remote viewing
- 2-Year Warranty - Reliable hardware backed by Synology's expert customer support team and ongoing software updates
Upgrade through every major release in sequence
Nextcloud does not support skipping major releases. The Administration Manual states, “You cannot skip major releases.” If you are on an older release and want the current line, first move to the latest maintenance release of your present major version. Then upgrade to the latest maintenance release of the next major version. Repeat that pattern until you reach the desired line.
For example, an installation on major version 32 should first be brought to the latest 32.x maintenance release, then to the latest 33.x release, then 34.x, and finally 35.x if that is the target. Complete database migrations, app checks, background jobs, and verification after each major step. A point-release update within one major line is still a change that deserves a backup and verification, but it does not replace the required major-version sequence.
Understand maintenance mode and expected downtime
Maintenance mode prevents new logins and locks existing sessions while files and schemas are changed. Users normally see a maintenance notice, and WebDAV or synchronization clients may report temporary failures. The built-in updater enables maintenance mode automatically. For command-line administration in an archive installation, run this from the Nextcloud directory as the HTTP user:
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchessudo -E -u www-data php occ maintenance:mode --on
Replace www-data with the account that actually runs your web server and PHP. Keep an administrative shell open while the browser-based process runs. Do not repeatedly restart services or delete lock files simply because the maintenance page remains visible; first determine whether the updater or migration is still active.
Choose the web updater, command-line updater, or manual archive
| Option | Best for | Advantages | Limitations |
|---|---|---|---|
| Web updater | Administrators with a reliable browser session and modest upgrade duration | Guided checks for expected files and write permissions; accessible from Administration > Overview > Version | Web-server execution limits and proxy timeouts can interrupt a long operation |
| Command-line updater | Servers with shell access, long migrations, or repeatable operations | Less vulnerable to browser timeouts, supports batch operation, and makes it easy to run occ upgrade and inspect logs |
Requires shell access and correct web-server-user permissions |
| Manual archive upgrade | Administrators who need exact control over downloaded files and replacement timing | Full control of archive selection, staging, file ownership, and rollback preparation | More opportunities for missed files, incorrect permissions, or an incomplete replacement |
The web and command-line built-in updaters perform the same broad checks: they validate expected files and write permissions, enable maintenance mode, create the limited code backup, download and extract the selected archive, replace the old files, and put the new code in place. The command-line route is generally safer for lengthy operations because it is not tied to a browser request. A manual archive update should be used only when you understand the existing directory layout and have a tested backup.
Archive installation: the complete step-by-step workflow
1. Record the current state
Write down the current Nextcloud version, target version, PHP version, database engine and version, enabled apps, cron method, web-server user, application path, data-directory path, and available disk space. Capture the output of the Administration Overview checks and save relevant log files. This record makes it easier to identify what changed if a migration fails.
2. Create and verify the backup
Complete the database, data, configuration, and code backups described above. Confirm that the database dump can be read and that the backup storage is not mounted read-only. Keep the backup untouched until the upgraded server has passed login, file, app, and background-job checks.
Rank #3
- 【Advanced Home Data & Media Hub】For advanced home users who need phone backup, file storage, and centralized data management. Centralize family photos, 4K videos, movies, computer backups, and personal files in one place while running multiple apps for home entertainment and everyday data management. Suitable for households with growing digital libraries and multiple NAS use cases.
- 【Built for Creators, Media Servers & Advanced Apps】Powered by the Intel N100 Quad-Core CPU, 8GB DDR5 RAM, 2.5GbE networking, and dual M.2 NVMe slots, DXP2800 handles large files and heavier workloads with ease. Run Docker, virtual machines, and media server applications compatible with Plex—ideal for content creators, tech enthusiasts, and advanced home users managing 4K videos, RAW photos, personal media libraries, and multiple NAS apps.
- 【Up to 80TB for Growing Digital Libraries】 Supports up to 80TB of storage using two HDD bays and two M.2 NVMe SSD slots for family photos, movies, RAW photos, 4K videos, work files, and device backups. AI photo management supports recognition of people, objects, scenes, and locations, album organization, and duplicate photo detection. HDDs and SSDs are not included.
- 【AI-powered Home Surveillance】Turn DXP2800 into a centralized home surveillance hub by connecting compatible network cameras and storing recordings locally on your NAS. AI-powered features include Face Recognition, People Detection, and Pet Detection, helping advanced home users review important events more efficiently while managing home surveillance and personal data in one place.
- 【One data Center Across Your Devices】Keep files from desktops, laptops, phones, tablets, and other devices together instead of scattered across cloud accounts and external drives. Access, back up, organize, and share data across Windows, macOS, Android, iOS, web browsers, and compatible smart TVs—ideal for creators and advanced home users working across multiple devices.
3. Disable third-party apps
Disable every non-core app that is not confirmed compatible with the target release. Leave the app files in place unless the app’s own documentation requires removal; disabling avoids loading incompatible code while the core is migrated. Preserve a list of what was disabled and why.
4. Start the updater
For the web flow, open Administration > Overview > Version and follow the updater’s checks and confirmation screens. For the command-line flow, run the updater archive as the web-server user. A typical archive installation command is:
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar
Adjust both the user and path to match your server. Read each prompt; do not approve a target version that violates the major-release sequence or your app and environment checks. The updater’s code backup does not change the requirement for your independent full backup.
5. Let the file replacement finish
The updater checks permissions, enables maintenance mode, downloads and extracts the archive, replaces the application files, and records progress. Do not close a shell session running the command or terminate the PHP process because the browser appears idle. If the process stops at a reported error, correct that specific problem and run the updater again. The updater is designed to resume from the failed step rather than requiring you to start by deleting the installation.
Recommended Free Tools
6. Run database and app migrations
Replacing code is not the complete upgrade. The built-in updater manual explicitly notes that it “only replaces the existing files with the ones from the version it updates to”; the migration phase must then upgrade the database and apps. From the Nextcloud directory, run:
sudo -u www-data php ./occ upgrade
Use the actual HTTP user on your system. Watch the output for schema changes, app migrations, and errors. Do not declare success merely because the new version files are visible. If the web flow presents an upgrade page, complete that page instead of launching a second migration concurrently.
7. Run background jobs before the next major step
After a major upgrade, run your configured cron job two or three times before starting another major transition. Background migrations may process data asynchronously after the foreground occ upgrade command returns. Also inspect Administration settings for long-running database maintenance commands and complete them as directed. Starting the next major upgrade while these jobs are still pending can increase downtime and make failures harder to diagnose.
Rank #4
- Professional Video Editing Hub - Edit 4K and 8K footage directly over network with blistering 1,181 MB/s speeds; support multiple editors working simultaneously
- Massive Media Library - Start with 100TB, expand to 300TB using DX525 units as your video projects, RAW photos and audio libraries grow
- 10GbE Network Ready - Upgrade to 10-Gigabit networking for post-production teams working on shared high-resolution projects
- Advanced Media Management - Stream content to clients organize thousands of assets with AI tagging and maintain project version control
- 3-Year Warranty & Enterprise Support - Dedicated technical account management is available for business-critical production environments
8. Re-enable only compatible apps
After the core upgrade and migrations succeed, check each disabled app’s compatibility and enable compatible apps one at a time. Test the app’s primary function, scheduled jobs, sharing behavior, and logs before enabling the next one. Leave an incompatible app disabled and look for an updated release rather than forcing it to load.
9. Verify the installation
- Open the login page and sign in with an administrator account.
- Check Administration > Overview for failed background jobs, database warnings, missing indexes, or environment errors.
- Open representative files, upload a test file, download it, and confirm sharing and trash behavior.
- Test desktop or mobile synchronization and WebDAV if those services are part of your deployment.
- Confirm that cron runs under the intended account and that jobs complete without repeated exceptions.
- Review the Nextcloud log, web-server log, PHP log, and database log for migration or permission errors.
- Confirm that the expected apps are enabled and that no disabled app is being loaded by a custom configuration.
10. Leave maintenance mode only after verification
If the upgrade and checks succeed, disable maintenance mode from the same Nextcloud directory:
sudo -E -u www-data php occ maintenance:mode --off
Alternatively, complete the web upgrade flow if it offers the maintenance-mode control. Have a user perform a final login and file operation after the site is public again. Keep the pre-upgrade backup until you have observed normal operation through at least one complete background-job cycle.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Manual archive upgrades: when and how to use them
A manual upgrade is appropriate when you need to stage an archive, control exactly when files are swapped, or cannot use the built-in updater. Download the archive for the next permitted release, verify that it matches the intended major and maintenance version, and place it outside the live directory. Put the existing installation into maintenance mode, preserve the current code tree, and replace the application files while retaining the existing config directory and data directory according to the Nextcloud manual’s archive procedure.
After the new files are in place, restore the correct ownership and permissions for the web server, run occ upgrade as that user, complete background jobs, and perform the verification checklist. Never overwrite the data directory with files from the application archive. Keep a separate copy of the old code and a complete database/data backup so recovery does not depend on reversing a partially completed file copy.
Troubleshoot common upgrade failures
The site remains in maintenance mode
First check whether the updater or occ upgrade process is still running. Inspect the updater log, which is named updater.log in the configured data directory, and review the web-server and PHP logs. If the process has definitely stopped after reporting an error, fix the reported permission, disk-space, dependency, or app problem, then rerun the updater or migration. Once the installation is confirmed healthy, turn maintenance mode off with occ maintenance:mode --off. Do not remove files or restore only part of the code tree while the database remains at the newer schema.
The web updater times out
A timeout does not necessarily mean the upgrade failed. Check the server process and logs from a shell. For a long migration, use the command-line updater and occ upgrade so the operation is not constrained by browser or reverse-proxy request limits. Do not launch a second updater while the first process is active.
Best Value
- One Place for All Your Data - Consolidate scattered files from multiple computers, phones and external drives into one accessible hub with 100% ownership
- Professional File Collaboration - Share projects with clients, sync documents across teams and maintain version control without Dropbox fees
- Automated Backup Protection - Set-and-forget backups for Macs, PCs and mobile devices to multiple destinations including cloud and external drives
- DIY Surveillance System - Transform IP cameras into a professional monitoring solution with motion alerts, recording schedules and remote viewing
- 2-Year Warranty - Reliable hardware backed by Synology's expert customer support team and ongoing software updates
The updater reports write-permission or disk errors
Confirm that the web-server user can write the application directory, the updater directory, and the data directory locations required by your deployment. Check free space in the filesystem that stores the temporary archive and the data directory. Correct ownership or capacity, then rerun the updater so it can resume from its recorded step.
An app breaks after the upgrade
Disable the failing app from the command line or Administration settings, review its compatibility information, and inspect the logs for the exact exception. Restore the app only after a release compatible with the current Nextcloud major version is available. If the app’s data migration already ran, use the app maintainer’s recovery instructions rather than deleting its database tables.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchDatabase migration fails
Keep maintenance mode enabled, save the complete error output, and check database connectivity, permissions, available space, and engine requirements. Do not edit migration tables or manually mark a migration complete unless the official documentation for that specific error instructs you to do so. If the failure cannot be repaired safely, restore the pre-upgrade database, data directory, configuration, and code into a fresh installation.
Downgrading is not a supported recovery method
Nextcloud’s Administration Manual warns: “Downgrading is not supported and risks corrupting your data!” A newer release can change database schemas and stored data in ways that older code cannot interpret. Do not copy an older application directory over a database that has already been migrated.
Recovery from a failed major upgrade means restoring the complete pre-upgrade backup into a fresh, matching installation, then validating the restored service before attempting the upgrade again. Restore the database, data directory, configuration, and compatible code together; partial restoration can create a version mismatch. Treat the failed host as evidence for what to correct—such as an incompatible app, missing PHP module, insufficient space, or an unfinished background migration—before retrying.
Operational checklist for every future update
- Identify the deployment type and follow its distribution-specific procedure.
- Read the target release’s critical changes and verify environment and app compatibility.
- Schedule downtime and ensure console access.
- Back up the database, data directory, configuration, and code tree.
- Test or otherwise validate that the backup is restorable.
- Disable third-party apps and record their previous state.
- Upgrade to the latest maintenance release of the current major version.
- Upgrade to the next major version’s latest maintenance release; never skip a major.
- Complete
occ upgradeor the equivalent web migration page. - Run cron two or three times after each major upgrade and complete listed maintenance commands.
- Re-enable only compatible apps and test them.
- Verify login, files, sharing, synchronization, logs, cron, and administrator checks.
- Disable maintenance mode, monitor the service, and retain the backup until normal operation is confirmed.
This sequence separates code replacement from database migration, treats the data and database as irreplaceable, and gives every major release the time needed for its background work. If you lack root access or cannot provide the required downtime and recovery testing, ask your hosting provider or an experienced Nextcloud administrator to perform the upgrade rather than improvising commands from a different deployment type.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




