NextcloudPi planning to discontinue its docker version with nc 25

How long will my existing Docker image be supported if I’m using ownyourbits/nextcloudpi image?

We will support all minor versions of NC25 until its EOL. :heart:

This means we will keep supporting the docker version with bug fixes and security related patches until the EOL of Nextcloud 25, which is in November 2023.

  • You can migrate to our bare metal install, LXD container linked below, or to Nextcloud’s own AIO docker release if you wish to stay on a pre-packaged release.

NextcloudPi planning to discontinue its docker version

NextcloudPi is planning to drop support for its docker version - at least temporarily. This decision is not final, but we believe, it’s the best way to improve and further develop NCP. Please let us know below if this affects you and the listed alternatives are not feasible for you.

We, as NextcloudPi devs, have been thinking a lot lately about the direction that NextcloudPi should take in the long run. That starts with thinking about what NCP actually is and what it provides to the community.

What are the key features of NextcloudPi?

In my mind, this is what NextcloudPi brings to the table that’s not easily available anywhere else:

  • A nextcloud instance that’s working out of the box on your own (or arbitrary) hardware without any need to touch a terminal (“managed self-hosting”)
  • A web interface and many tools for performing and automating administrative tasks like
    • setting up TLS certificates [1]
    • choosing and implementing a backup strategy [1] [2]
    • setting up dynDNS providers [1]
    • and much more
  • Providing secure defaults for less technically inclined self-hosters, lowering the entry-barrier to self-hosting Nextcloud

What may have been a unique feature of NextcloudPi historically, but certainly isn’t anymore, is providing a single command to setup Nextcloud. There are now other tools which provide that and arguably better and more robust than NCP (e.g. Nextcloud All-in-One).

Due to the single-system architecture of NextcloudPi, we currently need to invest a huge amount of work into writing and especially testing update scripts for the various components of a NextcloudPi instance, of which the most notable are:

  • Nextcloud (obviously)
  • The apache2 webserver
  • The PHP process manager (PHP-FPM)
  • Mysql, being the database used by Nextcloud
  • The redis in-memory database
  • Nextcloud’s notify push service
  • The metrics providers for the server and backup monitoring
  • NCP’s admin web UI
  • The operating system itself (Debian stable)

The vast amount of work currently goes into making sure that all these components are compatible and nothing breaks during updates - despite all our efforts not without causing issues in user systems from time to time, simply because of the sheer complexity of the system as a whole.

Therefore, we intend to make more use of docker internally in NextcloudPi, replacing most of the mentioned components with docker containers. That would allow us to replace them without much risk of impairing any other services, as all services are sandboxed in their own environment.

However, this also means, we can’t provide the kind of docker image for NextcloudPi, we used to.

Why we have to discontinue the NCP docker image

As mentioned, we want to make use of docker inside of NCP. While not impossible, it is not a good idea to run docker containers inside docker containers for production scenarios. Therefore, for the time being, we will have to drop support for NCP docker. However, once we have migrated all relevant components to docker containers, NCP docker may come back as a multi-container setup. I cannot guarantee this yet, because my crystal ball broke and this lies way in the future, but it is very likely that, by moving all our services to docker, we will loose most of the constraints regarding the host system, which means:

  • NCP could run on any current Linux host
  • NCP could run behind a reverse proxy
  • NCP would not interfere with (most) other services

So chances are, the new NCP architecture could be used very similar to the current docker container.

What to do with my current NCP docker instance

If you are currently running an NCP instance via docker, first of all, fear not! Your instance will not suddenly break and we wil keep supporting the docker version with bug fixes and security related patches until the EOL of Nextcloud 25, which is in November 2023.

Secondly, we recommend the switch to an NCP LXD or LXC container or a VM if you want to keep using NCP. A guide on how to migrate from docker to LXD can be found here
.

Alternatively, you can migrate to Nextcloud All-In-One, the official docker deployment maintained by Nextcloud GmbH.

The LXD container offers mostly the same capabilities as the docker image (let us know if your use case doesn’t allow for it) and should work for most users.

Lastly, we are very interested in your feedback. This was a consideration that I thought about for many months and I hope that it will really benefit the development of NCP and allow us to provide more features instead of spending most of our times in testing and fixing a fragile (because complex) update process.

You are welcome to join the discussion on the Nextcloud forum or our Matrix and Telegram.
If you want to learn more about the project, feel free to check out the project’s website at nextcloudpi.com or our Github.

6 Likes

30 posts were merged into an existing topic: About moving the articles

Ok, even though I understand your decision on stopping to support docker, it is still my go to technology and after I migrated from bare metal to docker some 3 month ago :frowning: I am more than sad to read your message.
For me the docker image was the perfect solution, to have a physical server with way too much power and running multiple services on different IPs without the VM overhead.
But ok, I got used to portainer as a docker management tool, but perhaps it is time to migrate to LXD - and learn something new.

Anyhow, very sad to start migrating again :wink:

2 Likes

It think it is a good decision.
Personally I think with the launch of NC AiO the overlap with NCP Docker is just too big to justify the work @theCalcaholic outlines above.
Honestly I feel Docker is already something for slightly more advanced users and if your are already on that level you can just as well install NC AiO rather then NCP.
Sure NCP still provides some features AiO does not but the list is getting shorter and shorter.

My entry to Nextcloud was with a RaspberryPi and the NCP Image for it. Back then I would have been completely turned off by that whole Docker thing and probably never even tried. The flashable images are the most easy entry into Nextcloud and I think this is what NCP excels at and is unrivaled. It’s just soooo easy and the reason I love this Project.

I guess what I’m trying to say is that I agree that the NCP team should focus it’s limited and valuable time on the NCP versions that cater to beginners and less technically inclined people.
Do one thing and do one thing well.

Thank you very much for all your work guys, I can not thank you enough.


What we need now, before EOL NC25, is a good guide on how to migrate from NCP Docker to NC AiO. Unfortunately I neither have the time nor sufficient Docker knowledge to write that.

3 Likes

This is the issue I am facing right now. I have a working NCP instance (I love the BTRFS snapshots and the LetsEncrypt features, made it SOOO much easier). I’m trying to figure out how to migrate it to the AIO docker instance. Luckily for me, its mostly files I’m concerned about so I plan on using the Data Migration plugin. But if there is a better way that isn’t too complicated then I would love to hear about it.

And thanks to all the Devs still working on NextcloudPI. I wish there was a way to implement all the extra features you have to the main Nextcloud AIO instance.

Robert

So am I understanding this properly? This is just taking the NCP commands and putting them all into a container that could be “added on” to the NCP AIO?

That would be amazing!

1 Like

So are these just the same?

https://hub.docker.com/r/linuxserver/nextcloud

Or this?

They are all different, because anyone can post up a docker container. AIO is the latest docker build maintained by Nextcloud.

1 Like

Thank you, just what I needed to know.

1 Like

@Robert_Spierenburg If we can pull it off, that’s basically the longterm roadmap for NCP :slight_smile:
I would love to make NCP into a wrapper around NC AIO and concentrate on the additional features it brings to the table.

But whether we will be able to integrate it like this technically is not clear yet.

2 Likes