Hi, I’m looking for a FOSS file syncing/sharing solution that does all the following specific things:

  • Sync files only when needed, to save space on my client devices.
  • Preserve the filesystem on the server for backups. So no opaque blocks like SeaFile.
  • No need for external MySQL/Postgres container. SQLite would be okay.

Currently the closest thing to fulfill these is oCIS, but it has a decomposedFS file structure which defeats the second point. Nextcloud may run with embedded SQLite, but I’m reluctant to try it again due to previous experiences (lots of bugs, sluggish, etc). Mountain Duck and FileRun are not FOSS. Filestash would be nice if it can integrate with existing Nextcloud/Owncloud clients for the on-demand syncing functionality, especially on Windows. It would be nice to have an open-source alternative to Mountain Duck, in order to use on-demand sync functionalities with a standard storage backend such as SFTP.

Would you have any recommendations of what to do?

Thank you in advance!

  • Berinkton@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    10 months ago

    I use Syncthing for this type of task on my PC and Phone and it stores a copy of the shared folder on the server with the option for file versioning. Having a Server is optional by the way.

    • rearview@lemmy.zipOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      10 months ago

      AFAIK, Syncthing clones the entire folder across peers (the server is just another peer it seems), which isn’t ideal for my use case Do you know any current way to configure it for selective syncing?

      • Jeief73@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        I don’t think it can do selective syncing. I’ve been also searching for a similar solution but didn’t find one. Finally opted for syncthing with my most important files. Other files I can get them via web using filestash.

      • MangoPenguin@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        10 months ago

        Owncloud supports selective sync, and seems a lot better for performance compared to Nextcloud.

        Alternatively you could roll your own with rclone which is essentially an open source alternative to mountain duck. Then you can just use a simple connection via SFTP, FTP, WebDAV, etc…

        • rearview@lemmy.zipOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          Non-OCIS Owncloud still needs a dedicated database and recommend against SQLite in prod

          I’ve looked at rclone mounting with the --vfs-cache-* flags. But I’m not sure how it can smart sync like mountain duck or handle conflicts elegantly like the Nextcloud/Owncloud clients do. Let me know how to set it up that way if possible

    • recursivesive@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      10 months ago

      I vouch for Syncthing as well. I enabled storing in my own remote hosting provider marking it as untrusted, so my files are encrypted there.

  • BearOfaTime@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    10 months ago

    Commenting largely to watch - I use Syncthing as my daily driver sync tool, and Resilio for the on-demand stuff.

    Resilio has on-demand/selective sync, but I don’t recall if it’s open source, I don’t think so. Plus, it’s hard on memory with larger folders, as it keeps the index in ram. My media sync folder really impacts my desktop, and I only run Resilio on my mobile devices when I want to sync something, then turn it off.

  • theRealBassist@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I don’t think this would solve your particular use case. However, SSHFS is absolutely amazing for remote smb share access.

    I used it on my laptop to access my home NAS for years.

  • eluvatar@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Why no real db? Those other 2 features make sense, but if the only option you can use sacrifices the 3rd option then it seems like a win. Postgres is awesome and easy to backup, just a single command can backup the whole thing to a file making it easy to restore.

  • Shimitar@feddit.it
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I am playing with SFTPGO, while not being a backup solution its a great backbend supporting sftp, WebDAV and much more that you can bind with something on client side.

    Currently using synchthing, but planning to switch since that is not a backup tool.

    • bean@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      10 months ago

      Your post stood out to me. Why isn’t it? Also what would you suggest? Thoughts on restic?

      • Shimitar@feddit.it
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        I use restic. Nice simple and works. Synchthing to keep files synched between phone and server. Restic for server backups.

        Sftpgo is a very interesting backend + web interface if you look for something to access/copy/backup your files remotely.