this post was submitted on 07 Mar 2024
83 points (95.6% liked)

Selfhosted

40157 readers
463 users here now

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!

founded 1 year ago
MODERATORS
 

I hear people say that about Nextcloud often, which is part of why I haven't bothered setting it up yet.

Is there a technical reason why it's slow and clunky? Any problematic choices with how it was built?

you are viewing a single comment's thread
view the rest of the comments
[–] TCB13@lemmy.world 1 points 8 months ago (2 children)

Seafile, that's a name I haven't heard in a very long time. How does that work in terms of self-hosting limitations, mobile clients and sync? Do you have any experience with Synching for instance? How does it compare performance wise?

[–] Lem453@lemmy.ca 4 points 8 months ago (1 children)

Seafile is extremely fast. I don't use syncthing so cant compare.

I use SSO with authentik and works very well with multiple users.

Android app doesn't have 2 way sync if you need that (nextcloud doesn't either).

There are no limitations with self hosted as far as I know. I just wanted a simple sync all that works with sso for multiple users and it works very well.

[–] TCB13@lemmy.world 2 points 8 months ago

Great to know, last time I tried it I was running on a very weak ARM platform and while it worked way better than NC I was impressed with the performance. Thanks.

[–] ogarcia@lemmy.world 1 points 8 months ago (1 children)

Synching is currently the fastest and lightest you will find, but the concept is different from Seafile or Nextcloud. With Synching there is no central server, you have resources (folders) shared between nodes on a peer-to-peer basis. This has several advantages, the most obvious one is that if a node goes down the rest continues working, but also that if a file is available in two or more nodes when a new node enters it will download that file from all the nodes in which it is available. As a disadvantage we could say that there is no web server where to see the shared files, so you will not be able to enter a URL with username and password and browse the files and upload or download. You will not be able to share files with third parties through a URL either.

[–] TCB13@lemmy.world 1 points 8 months ago (1 children)

I know exactly how Synching works, the point is not the p2p nature of it, the point is that Nextcloud's sync performance and reliability isn't even comparable because the desktop clients, sync algorithm and server side tech (PHP) won't ever be as performant at dealing with files as Go is.

The way Nextcloud implemented sync is totally their decision and fault. Syncthing can be used in a more "client > server" architecture and there are professional deployments of that provided by Kastelo for enterprise customers with SSO integrations, web interfaces, user management and whatnot.

Nextcloud could've just implemented all their web UI and then rely on the Syncthing code for the desktop / mobile clients sync. Without even changing Syncthing's code, one way to achieve this would be launch a single Syncthing instance per NC user and then build a GUI around that that would communicate with the NC API do handle key exchanges with the core Syncthing process. Then add a few share options in the context menu and done.

This situation illustrates very clearly the issue with Nextcloud development and their decisions - they could've just leveraged the great engine that Syncthing has a backend for sync but instead, as stubborn as they are, they came up with an half assed-solution that in true Nextcloud fashion never delivers as promised.