Catastrophic Nextcloud Upgrade

| software | web | linux |

I neglected by Nextcloud installation so much that I found myself in 2024 running Ubuntu 18.04 LTS, PHP 7.2, and Nextcloud 20. All the upgrade windows came and went and I blissfully continued running an incredibly insecure installation. Last night I came to my senses and ran the do-release-upgrade command twice, from 18.04 to 20.04 and then to 22.04 LTS. Everything mostly worked like a charm and the server came back online.

When I tried to use Nextcloud though, it told me that I was completely out of luck because I was running a version of PHP that was too new. (8.1)

I looked around online to see if there was something I could do and a lot of the advice that I got was to downgrade my PHP version which is basically the last thing I ever want to do. The idea was to downgrade PHP, upgrade Nextcloud, and then upgrade PHP.

I also saw a bunch of people saying “just run it in Docker” and I wish I had. I tried, to be honest, but found both the “all in one” container and the docker-compose file to be so confusing. I was not able to get it to work.

In the end, I did what any desperate NUC user would do, and installed a fresh copy of Nextcloud while manually moving all of my files from the previous installation to their right location. I think this would be a complete nightmare for an installation of Nextcloud that has more than a handful of users in it, but for my purposes it did the trick.

This procedure was pretty painless. Be careful though, you may lose all of your stuff if you type in the wrong order, be sure to make a backup before doing this type of directory surgery.

# Remove the new files directory of your new installation 
sudo rm $NEW_NEXTCLOUD_DATA_DIRECTORY/$USER/files

# If you are not sure where your Nextcloud Data Directory is, 
# check out the /var/www/nextcloud/config/config.php file
sudo mv $OLD_NEXTCLOUD_DATA_DIRECTORY/$USER/files \ 
    $NEW_NEXTCLOUD_DATA_DIRECTORY/$USER/files

# the occ utility is inside of your nextcloud installation, 
# probably around /var/www/nextlcoud 
sudo -u www-data php occ files:scan --all

This took quite a bit of time to run but in the end everything is in the right place and I am am happily running the latest and greatest version of Nextcloud.

Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Sharing group_var variables across Ansible inventories

The problem Some time ago I worked with a customer that used Ansible to deploy a multitude of applications across their individual TAP1 environments. Unfortunately the Ansible inventory was setup in such a way that group_vars variables for a specific applic…

via Louwrentius December 20, 2025

Thoughts on MCP

I was listening to a recent Vergecast episode the other day, and in there, there was a whole segment about MCP servers and AI-powered shopping. I’ll be honest, I’ve never been more confused about something tech-related. The more I read and listen …

via Manuel Moreale — Everything Feed December 20, 2025

2025 LLM Year in Review

2025 Year in Review of LLM paradigm changes

via karpathy December 19, 2025

Generated by openring