Why OpenCloud looks promising and what still holds me back #2245
Replies: 3 comments 11 replies
-
|
i agree with the docker compose/config it so complicated been trying for 3 days now to get Oauth2 working with authentik and an ldap outpost working. but i do like Collabora is a separate container i dont ever see myself using that so its nice to have it disabled outright |
Beta Was this translation helpful? Give feedback.
-
Well, we are getting FLAK for the way we structured the compose files, regardless of how we do it. It is hard to build a set of compose files that play well together without them being tied to each other like we did it. You compose the deployment according to your needs. With the current compose files you can use one .env file to configure what you need. Problems with using authentik or authelia are being worked on, but in principle you can configure an external IDP. The dependencies of opencloud are many, and that complexity can only be hidden to a degree. We try to describe the compose setup in the docs. How would you document the installation with just a set of example docker compose files? Unfortunately, there are already too many variations in configuration for it to be simple. We could be even more opinionated and maintain only two flavors of the compose stack. We need at least one that contains all features and integrates keycloak, tika, collabora, antivirus ... everything. And one where we let users integrate external services. Then when something changes we have to update both. 😞 The current compose stack combines the two flavors by using a default configuration that represents our idea of a fully working OpenCloud deployment. It can be customized to accomodate several use cases ... Maybe we should add more example .env files? Any ideas are welcome. |
Beta Was this translation helpful? Give feedback.
-
|
@tamis-laan I agree with you on the compose issue. This is IMHO way to opinionated and locks out people using certain deployment environments (e.g. portainer). I hand-crafted my own compose setup from the dev examples in the main repo. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’d like to explain why I’m considering a move from Nextcloud to OpenCloud.
Why OpenCloud is appealing
First, there are some fundamental architectural reasons.
Nextcloud is built on PHP, which makes it feel slow and heavy in practice. Performance tuning helps, but the baseline remains bulky.
OpenCloud, by contrast, is written in Go. It’s lean, fast, and predictable in resource usage.
Second, Nextcloud tries to be many things at once. Over time it has grown into a broad application platform, which adds complexity and dilutes focus away from its core role as a file sync and sharing system.
OpenCloud feels more opinionated and focused on doing one thing well.
Finally, OpenCloud’s file-based storage model is a major plus. It’s transparent, easy to reason about, and straightforward to back up without special tooling or database gymnastics.
What’s blocking migration
That said, there are still a few blockers that make a full migration difficult.
CalDAV and CardDAV support are missing. While OpenCloud can integrate with Radicale, that means introducing an extra Python service. At that point, the question becomes: why migrate away from Nextcloud just to reintroduce comparable complexity elsewhere?
The Collabora integration also raises questions. Needing a separate “collaboration” service container feels like an internal implementation detail leaking into the deployment model. Why isn’t this more tightly integrated, or at least abstracted so users don’t need to reason about it?
Lastly, the Docker Compose setup is problematic from an ergonomics point of view. Requiring users to clone a repository and run a composite Compose project makes the setup opaque and hard to customize. A set of clear, standalone example docker-compose.yml files would be far preferable—pick what you need, adapt it, and move on.
Beta Was this translation helpful? Give feedback.
All reactions