I have a DIY NAS, based on a Raspberry Pi and an external hard disk enclosure, running in my kitchen. The disks are encrypted with LUKS. A combination of Syncthing and a cron job ensure that photos from my phone are constantly synced to the NAS without any input from me, and old photos are removed from my phone. A nice bonus is that if someone were to search my phone, they would not find many photos on it. I also never run out of space for photos/videos on my phone.
To view photos I use Shotwell. It does a decent if not perfect job of tagging, basic editing etc.
For encrypted, deduplicated offsite backups I use rsync.net and Borg, again together with a cron job.
All this crap is configured with Ansible in an effort to make it a little less fragile and more reproducible. It has been running without maintenance for a year or so but if you take this path, expect to spend many, many hours tearing your hair out over SAMBA Unix permissions and all sorts of other delights...