Would this flow work with Immich & Syncthing to copy images and auto upload and delete? - eviltoast

I would like new images to be uploaded to Immich from my phone and deleted after 30 days automatically, so I was thinking about this flow:

  1. I will Sync files to the server using Syncthing

  2. I will Copy files from the Synced folder to an Immich Consume folder, (not sure how to copy only new files (maybe use created date)). Then delete images that are older than 30 days which will remove them from my phone.

  3. I will upload to Immich using Immich CLI (?) which will use the delete after upload flag.

Basically:  

(1)

Camera, Screenshots, etc =Syncthing=> SyncthingImageConsume/{Folder}

(2)

{Script on SyncthingImageConsume}

SyncthingImageConsume/{Folder} =CopyNewFiles=> ImmichConsume/{Folder}

Then delete older than 30 days.

(3)

{Script on ImmichConsume}

Upload to immich and then delete

 

would this work? and is there a better way to do it? any tips?

  • couch1potato@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 months ago

    I created a specific folder to move family photos to that syncs with the server, because i use my phone for work pictures too and I don’t want those to end up on my immich timeline. So I manually move photos to that folder, but that’s the only manual intervention for me.

    I set up the album handling the way I did because my wife spent a lot of time sorting stuff into folders and she wanted the organized folders to carry over to immich.

    I do separately sync the DCIM folder to server with syncthing as well, just as a backup, but those don’t go to immich.

    So for immich destined items it looks like:

    1. Manually move pics to phone “family photos” folder

    2. Syncthing-ext syncs phone folder “family photos” to server folder “syncthing_folders/my_family_pics”. (Also syncs phone folder “DCIM” to server folder “syncthing_folders/phone_pics_backup”)

    3. Syncthing-int (second syncthing instance on different port, so syncthing-ext and syncthing-int see each other as different devices and can work on the same folders) syncs server folder “syncthing_folders/my_family_pics” to some other designated server folder to work with immich… for example “photo_libraries/my_family_pics”

    4. The script I shared runs on server folder “photo_libraries/”

    It’s set up this way because I have syncthing-ext syncing with a bunch of external devices and this way i can funnel just the photo folders into one photo library folder to run the script on.

    If you have more questions it’s cool… I never get to talk about this stuff with anyone who appreciates it 😶‍🌫️

    • Mir@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      6 months ago

      Thank you so much, perfect explanation.

      Do you keep the stuff on your phone then? how does syncthing handles deleting if you’re deleting? did you set up the folder as send only?

      I’m working on setting it up for me to do so:

      1. Manually move some pics on my phone to “Inbox” folder (To be sorted in albums later)
      2. Syncthing will automatically sync “Inbox” and “Camera” folders to “Syncthing Consume”
      3. A job to copy from “Syncthing Consume” to “Immich Consume”
      4. Immich Go will move everything to Immich
      5. Anything in the Inbox Album will get sorted to different albums at some point
      6. Eventually anything that isn’t synced will be removed from my phone
      • couch1potato@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 months ago

        Yeah the phone folder is send only and the server syncthing-ext folder is receive only.

        I never really find myself deleting stuff because I don’t take that many pictures/videos, but my wife is the one always running out of space. I’ve told her when she sees her album in immich it’s safe to delete from the phone.

        I’m not sure how you’d automate deleting stuff while making sure you’re not deleting items that haven’t been sent yet… but, it’s not really something I’m interested in because I don’t have the need.

        Another good practice (at least I’d like to think so), my syncthing-int which sends everything to /photo_libraries also sends everything to two other backup folders that are pinned to separate discs. So if I have a drive failure or multiple drive failures I’d still have a copy of all the photos/albums.

        • Mir@programming.devOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          6 months ago

          I’m not sure how you’d automate deleting stuff while making sure you’re not deleting items that haven’t been sent yet

          Yeah this will be very tricky, I’m thinking if I got over the initial push to Immich, I just delete manually from my phone when I see things have already moved to Immich and I don’t need it anymore.

          Another good practice (at least I’d like to think so), my syncthing-int which sends everything to /photo_libraries also sends everything to two other backup folders that are pinned to separate discs. So if I have a drive failure or multiple drive failures I’d still have a copy of all the photos/albums.

          I will do that to ensure I’ve backed everything up somewhere in case an Immich Failure.