For those who prefer to avoid solutions like iCloud Photos and Dropbox for backing up photos, you can sync your iPhone photos with Syncthing. To do this, you'll need two things:
-
Möbius Sync is, to my knowledge, the only actively-maintained Syncthing client for iOS. It's free to sync up to 20 MB, and only $4.99 (one-time) to remove that limit.
-
PhotoSync is a nifty iOS app for syncing photos to a number of different destinations. It's free for low-quality transfers, and $6.49 annually for full-quality, background transfers.
First, configure Möbius Sync so that you're syncing a local folder somewhere. The key here is that we can add files to a folder exposed in Files.app, and changes to that folder will (eventually) be picked up by Möbius Sync and synced to whatever destination you've configured.
Second, configure PhotoSync to automatically transfer your photos to said folder. As I noted above, you can use the Autotransfer feature to automate this. Now you're done!
This setup is pretty simple, but I've been looking for it for a while and haven't seen it documented anywhere.
There are some caveats to this approach:
-
Unless you configure PhotoSync to delete photos after transfer, storage space consumed by photos on your device will double.
-
Synchronization is not instant; there's delay between (1) when PhotoSync copies your photos/videos to your Syncthing folder and (2) when Möbius Sync picks up changes to said folder.
-
Neither PhotoSync nor Möbius Sync are fully open source.
That being said, I think this approach still makes a lot of sense if you're concerned about your privacy or want to keep your data out of the cloud. Plus, the PhotoSync team says they're planning on adding an optional pre-sync encryption feature, which is neat if that's something you're interested in.
It's worth noting that the Möbius Sync team is working on getting photo upload working in the app eventually.
Update, 3 Feb 2024: When the backup on my phone gets too large, I move the backups out of the synced folder and configure PhotoSync to only back up photos newer than the current day. This has worked well enough so far.
@Flachzange I don't, the photos don't get sync'ed back to my phones at all, the photos are directly sent to my NAS storage and deleted locally, and then my NAS storage syncs to my Pixel 1 with google photos backup. My only 2 copies of my photos/videos are my NAS storage and google cloud.
@13Dima13 Thanks for the write up, definitely did not know about the Nextcloud which is a GREAT open source solution to de-Google. I read up a bit on r/unRAID and a few more forums, people seem rather divided between a few solutions, namely PhotoSync and Nextcloud, which are great solutions for iOS photos / videos backups.
The few complaints about Nextcloud were security (which you seem to have taken care of with 2FA and Nginx Proxy Manager), more complicated to set up than say PhotoSync or any centralized solutions like Amazon and Google Cloud, slightly less convenient to access photos and videos (Nextcloud app available but not ideal, workarounds possible with another app to view photos), takes up a lot more space (during the NextCloud sync it also creates another folder apparently). NextCloud requiring more apps and is slower to sync than another contender Seafile (Unlike Nextcloud, Seafile doesn't store flat files, it stuffs everything into data chunks for various reasons, including speed).
These are only small downsides for being able to 100% own your own data. However, I think it's a bit missleading to say this is "the end of story" since there are many other solutions out there and NextCloud alone isn't without flaws !
I personally love FOSS but I am still not ready to abandon Google backup just yet because of this Pixel 1 hack with literally free storage. I always believe a local physical backup should always accompany a cloud solution in case a fire takes place or something happens to your hardware. NextCloud is free but still needs to be hosted somewhere and be supported by drives. If you host it on a VPS such as DigitalOcean then you have monthly fees to pay as well. If you host it locally, then you won't have a cloud backup in case something does happen.
Let me know if I missed anything, really liking our discussions so far !