I use a NAS, raspberry pi, and s3 with the following workflow:
Photos are imported from SD card using a script. This script creates a new directory, captures some metadata, copies the photos in and creates thumbnails. This directory is rsynced to the NAS then encrypted, compressed and sent to s3. Nightly, from another location a raspberry pi with a large encrypted disk rsyncs the entire NAS.
All viewing and editing of photos is done against the NAS, and any changes are picked up nightly by the pis. The s3 copy acts as an immutable original.
Photos are imported from SD card using a script. This script creates a new directory, captures some metadata, copies the photos in and creates thumbnails. This directory is rsynced to the NAS then encrypted, compressed and sent to s3. Nightly, from another location a raspberry pi with a large encrypted disk rsyncs the entire NAS.
All viewing and editing of photos is done against the NAS, and any changes are picked up nightly by the pis. The s3 copy acts as an immutable original.