A little background first: I’m selfhosting our (wife and mine) files for over 12 years now, started with a simple FreeNAS folder, switched to Owncloud and moved on to Nextcloud after the split. We only really need the files part, and while it works fine in general, setting it up took more tinkering than it should’ve.
I’m also not a fan of NC’s direction, moving from file cloud hosting to a “full-stack” enterprise one-for-all solution. While that wouldn’t be an issue in general, it seems that other parts are prioritized without getting the older parts to work correctly first.
Which seems to match with the recent-ish code analysis https://www.bsi.bund.de/DE/Service-Navi/Presse/Alle-Meldungen-News/Meldungen/Projekt-CAOS-30_Nextcloud_250205.html (in German, although CVE entries have an English description) which found nearly 40 vulnerabilities, amongst them modules like 2FA/MFA.
So I’ve tested through most of the other options, but maybe I missed something obvious.
Requirements:
Things I’ve tried:
Nextcloud
Syncthing
Pydio Cells
Seafile
Owncloud Infinite Scale
So: did I miss something? Any obvious software solution?
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:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
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.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I don’t know that I can answer your question, sorry, but something you said confuses me.
Why? I think you missed describing a requirement, because there’s no reason SyncThing can’t do “for syncing from a central server.” Do you mean one-way, or one-to-many, or what? What, exactly, doesn’t SyncThing do that you need?
I believe SyncThing is not the right tool in many scenarios, but I don’t understand these bullet points.
For one thing, SyncThing is only peer-to-peer if you set it up that way. You can absolutely define a “master” simply by only connecting the “clients” to the master. It’s an utterly arbitrary distinction, but the clients won’t know about or communicate with each other unless you explicitly pair them with each other. This is how I have our phones set up: each one is paired to the central server, but neither is an introducer nor knows about each other. We have one directory that the server has shared with both phones, and several directories that the server shares only with one or the other phone. I even have the server connected and sharing all of the directories with a second, backup server that neither phone knows about.
Again, I’m not pimping SyncThing; it has weaknesses, the biggest one being any lack of sophisticated merge ability. I wish it had a plugin system where, for each for type, in case of conflicts it would call out to some external merge program; rather than just throwing up it’s hands and going, “well shucks, guess I’ll just spam a bunch of sync conflict files”. And it can be annoyingly slow recognizing changes and syncing; it would be a terrible choice for any sort of pair programming file sharing.
But what problems have you encountered with it, for your case?
Yep that’s how I have Syncthing set up. All global and local discovery disabled, no firewall ports open on the clients, no broadcasting, no relay servers. Just syncing through a central server which maintains versioning and where the backups run. Works like a charm.
Syncthing is wildly inefficient though. I can understand not wanting to use it.
is there a more efficient alternative that isn’t centralized?
Lots, but rsync is wildly better just on its own.
rsync is not really comparable to syncthing, it’s like comparing Excel to C++ or something. I need to be able to get lay people to install and use it, and syncthing has a UI that allows this while even I would have to do some work to get rsync to do everything syncthing is doing for me right now.