Client only folder integrated in Syncthing as folder type

Hello all, first thing: I love Syncthing, it has been so useful and reliable for years. Thank you to all the contributors, of code, designs, translations and more.

There is one limit I often stumble upon: I have to duplicate the storage of all the shared folders even when I don’t want that. Ideally, I’d like to have some lite-devices, where possibly only some shares are not copied, but are simply read (and possibly cached) from other Syncthing instances. A typical use case would be to have a share with media files, that is archived on one-two devices at most (e.g, a desktop computer and a home-cloud/NAS device), and just read and cached from tablets and laptops, but also have other shares which are smaller and synced everywhere, for additional safety and just because it’s practical and storage is cheap.

As a user, I would like to have it as a folder type, without resorting to additional software and multiple identities on the same device. Beside the fact that the implementation would be radically different, really I think it should look and behave similarly in the Syncthing UI. I know it might be hard to have that cross platform at the beginning, but that can happen in steps. What do you think? If there is some interest, I can create a bounty.

1 Like

You mean like remote access to syncthing or something? It’s not exactly clear from your description what you are after.

In other words, I’d like add a folder (in the UI) from another node without fully synchronizing it locally, and making it transparently accessible as a FUSE mount. Could be initially read-only with some level of caching, but eventually it could be fully functional and read write (perhaps with some write-back buffer etc).

…and of course, if the folder is shared by many nodes, it would choose one of the many, it shouldn’t be a client of a specific one.

There was syncthing-fuse project that effectively did that, but there were very few users, and the maintainer abandoned it fairly quickly. If you are able to write code, you could probably resurrect it.