I have been using Nextcloud for over a year now. Started with it on Bare Metal, switched to the basic Docker Container and Collabora in its own Container.
That was tricky to get running nicely.
Now I have been using Nextcloud AIO for a couple of Months and am pretty happy. But it feels a little weird with all those Containers and all that overhead.
How do you guys host NC + Collabora?
Some easy and best Solution?
I think containers get seen as overhead unfairly sometimes. Yes, its not running on bare metal, so theres a layer of abstraction, but I think in practice the performance is nearly identical. Plus, since AIO does things out of the box for you (like a redis cache for instance) it ends up being more performant than a standalone nextcloud instance that isnt configured properly.
I don't think containers are bad, nor that the performance lost in abstractions really is significant. I just think that running multiple services on a physical machine is a delicate balancing act that requires knowledge of what's truly going on, and careful sharing of resources, sometimes across containers. By the time you've reached that point (and know what every container does and how its services are set-up), you've defeated the main reason why many people use containers in the first place (just to fire and forget black boxes that just work, mostly), and only added layers of tooling and complexity between yourself and what's going on.
I'd argue the opposite: it's made it where I care very little about the dependencies of anything I'm running and it's LESS of a delicate balancing act.
I don't care what version of postgres or php or nginx or mysql or rust or node or python or whatever a given app needs, because it's in the container or stack and doesn't impact anything else running on the system.
All that matters at that point is 'does the stack work' and you then don't need to spend any time thinking about dependencies or interactions.
I also treat EACH stack as it's own thing: if it needs a database, I stand one up. If it needs some nosql it gets it's own.
Makes maintenance of and upgrades to everything super simple, since each of the ~30 stacks with ~120 containers I'm running doesn't in any way impact, screw with, or have dependency issues that impact anything else I'm running.
Though, in fairness, if you're only running two or three things, then I could see how the management of the docker layer MIGHT be more time than management of the applications.
Probably not that helpful but Truenas Scale and the Nextcloud App, and then just used the Collabora "plugin" as I gave up using a separate Collabora App because I couldn't make them work together. Probably going to have to fix everything again in August when the next TNS update drops (Electric Eel) and enables vDev extensions.
The AIO is the way to go. It's not really any more overhead, and the maintenance is so much simpler. I second running it on a Proxmox docker server, you can snapshot before updates if you're concerned about the upgrade.
Nextcloud AIO on a Proxmox LXC container. One instance for home, one instance at work. All works great. Both are on fast ceph storage (SSDs at home and NVMe at work).