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?

  • Handles@leminal.space
    link
    fedilink
    English
    arrow-up
    17
    ·
    5 hours ago

    I’d really recommend giving Syncthing a second chance, twist a few knobs in the settings until it works. I’ve used it for years with barely a hitch.

    • bandwidthcrisis@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 hours ago

      Do you use it on a phone too? I did find it tricky to set up (more options than I really need, and the phone app settings don’t really work unless you select “Web UI”, which is really strange), but I didn’t mind the setup if I could then leave it alone and it works. Ideally I want to set this up on other family phones, so I can update notes and they appear everywhere.

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

          Good to know. If I can get it working reliably, it will be worth sticking with. Someone suggested it might just not be auto-starting on reboots. I’m trying the fork of the UI on f-droid to see if it helps.

      • It’s the main way I sync my phone.

        I have a different app for photos, but SyncThing on my phone, and on my desktop, and again on one of my home servers, do most of the download and data syncing.

        Occasionally I’ll have to manually run SyncThing; I’m not certain that Android is reliably starting it after reboots, but for the most part it just does it’s thing really reliably. There is a lag; it can take a few minutes for changes to sync - it’s not immediate. For me, this isn’t a problem, and I’d rather that than a battery suck, so I haven’t messed with it.

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

          I could live with a few minutes, but it’s showig as offline for days. Maybe it is failing after a reboot. At least that would be a known situation to watch for.

          • Honestly, I think Android is fucked for debugging stuff like this. I installed a program on mine and my wife’s phones - different makes & models - and configured them exactly the same, including the app settings in the OS. Mine works perfectly and barely shows up in battery use, near the bottom. Her’s drains her battery even when she’s not using it, regularly running at 50% of total battery consumption.

            With Android YMMV is the rule, rather than the exception. There’s just too many variables.

      • sunstoned@lemmus.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        I prefer Syncthing-fork for some more straightforward configuration. Mainly the three button options equating to “follow the run conditions, damnit”, “run damnit”, and “stop damnit”

      • Handles@leminal.space
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 hours ago

        Yeah, phone to laptop, and I recently synced all backups and files from an old phone to a new one, too. Once you have the computer setup, you can basically connect phones by reading its QR code.

        If the official Syncthing Android app is giving you a hard time, maybe try Syncthing-fork? IIRC that’s only the daemon and web GUI wrapped as an app. But I’ve used the main app only for the past few years.

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

          I have the phones connected, but the app just decides to disconnect and stay that way until I check it. I’ll give that fork a try, thanks!

        • BearOfaTime@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 hours ago

          Fork works much better on Android, largely because it moves sync conditions into the individual sync jobs (what ST calls folders).

  • JubilantJaguar@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 hours ago

    If you don’t mind going full back-to-basics, you can do this with standard command-line tools and no cloud server. Contrary to popular wisdom, a server is not necessary to sync files between a computer and a mobile device.

    I use ssh and unison over wifi hotspot, no cable required. Works fine though it does require a button to be pressed. It doesn’t sync constantly in the background. Personally, after many years of doing that, I decided that it was an anti-feature.

  • TerkErJerbs@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    5 hours ago

    I use LocalSend between all my devices (work, personal, etc). Mac, Linux, Android, Winblows. All. It’s fast, effective, lightweight. FOSS.

    • Bluefruit@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      I was recently looking for something like this and couldn’t find what i was looking for, so thanks!

      • TerkErJerbs@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 hour ago

        NP! It’s a great app, the dev updates it really frequently and I’ve never had any functional issue with it. I keep meaning to drop onto their git issues board and make a couple of small quality of life suggestions for the UI/UX as I use it dozens of times per day for work (there are some processes that currently take 5 clicks/per that could be reduced to 1 or 2 max) but that is a very small and nice problem to have.

      • TerkErJerbs@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours 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
          ·
          4 hours 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@lemm.ee
            link
            fedilink
            English
            arrow-up
            2
            ·
            4 hours 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.

  • Tramort@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    5 hours ago

    Resilio sync is outstanding

    It’s free for personal use, but the license process is annoying (email)

    • bandwidthcrisis@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 hours ago

      I’d like to use resilio, I even bought a license to support it as I use it for all my pc syncing. But it’s currently showing 41% battery use for today on my phone for 2 minutes screen time 11.5 hours background. Lenny Voyager shows 7% for 1.5 hour screen time. So something is not good with the phone app. Maybe the Android battery info display is misleading somehow (it confuses me because it shows a percentage of the time-interval you’re viewing, not a percentage of the total battery drain(.

      • BearOfaTime@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 hours ago

        Yea, I like Resilio, but it’s a battery and ram hog.

        Syncthing should work fine for you.

        Does you ohine have some custom battery management? Some vendors do that, and it causes issues.

      • Tramort@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        That’s a good call out. My user case allows me to terminate the phone app after it syncs, and battery doesn’t seem to be hit hard even if I forget. But it’s important to look at, and it might not work for you.

    • bandwidthcrisis@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 hours ago

      Interesting, I’d not heard of that. But does it auto-sync files? It mentions the clipboard, sharing links and browsing remote directories, but I don’t see a file sync mentioned.

      • timeslip1974@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 hours ago

        I didn’t see the file sync part.for that I use next cloud.which works great but my he overkill if that’s all your going to use it for

  • deadcatbounce@reddthat.com
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    4 hours ago

    If you’re using Obsidian for free then maybe try the built-in link which you’ll find in the built-in options I think. It’s a cost option but cheap. I think it eliminates the problems I’m having (below). I’m stubborn.

    I’m not having problem with Syncthing, bar dealing with the stupid attempts to deal with deleted files that Android leaves laying around. I have .stignore files with .trashed-* and .trash/ entries on the Linux machine. Still having problems with _ed directories though and Syncthing conflict files when the sync isn’t fast enough when I switch between the two.

    Sometimes it takes Syncthing a while to work out the best route between the two nodes. Sometimes days. It used to send my packets to the internet before letting them back into the local network. Eventually it found a more direct route between them. I’m not sure but I think it has something to do with local IPv6; I’m talking out of my ass though.

    I’m not affiliated to Syncthing or Obsidian besides being a happy user.

    I have decent battery life on my Pixel 7 Pro. I have the respect battery save setting on so syncing stops at 20% or so I think.