Edit: Thanks for all the suggestions. I’m going to try sticking with syncthing and try the fork of the UI and see if that keeps everything working.

I want to sync files between my linux PC and Android phones (mostly for Obsidian notes).

Can anyone recommend a good real-time sync?

I’ve been trying syncthing, but despite turning off battery optimization for the app, it rarely sees the phone as connected. I don’t want to have to remember to check syncthing every time I edit a note.

I use resilio for syncing between PCs but it looks like it has a high battery usage on the phone, as if it is frequently polling for changes.

I use FolderSync for occasional scheduled syncs (e.g. updating my MP3s from the server to my phone), but a scheduled sync either is frequent enough to affect battery or it risks sync conflicts.

Cloud services such as OneDrive, Dropbox and Google Drive don’t show up as big battery drains, so I assume that they use change notifications from the OS instead.

Are there any real-time 2-way sync apps for phone that don’t have big battery drain and are not for cloud providers?

  • TerkErJerbs
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    Oh yeah sorry, I misunderstood. I think what you’re looking for is local (network) versioning which I’ve had trouble finding in the past as well. I had hoped SyncThing would do it but it doesn’t. Versioning is something a service like git does perfectly (i.e. notifies of and/or resolves conflicts in text files on the fly, seamlessly). When I was doing a lot of writing from different devices I set up a private repo on Github (and later Gitlab) and got my text editor to auto-sync-on-save to the repo (from any device) and it worked great. There are very likely self-hosted solutions that wouldn’t rely on the cloud for that, but for me it worked fine as private repos because nobody but me would ever see those drafts (in a perfect world… we all know microsoft has almost certainly trained their shitty A.I. on my terrible writing versions over those years on Github because they own that platform).

    I know there are ways to get Git working locally, probably for this purpose, but I don’t know of any simple ones to suggest.

    • bandwidthcrisis@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Well, it’s not versioning I need (I have an rsync backup that makes incremental copies). I need a 2-way sync that happens when files changes and doesn’t randomly stop working: I want to edit a note on my phone - it copies to the server. Edit on the server, it updates to the phone. Without having to manually run any separate syncs first. I only mention sync conflicts because right now, syncthing hadn’t updated with my phone for over 2 days, plenty of time for me to update a note elsewhere and then edit the same note on the phone.

      Resilio does it, but it looks like it’s draining the battery. Syncthing doesn’t drain the battery much, but that’s because it has become inactive on two different phones for long periods of time repeatedly.

      Cloud provider apps usually work instantly with little drain, they must trigger from OS notifications, but the apps that sync to local servers just don’t seem to work that way!

      Git is a great solution just for versioning. After I messed up a big note file I had, I set up emacs to hook git into the save function. I just created a repo in that directory, then backed up the whole directory including .git, so the versioning was there with the backup. No need to even use a separate repo, git just gave me a version history for the local files.

      • TerkErJerbs
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        That was the same issue I had with SyncThing, it just seemed to conk out at weird times and I gave up on it (for that purpose). It’s great for centralizing a directory of files from one machine to another but I didn’t love it for keeping a single file up-to-date with changes coming from more than one point on the network.