Photoprism - A Google Photos Replacement
My Google Photos account ran out of storage recently (since 2021 June, Google has stopped providing free storage for photos in High Quality), and I was looking for a self-hosted, open source replacement, with similar features to Google Photos (fast gallery view, facial recognition, object detection).
I found PhotoPrism, an open-source, self-hosted, web-based photo manager with features such as facial recognition, object tagging, automatic import and organization, and the ability to view photos with location information on a map. I was impressed, and deployed it on my server.
You can try their demo here. To get started (via Docker Compose), see the guide here.
PhotoPrism can also be installed on mobile devices as a Progressive Web App, offering a near-native app experience.
Mobile Sync
Photoprism suggests using PhotoSync, an app available on Android and iOS. However, the WebDAV sync feature, essential to work with PhotoPrism, is a paid feature.
Syncthing is a free, open source continuous file synchronization program, with a reliable conflict resolution algorithm. It offers Android (via F-Droid) and iOS versions as well.
You can sync your phone's camera folder (sometimes called DCIM
) to PhotoPrism's import
folder using Syncthing.
Then, you can use this docker compose.yml
to setup Ofelia, a job scheduler for Docker, to trigger the PhotoPrism import process (which adds photos to your library and organizes them).
This can be done with the following config.ini
for Ofelia:
[job-exec "photoprism import"]
## See schedule syntax at https://pkg.go.dev/github.com/robfig/cron
schedule = @daily
container = photoprism
command = photoprism import
no-overlap = true
By using the Send & Receive Folder type in Syncthing, whenever an import is performed by Photoprism, the imported photos in your phone are automatically deleted, freeing up space