Downside to NextCloud Docker images?

Although I want to learn about Docker stuff, I was wondering if there is a downside to using a NextClloud Docker image/Container as opposed to a manual install.

I understand that a Docker Image/Container is supposed to be easy but people don’t learn if things are easy or if it just works (I know some people want that). A manual install usually helps me learn things. Also, can a NextCloud Container/Image be upgraded just like a manually installed NextCould instance or does a Docker user have to wait for a Docker image to be updated?

Can NextCloud PHP and config files be manipulated if needed like they could on a traditional install?

Thanks for any answers.

The answer to all of your questions is yes, however Docker images are really supposed to do all the heavy lifting. You just supply them with volumes to store data. If you really want to preserve your changes, probably best to use the base image and then write a Dockerfile that represents your changes. That way when a new Docker base image is released your Dockerfile will add back in all your customizations. Honestly I can’t tell you which one is better. I run Nextcloud without Docker however I’ll admit its a bit more work to keep things maintained.

Docker definitely makes things easier. However, the downside is this: What do you about rolling deployments? When that next update to PHP comes out, you have to rebuild your container.

The most elegant solution is to use Redhat’s OpenShift which is an enterprise Kubernetes distribution. Host your Nextcloud code in a private git repo of choice, push the latest Nextcloud changes, and voila, the container rebuilds itself without any downtime!

Hey Ryan.
I’ve never used Redhat’s OpenShift or Kubernetes but I do have a question. How can the container rebuild itself without any downtime. Somewhere along the line the “old container” has to be migrated to the “new container”. How does this happen without any downtime or service disruptions?

Docker makes it very easy to run Nextcloud but it will make other things more complicated. You still have to learn things, just different things. Your NC config files will most likely be in a Docker volume and can be edited in place just like in a normal install. Configuring the webserver/PHP or adding SSL is usually more complicated but possible.

As long as you’re using the official image, updating is done by pulling a new image, deleting your old container and starting a new container.

Kubernetes and OpenShift are for admins with “ambitions” and can be ignored for home use.