1. 2

Hi, I really like how it is possible with Dropbox to have some files present locally and some only remotely. Is there a similar open source solution? It could be a product but I would prefer an open source and something I can personally run at home.
E.g I want to have my notes/keepass to be always present on my Android phone and desktop to allow offline access. The rest of the files could be remote only.

My current solution is to have a SMB share and use Syncthing to sync a certain directory (e.g Notes). But combining multiple solutions feels a bit hacky so I am looking for alternatives.

  1.  

  2. 3

    Nextcloud does this pretty well. It provides a Dropbox-like client for most platforms and on mobiles it exposes itself as a file store so integrates in the same way.

    1. 1

      Can I have some files to be always present on the device? Last time I read it was over WebDAV so I needed a connection if I wanted to access files.

      1. 2

        I don’t think you can if you use WebDAV. If you use one of their clients, the UI is just like DropBox / OneDrive / whatever: files marked as favourites will always be local.

          1. 1

            Oh I had missed that! Looks promising.

          2. 1

            Thanks! I will check it out

      2. 2

        Have you looked at perkeep (ex-camlistore)? Not sure it suits the problem though.

        FWIW, I do the same as you do, I simply have like 3 syncthing folders that get synced to the different computers, or not.

        1. 1

          I have read about perkeep a while ago but couldn’t really understand what it does. Perhaps, it is time to try it out

          1. 1

            With perkeep isn’t everything always remote?

          2. 2

            The best I’ve seen is Mountain Duck but unfortunately while it is FLOSS there is no Linux port yet

            1. 2

              Looks rather similar to rclone.

              1. 1

                Hmm, maybe. rclone looks more like sshfs? It might be better than sshfs, but what Mountain Duck can do is sync the local (partial) copy of a directiory to the remote in the background / resume after connection loss etc, like Dropbox would.

                1. 1

                  I have used Mountain Duck up to version 4 beta and I switched to rclone. The two services are pretty comparable, minus the UI for rclone. They both do partial/on demand syncing of files and mount most services.

                  I had fewer sync errors with rclone than I did when I was using MD. I mainly sync to google drive, box, and dropbox. I have lost some important work with MD when it failed silently on a bad connection. I haven’t experienced the same problems with rclone but I have also just been at home most of the time since I set it up.

                  1. 1

                    They both do partial/on demand syncing of files and mount most services.

                    Interesting… I can’t find anything about this in the docs. What does your setup look like?

                    1. 1

                      This is what I use to mount a google drive mount. Take a look at the Rclone mount page, specifically to the vfs file caching section.

                      $(eval tmp_dir := $(shell mktemp -d -t rclone-XXXXXXXXXX))
                      rclone cmount --daemon \
                               --allow-other \
                               --dir-cache-time 48h \
                               --vfs-read-chunk-size 32M \
                               --vfs-read-chunk-size-limit 2G \
                               --buffer-size 512M  \
                               --vfs-cache-mode full \
                               --daemon-timeout 5m \
                               --cache-dir $(tmp_dir) \
                               mount_name mount_folder
                      
            2. 2

              Have you tried just using Syncthing, without the SMB share? There’s a native Android client. It works Okay, though I need to figure out a better way to arrange the sync destination/layout.

              1. 1

                I used to have only Syncthing on all of my devices but now have configured a SMB share so that it is a bit easier to browse the files. Also my family could use it to access a family photo archive.

                1. 1

                  Right, I use Syncthing to back up my phone’s photos to my NAS, which has its own sharing/display mechanisms. Feels like a fairly good substitute for Google Photos sync, at least.

                  Do you feel that the SMB component is actually combining multiple solutions though? It sounds like the actual Dropbox-like selective sync is all done by Syncthing, but you’re augmenting the result with SMB for more usecases. It just so happens that Dropbox does all those things in addition to sync (sharing, album gallery, etc) but I feel more comfortable knowing that Syncthing will only safely sync files and not risk being exposed to weird sharing vulnerabilities.

                  1. 1

                    Syncthing works well for me for the same use case: backing up files from the device to NAS. The other way around is a bit more challenging. Let’s say I want to access my family photo archive (which is many gigs) from my phone. For this I was planning to use SMB share cause it lets me browse the remote folder and access the file I want. I guess it would be nice to have GUI for Syncthing to stop ignoring a file/folder and download it to the device.

                    1. 1

                      Yea you’re totally right about that. I also find syncthing is much simpler to reason about as one-way backups rather than by-directional data flow.

              2.  

                UPD: I will try owncloud. It has virtual file support on the desktop client and a similar thing on the Android app. Nextcloud seems to support it (virtual drive) soonish as well.