The Good Journal #1 Trouble with Testing

Today I have the pleasure of sharing my adventure with testing and building Nextcloud’s latest releases, v25 and v26. (This was a couple of weeks ago now. I forgot to post this before heading off on a much needed vacation.) As always, the buzz surrounding the new features was palpable, and I couldn’t resist jumping on the bandwagon to build some new Good Cloud server images based on php 8.1.

Now, before you get too excited about upgrading from v24 to v25, let me warn you that there were some changes to the theming app in v25 that forced me to rearrange some file locations for our own theming. So if you’re hosting yourself, keep a close eye out for broken theming after the upgrade. The fix is simply redoing the theming in the settings.

As for v26, I must admit I got a little swept up in the excitement of the release and quickly upgraded some testing and demo environments to the new enterprise version of Nextcloud 26.0.1. Unfortunately, all photos disappeared from the new Photos app, which served as a stark reminder of why caution is sometimes necessary when jumping on the bandwagon. Thankfully, the Nextcloud developers provided us with some patches, and I was able to resolve the issue relatively quickly.

However, patching a server in our environment can be tricky since everything is containerized. As such, I had to pull the server files for the 26.0.1 enterprise release, run the patches on these files, and then rebuild the docker containers. This resulted in a pretty happy-looking environment, but before I would update more testing environments and proof-of-concept environments, I wanted to triple-check some more things.

It turns out that our Talk high-performance backend is currently incompatible with Nextcloud 26, which will block me from upgrading our business environments until we upgrade Talk. In the meantime, I rectified my upgrade scripts to run through the Nextcloud upgrades in a more stable manner. We had an issue with the extra database backups not completing properly because the MariaDB server container would, in some cases, be throttled or even killed by the kubelet process.

Now, some may view my diligence as overly cautious. After all, we make backups for all databases of all our environments every night. However, I just don’t like running upgrades without ensuring there is a recent version of the database backup available. I changed some details on how we do these pre-upgrades backup, which significantly downsized the resource spikes we previously noticed when running a database backup.

All in all, Nextcloud has significantly expanded its intended use since it first forked from Owncloud to become a nice sync and share file server. It wouldn’t surprise me if I could soon connect my microwave to it (as long as it’s open-source and privacy-friendly, of course). Nevertheless, this expansion has had some impact on our environments to a point where we have to re-evaluate what resources could be offered within what price range.

My initial view on Nextcloud’s 26 hub 4 release is complicated. I like the AI stuff, but as a visual artist and illustrator, I will have to review what AI models are used, whether anything is training AI models using the input received from these integrations, where the servers that are used for this are located, and if all of this remains GDPR compliant.

Finally, one thing that honestly bugs me about the new v26 server is the amount of rounded corners. It’s everywhere! Luckily, there’s even an app for that problem: the Unrounded Corners app.