It took me several years in pursuit of a self hosted solution, that I don’t need too much time to maintain. I think the current solution is working very well for me.
I have a raspberry pi with a USB drive attached. The OS is ubuntu, so I can use ZFS. The drive is backed up to backblaze S3 using restic in a cron job. The backup and ZFS health is monitored with healthchecks.io
The data sync across all the devices including the raspberry pi is done using resilio sync.
I view my photos when I am home using an app written by myself: photograf (https://github.com/ptek/photograf) It runs on the same raspberry.