After testing a lot (almost all of them) of alternatives and solutions. Finally I came up with the definitive solution, the one that gives me everything I want in an easy (once set up is done), cheap, secure and lightweight way.
At the end of this tutorial we will have a Photo Storage solution that will allow us to:
- Sync our photos from any device.
- Remove exact-photo duplicates efficiently.
- Automatically organize our Gallery by Year and Month.
- Manually run Face Recognition and Face Scanning.
- Manage our gallery from DigiKam.
- Have an online gallery with a map, faces, tags, ratings and other filters.
- Upload an encrypted backup of our gallery to any cloud service.
- Locally generate a backup on a separated drive.
- Securelly access our Gallery from anywhere outside our network.
This can be achieved using a Raspberry Pi 4 and a HDD Storage drive. Pretty cheap!
The stack we will be using is the following:
- PiGallery2 - A simple and lightweight gallery with all that you expect. Read only.
- You can also use PhotoView instead if you want to be able to do the Face Recognition on the Raspberry itself. I personally prefer not to carry this workload on the RPI.
- Syncthing - A simple, fast, peer-to-peer syncing tool.
- Phockup - Script to organize your Photos.
- Czkawka - Find duplicates for your photos really fast.
- SSHFS - Manage remote Gallery folder locally.
- DigiKam - Face Recognition and Metadata management.
- rsync - Efficient backup tool.
- rclone - Rsync for cloud services.