SyncthingFUSE first release candidate

Would you please describe use cases when SyncthingFUSE shines? Is it use case with really huge storage? Or - what?

SyncthingFUSE is particularly useful if you have a Syncthing device with a lot of data that you want access to, but don’t have room for all of on another device.

For example, you may have a large collection of photos on a desktop running Syncthing at home. Your laptop’s hard drive may not be large enough to hold all of the photos. Running SyncthingFUSE on the laptop, you will see all of your photos. As you view the photos on your laptop, they’ll be read from the local cache or pulled from home. The local cache will not grow larger than a fixed size, though.

Thanks for the clarification. Very interesting feature. Unfortunately at the moment I have not got yet an appropriate use case to try, but I’ll keep in mind would such opportunity will appear.

Seems like a great use case for mobile devices. Looking forward to when their is a mobile client. This kinda reminds me a bit of a Ceph-like use case where you have a distributed fault tolerant object store (ST on multiple computers in this case) and you use a client without ST to access and read-write data to it.

And of course way easier to install than Ceph for the normal user. :wink:

This should be integrated in Syncthing… Giving you an easy “Sync” or “Stream” choice for every folder. :vulcan:

There are lots of discussion on selective sync functionality on GitHub.

As always, if you’re willing to contribute the work, please go ahead :smile:

Why? It’s already easy, you either use one, or the other.

Wouldn’t it make packaging etc easier? And I think the overlap of users of the two is huge… So why split the userbase if most people use both or would use both if they knew about SyncthingFUSE?

It doesn’t make much sense to use both, what’s the point of that? You’d use one or the other.

You’d sync folders you need often and offline (music on a smartphone, keepass database,…) and you’d stream big folders you need seldom (movies on a tablet or a family photo collection,…).

I agree that it makes sense to merge this directly into Syncthing somehow.

That would also make it possible to support normal and “on-demand” folders from the same app.

1 Like

Well this whole thing does not work outside of Linux, so how do you suggest we do that?

1 Like

It’s possible to merge this as a Linux- (and Mac) only feature. But the merging needs to be pushed by @burkemw3, it needs to fit in cleanly, and it needs to make sense. :slight_smile:

2 Likes

Cries about the feature not existing on Windows in 3, 2, 1.

1 Like

This might be a stupid suggestion, but what if instead of integrating FUSE access into synthing (AKA syncthingFUSE) one would integrate a webdav server into syncthing - one could interface that with windows, fuse, whatever is needed…

On the other hand, I kinda like the minimal approach of syncthing, allowing it to run on weaker hardware. This is not really a feature request, but more like an idea to give syncthingFUSE’s functionality in a cross plattform way…

That would sort of work, apart from webdav quirks of not supporting files larger than 50MB on Windows without registry hacks.

I think it would be enough if Syncthing provided a Rest API to access files, and other people can write platform-specific wrappers for that API (or extend existing wrappers).

There’s already GET /rest/db/browse, so we just need something like GET /rest/db/file for readonly on-demand functionality.

Edit: This approach would actually be preferable for Android, because we could include Syncthing directly in the system file browser.

3 Likes

Just wow…

2 Likes

Linux is insulted most of the time.

The tools of Windows are great as well as those of Linux or Mac. We use the best tools we need to do the job we have. If you need a wrench to do a job, you can’t be so suborn to use a screwdriver and damn the wrench. All operating systems have their pros and cons. This FUSE work, today, is used within Linux. Possibly, without condemnation, it may be refined someday to also be utilized within Windows.

Thank you for your work, Matt!

Another Stupid Question: Why not using Placeholder Files?

AFAIK BTSync/Resilio is using this Approach. Short: It creates Placeholder files like originalname.bts The .bts files are linked to the Main Programm. So if a user double clicks this files, it opens a small helper App which tells the Sync Daemon to fetch/download the real File

This approach would be more simple to adopt to all Plattforms i think. Of course the FUSE is more elegant and allows direct reading of the files :slight_smile:

http://blog.bittorrent.com/2015/06/04/selectively-syncing-folders-and-files-with-bittorrent-sync/

BR, Frank

1 Like