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…

I’m confused, can i not just do-release-upgrade from 18.04 to 20.04 to fix this problem?

edit hmm seem like that i what they are talking about here. something about the custom update scripts won’t work?

this is unfortunate for small scale home users of this like me: I’m in a catch 22 where i have to keep the instance of nextcloud updated to stay secure but I’m going to have to rebuild my VM every 2 years??? Am I misunderstanding something.?

FYI - i’m here after diagnosing why my nextcloud instance keeps breaking. I have a VM I’ve been reverting and, it will work for a few days before borking again, it seems that the auto-update tries to update for nextcloud 20+, and then everything breaks.

@dietert Sure, you can run do-release-upgrade and keep your VM up to date - it’s your choice.

You can also choose to update the VM manually, not using the update script - it’s also your choice.

In any case, staying on an old EOL version of Ubuntu isn’t such a good idea. That’s one of the reasons the update script won’t be supported for EOL versions of Ubuntu.

You could still do what the update script does for your manually, which is updating all the dependencies and Nextcloud itself. It’s a bit more work than just running a single command though.

You can also download the current update script manually and remove all the checks for older versions of Ubuntu, but on your own risk.

Everything is about choice here, and the choice is yours. We don’t lock down the OS in any way. Once you have it up and running it’s yours to play with. The update script just makes everything much easier.

If you do opt in for the do-release-upgrade, keep in mind that you need to adapt the VM dependencies to fit with the new version. Maybe not an easy task, and that’s why we have this: https://shop.hanssonit.se/product/migrate-nextcloud-to-new-os-and-server-18-04/

small note here ubuntu 18.04 is not EOL - it is fully supported by canonical till april 2023 - 2028 if yor willing to pay for support - the intent of the ubnuntu LTS system is that 20.04 is now recommended for new installations and not that admins should rip out working systems every two years…

stable servers is why (up until last week when redhat murdered it) centos is/was so popular…

anyway i get that currently there is alot of work to migrate a server over and your services seem quite good. That is not a realistic option for someone like me that is a home lab’er looking to cut my teather to the giant hyperscalers and is doing the whole thing in his spare time with pocket change… Don’t get me wrong. The VM is great - its just got a long way to go and the painful upgrade every two years thing is definitely a bug not a feature… perhaps this can be fixed for LTS 22.04 - i realize I should probably set up some bounties/donations if i really want to see that happen. if i ever figure out how to migrate my setup i’ll cross post it here…

Hey,

You don’t have to rip out the system at all. There are multiple ways if migrating - one if them beeing do-release-upgrade. I just prefer making “a clean house” and move to a new server since it gives you the opportunity to upgrade things along the way, not just the OS.

You might succceed, you might not. If you succeed, are you sure you didn’t miss out on something?

The migration package exists for those who want make 100% sure everything is setup properly. But, you don’t have to buy it/use it if you don’t want of course.

Consider it a service, not something mandatory. In the end it’s up to you.

And regarding EOL, I never wrote Ubuntu 18.04 is EOL. Our scripts will support 18.04 until it’s EOL, then we will stop maintaining it, or simply add a big warning that you’re on your own.

Purchasing support is also an option as you alreasy mentioned.

Stable servers, yeah. :ok_hand:t2: But not using the latest dependencies (CentOS), and with the minimum requirements in Nextcloud (PHP) you’d need to involve PPAs which is never a good idea in regards of stability.

If you think the VM has a long way to go, please help us improve it. After all, it’s free and open source. :slight_smile:

And one last thing. The VM will not stop working just because you’re not on the latest Ubuntu OS.

I have clients emailing me that got the VM like 4-5 years back and it still works 100% to their satisfaction.

You can choose to stay on whichever OS version you want and only update dependencies to be able to run the latest Nextcloud version, or you can choose to stay on the original everything and not being able to use the latest Nextcloud version.

It’s all about choices, as I mentioned earlier.

We just try to make it as easy as possible (and I think we succceed), but we’re no magicians. I wouldn’t want to risk any of the thousands of systems that currently are running based in the VM with something (an update script from one OS version to another) that might work. There are so many variables to consider, that could go wrong.

If you think the VM has a long way to go, please help us improve it. After all, it’s free and open source. :slight_smile:
[/quote]

I hear what you are saying - the VM team is also tiny. here is some more context:
i’ve been one click upgrading freenas for about 5 years now… if there is ever a problem you just revert the root file system since freenass automatically snapshots itself after every upgrade
(so far i’ve had to do that once). That is easy. I’m on my 5th or 6th attempt to migrate/upgrade this VM. Not easy. I realize that with proxmox/freenas folks basically built a highly derived OS (proxmox is mostly debian and Freenas is 99% freebsd) rather than a system config as the VM is but in essence most of what both those projects seem to be is a web app which glues together and makes understandable existent system tools.

I get that the VM will keep working but, as i understand it & for better or worse, nextcloud is a big pile of PHP. because it is internet facing it therefore needs security patches forever. becuase nextcloud offers no LTS version it seems like we are all forced to upgrade our LTS xx.04 servers every two years forever.

you don’t want me contributing on github - it will be more work for you than it saves :wink: i do have a couple of CS friends though… perhaps some day the VM needs an app for nextcloud so that migrations/upgrades can be one click…

practical question : is there a list somewhere of the dependencies for particular versions of the VM? for example it seems that something called. mod-security was used in the 18.04 version but not in the newest (20.04) one…

Well, you can’t compare pears to apples. :slight_smile:

Running a VM you can revert to snapshot as well very easily. Just make a snapshot of the whole VM before you try to upgrade. If something goes wrong you can revert the VM to that exact state in like 5 seconds - click of a button and done. :wink:

Sure, I agree and there’s options for that too: https://shop.hanssonit.se/product/upgrade-php-version-including-dependencies/

Bottom line here; the VM is built on Ubuntu. We don’t develop Ubuntu or make anything fancy with it. We “just” make it easier to install and maintain Nextcloud. Again, you can choose to buy support to fix everything you need - or you can choose to do it yourself. :rocket:

Merry Christmas! :christmas_tree:

I’m running your VM with Ubuntu 18.04.6 LTS and Nextcloud 23.0.4.

When trying to upgrade Nextcloud your update script says:

In THIS post I found your statement “Our scripts will support 18.04 until it’s EOL”, that’s why I open an issue here:

that you closed with “It’s not a bug it’s by design. Please follow the instructions in the pop-ups.”

So my question is:
your statement “Our scripts will support 18.04 until it’s EOL” is not true, right?

Regards.

Sorry, maybe EOL was a bit confusing. What it should say is that we support 2 major versions. So that means in your case that when 22.04 comes out, we’ll support 20.04, and 22.04 - 18.04 will be deprecated. When Ubuntu 24.04 comes out, we’ll drop support for 20.04 and so on.

You are still free to upgrade it with do-release-upgradebut you might find yourself in a situation where PHP isn’t working and a bunch of other errors. It’s fixable, and we can help you.