Regarding Nextcloud VM and OS versions

Since we upgraded the OS to Ubuntu 20.04, there have been some confusion regarding what’s what.

There’s also been several bug reports regarding that the VMs doesn’t work, script fails, and so on… In most cases that’s not correct (related to downloading an old VM), but for some users the ZFS mount failed to import on newer VMs, causing .ocdata to go missing, which resulted in that the script failed to run the startup script at all. That’s now fixed, and new versions are uploaded. (2020-05-03). I’m really sorry for that!

With this, my intention is to summarize what actually happened to avoid any confusion. I urge the forum moderators to link this post, in case similar issues comes up as a question here on the forum, or elsewhere on the internet.


Background

April 24, all our VMs got updated to the latest OS of Ubuntu, being 20.04.

With 20.04 comes some major changes which can be found here:

The most major impact was the update of PHP version which means that the old VMs no longer are supported in some aspects:

Ubuntu 18.04 users expected deprecation

  • Since Redis upgrades now requires PHP 7.4, users of Ubuntu 18.04 will no longer get those updates through the update script built into the VM.
  • For the same reason the startup script will fail to succeed as calculate_php_fpm looks for PHP 7.4 in the function, resulting in an unsuccessful first setup.
  • One of the scripts downloaded in the beginning (activate-ssl.sh) changed name, and is now called activate-tls.sh instead, and since the old startup script in the Nextcloud 18.0.3 release is looking for the old name, that will fail as well.

Ubuntu 16.04 users and deprecation
Please read this, basically everything is deprecated. And for a good reason - it’s not secure to run old PHP stacks, or OSes for that matter.

Ubuntu older than 20.04 in general
You can of course still use the VM, but some of the scripted functions will not work anymore.

I got an error, how do I fix it?

Instead of sending me a direct email, the easiest solution to this matter is to simply download the latest VM and try again. In other words, if your current VM isn’t working, it’s because you downloaded it just before the new one got released.

A first source for everything, this is it.

If you still got issues, please post a bug report in Github.

Obviously the scripts are thoroughly tested before considered stable and a new release is made. Nothing is perfect though, and both issues and PRs are more than welcome! :slight_smile:

Shop users

All shop users have a valid link for 10 days, just use the same link as you did upon purchase.

If your link already expired, please use this contact form and give the following information:

  • Order number
  • Nextcloud version when purchased

Since this is a major release I understand if it feels annoying that you just bought an “old” version just a few days ago. I will therefore extend the download period to cover 10 extra days for free. The term is that the VM is purchased after the April 5 and before April 26 this year.

OK, so you stop supporting your own VMs after some time?

All VMs are upgradable with the built in script to the latest Nextcloud version. There’s no limit on how many times it can be run. I still get emails from people that downloaded the VM in 2017 that are on the latest version of Nextcloud, 3 years later(!)

Support for the OS and it’s dependencies it’s built upon is deprecated after some time. So after let’s say 3-4 years you need to update manually yourself, or buy support to migrate your VM to a new version. I tried to explain the whole thing pretty clear here.

TLDR; Yes, after some time, old OSes will be deprecated. It’s just the way it works with software in general. When and if that happens you can choose to upgrade the whole thing yourself, or buy support in the shop.

Normal Ubuntu LTS users get their upgrade to the next LTS version with the first point release of the new version (usually in July). As far as your announcement goes, most of the script seem to be related to the setup, so current working setups should still work and the users have time to plan the migration to a newer OS. I hope you inform your customers directly and don’t rely that they read this post within the 10 days.

Would it be possible to update the system directly and update the related scripts as well without going through a new image?

script seem to be related to the setup,

Good point @tflidd! And yes, you’re correct. All existing VM users really don’t have to care about this, since they’re already up and running with their stuff.

Would it be possible to update the system directly and update the related scripts as well without going through a new image?

You could update all the scripts yourself, if you follow the commit history on Github - sure. But I can’t imagine anyone would do that since it’s pretty much to track.

In general, all the scripts gets their variables and functions from either:

  1. A local lib file downloaded when the VM was released
  2. An online lib file which is from Github and sourced on every script run

So to answer your question, no you don’t need a new image if you’re a linux sysadmin and know what you’re doing, but for convenience it’s the easy path to take to make sure everything is 100% correct, up to date, and compatible with the current scripts.

I hope you inform your customers directly and don’t rely that they read this post within the 10 days.

No, I don’t expect anyone to read this actually. It’s mostly here so that I don’t have to repeat myself all the time. Just link this - done. :slight_smile: I’ve got 100’s of emails the last couple of days…