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?

16 points

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.

That is to say, I use AIO without issues.

permalink
report
reply
3 points

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.

permalink
report
parent
reply
2 points

I think you’re missing an important aspect to containers and that is being able to easily define your infrastructure as code.

That makes server migrations a breeze

permalink
report
parent
reply
1 point

That’s… a tool in the bucket for that. But I’m not really sure that’s the point here?

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
1 point

I don’t care […] because it’s in the container or stack and doesn’t impact anything else running on the system.

This is obviously not how any of this works: down the line those stacks will very much add-up and compete against each other for CPU/memory/IO/…. That’s inherent to the physical nature of the hardware, its architecture and the finiteness of its resources. And here come the balancing act, it’s just unavoidable.

You may not notice it as the result of having too much hardware thrown at it, I wouldn’t exactly call this a winning strategy long term, and especially not in the context of self-hosting where you directly foot the bill.

Moreover, those server components which you are needlessly multiplying (web servers, databases, application runtimes, …) have spent decades optimizing for resource pooling (with shared buffers, caching, event scheduling, …). These efforts are all thrown away when run for a single client/container further lowering (and quite drastically at that) the headroom for optimization and scaling.

permalink
report
parent
reply
7 points
*

There’s essentially no overhead with containers. Performance is almost identical to bare metal in most cases.

permalink
report
reply
4 points

AIO is the way

permalink
report
reply
2 points

I also use the AIO docker and I’m happy with it.

Fully automatic Borg backups from within the container is neat

permalink
report
reply
2 points

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.

permalink
report
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 4.6K

    Monthly active users

  • 1.6K

    Posts

  • 15K

    Comments