Hi there! I’d like to install Nextcloud on my home server, a small Optiplex micro running Debian linux and hosting a few simple php web applications. I’m not using containers so far.
I’d like some advice on whether installing Nextcloud using the AIO method (docker) or from a tarball file. I have some linux knowledge and I’ve tested Nextcloud before (from tarball, never used in production) so either methods wold be fine.
The documentation install page seem to recommend both methods, calling AIO the official Nextcloud installation method but then stating This method is recommended to install Nextcloud when talking about installing from the source tarball.
I have limited experience on docker and, while I’m getting how it simplifies app management, I get the idea it should be less efficient if running multiple DBMS, web servers etc. on the same hardware. Moreover I’d have a mix of containerized and non-containerized apps.
What installation method would be recommended in my scenario?
Advantage of the AIO is that it comes pre-configured, so out of the box it should work not too bad. With all the containers, you add a bit of overhead, and you need to get familiar with this container-“world”.
I used virtual machines for different services, the advantage is that you can run everything on a single server, or you can move single services to a different server, or if you renew the hardware you can just move the virtual images. I suppose that with the containers, it is a bit similar. Personally, I haven’t used docker so far.
Technically, this should be possible, you have one main proxy, that either points stuff to a local webserver or to a docker image. On the long-term, you want perhaps put other things in a docker container as well?
Before doing a definitive install and setup, I’d perhaps try to play around with containers. Having things a bit encapsulated is interesting, docker is the most popular but not the oldest technique. There are other virtualization techniques, e.g. also podman, lxc, freebsd-jails, …
I read some posts here and on reddit and I got that AIO install, while being convoluted with its multi-container approach, is supposed to work out of the box and be easier to debug. I’ll give it a try and see if it fits my needs.
While I get its benefits, I think that in my case installing on a VM is even more convoluted and less efficient, give my hardware. I guess I’m not going that way right now. That being said I’d still have to choose between AIO or tarball install.
Most likely I’ll mix “bare-metal” applications and containers. It doesn’t sound “clean” but it’s possible and its the easiest way for me. Also, I won’t use containers for simple php webapps that don’t even require a DBMS, like dokuwiki. In that case I should learn how to create a proper container and that would add complexity while I’m looking for a simple and proven solution that requires low effort on my side.
Lastly, I’ve been told to use podman instead of docker. If I’ll ever build some container I’d probably pick that but AFAIK I can’t perform an AIO install with podman. Am I right?
Yes, I was just mentioning it, because I was using it and I could explain why adding this extra layer might be of interest. I suppose for docker it is a bit similar, but more lightweight.
yes, this All-In-One Nextcloud comes with a default config that is supposed to work quite well for smaller setups.
Debugging, I am not sure, you have to do parts inside the container but there is also the reverse proxy on the main system.
Yes, you’re right — AIO currently only supports Docker, not Podman.
Given your setup and goals, your reasoning makes perfect sense.
If you’re planning to keep some of your lightweight PHP apps running directly on the host that’s totally fine — mixing bare-metal apps and a few containers isn’t “dirty” at all. Many home-lab setups do exactly that.
Since your Optiplex has enough resources for a few containers, I’d still recommend giving Nextcloud AIO a try.
It’s officially supported, easier to maintain long-term, and you can selectively disable heavy modules (like Collabora or Talk) if you don’t need them.
That keeps the footprint small while still giving you all the benefits of automated updates and stable configuration management.
In short:
AIO = best long-term maintainability and consistency
Tarball = fine for custom/manual setups but requires more manual work for upgrades and dependencies
So with your hardware, AIO is absolutely a reasonable and efficient choice — especially if you only enable the parts you really use.
Yes, I use proxmox. With FreeBSD, I wanted to take a look at jails as well. It’s interesting to see and try different technology, nothing you want to do to get up Nextcloud quickly running.