Here are my requirements:
To accomplish file syncing between my phone, laptop and NAS, I use Syncthing. If you haven’t used it, Syncthing is fantastic. It does peer-to-peer syncing of files between computers, typically but not necessarily on a LAN. The only thing that took me a while to figure out is that you have to be patient — sometimes it will take a few minutes of unresponsiveness before it implements changes.
Deleting old photos is done with a simple Python script, which just checks the timestamps and deletes photos older than a certain age from my phone.
I view photos from the NAS with Shotwell, which rules: For encrypted off-site backup I use Borg. I seriously tried to use Restic but never got there. Borg works very well and ticks the boxes — backups are de-duplicated and encrypted, the CLI is nice to use, and Borg is directly supported by rsync.net who actually keep the data.