Upgrading outdated Turnkey Linux installation

Nextcloud Server version: 23.0.12
Operating system and version: Debian 10
PHP version: 7.3.31-1~deb10u7
Installation method: Proxmox host with Tunkey Linux container.

I am running an outdated version of Nextcloud on a Turnkey Linux installation. I want to upgrade to the latest stable release. I was hoping to make a post here with my situation and plan, get feedback from anyone experienced, then track my progress/issues in the thread as I go.

I’ve read a lot of forum posts and documentation, and from what I can tell I will need to upgrade to from 23->24, then 24->25 and so on until I reach the latest stable release.

Several years ago, when I was only a few versions behind, I attempted to upgrade from 23->24, but needed to upgrade PHP from 7.3->7.4 first. I ran into an issue in my container that I could not get past, and chalked it up to being in the turnkey environment and gave up.

I have stopped using Turnkey Linux templates several years ago, and would prefer to migrate into a new container.
I did however look into what upgrade option Turnkey offers, and it appears I would need to use their cloud upgrade option, which I would rather not pay for. I also noticed they do skip versions from 23->26 then 26->29. So I believe this wouldn’t work anyway?

I believe my best course of action is to create a new container, running Nextcloud 23 and the latest version of PHP it supports.
Then I would migrate my data to it.
Then I would begin the process of upgrading to 24, then 25, etc.

I have a few questions from the Pros in the community:
-Is there any issues with my plan or alternatives I didn’t think of?
-Should I consider using an old version of Nextcloud AIO for my new installation, or do a manual install?
-If I were to go the route of Nextcloud AIO, should I try to upgrade my current installation to reach a specific version before the migration?
-I tend to prefer Debian, if I go the route of manual install, is there anything I should know specific to Debian during this process. Or is there a reason to use another distro?
-Currently I have a separate mount point for my OS and my data. OS is on NVME, and data is on ZFS pool. Is there any factors this would affect during a migration?

Hopefully I’ve provided enough context, thanks in advance for any assistance.

Hi, keep in mind php7.x is outdated! If possible, install a new nextcloud instance 30.0.x with php8.3. Otherwise you will not satisfied.
Good luck!

Is there any issues with my plan or alternatives I didn’t think of?

Your plan sounds reasonable.

Should I consider using an old version of Nextcloud AIO for my new installation, or do a manual install?

Well, for the conversion itself I’d personally use the simpler general Docker/micro-services image for the upgrades (i.e. deploy a v23 image minimal stack then migrate your files and database then bump the image to v24 then to v25 until you’re at either v29 or v30).

There are far less moving parts (that are unnecessary for the conversion) and upgrading really out-of-date AIO installations can be challenging (so I’d suggest avoiding using a really old AIO).

Then when things are migrated to a more up-to-date scenario, you can decide whether to do a standard migration to AIO, a bare metal install, etc. for your production setup.

It also gives you some time to get familiar with AIO/etc, but doesn’t make it a dependency for the migration itself.

If I were to go the route of Nextcloud AIO, should I try to upgrade my current installation to reach a specific version before the migration?

Putting aside the AIO detail for the moment, you could. It basically doesn’t matter and mostly comes down: (a) personal preference; (b) legacy environment constraints.

The only thing that matters is that the old environment’s version = new environment’s version at the time of the switchover (i.e. when you take your final database snapshot). It sort of comes down to where you’d rather debug the issues. :wink: I’d probably lean towards not messing with the legacy environment much myself.

I tend to prefer Debian, if I go the route of manual install, is there anything I should know specific to Debian during this process. Or is there a reason to use another distro?

Doesn’t matter much. Debian works great. Use what you’re comfortable with + is most easily supported if you need help. :wink: Debian definitely fits into that category.

Currently I have a separate mount point for my OS and my data. OS is on NVME, and data is on ZFS pool. Is there any factors this would affect during a migration?

Nothing specific to the migration that comes to mind.

Are you thinking of trying not to move data around much (i.e. not duplicate it) to save time/space (assuming nothing goes wrong that is hah)?

Refs:

I think they’re just talking about old PHP versions to facilitate the upgrade of a legacy environment. :wink:

Okay, but however; update php7.x to 8.x is one thing; you need some php-modules. Therefore my suggestion to take the actual version of nextcloud. Had the same problem with my nextcloud 25.x.x then I´ve installed the 30.x.x version. It works much better! Big disadvantage, if you have many files and so, then → handwork!