Your unified photo hub — sync, browse, and search your photos with AI.
Photos Drive is a photo management platform that connects and displays all your photos across different storage solutions in one place.
It syncs and uploads photos from your computer to configured databases and photo storage accounts using a CLI tool. A web UI then presents your photos in a list or map view, organized by nested albums that reflect the folder structure on your computer.
- Upload photos directly to Google Photos from the CLI or the Photos Drive Python library.
- Sync & compare local vs cloud photos with the CLI.
- Integrate easily with other systems using the Photos Drive Python package.
- Browse albums and folders in a simple Web UI.
- View photos efficiently with lazy loading and pagination.
- Secure login to the Web UI using Google OAuth2.
- Explore photos on a map to see where they were taken.
- AI-powered search with Gemini + CLIP: find photos by objects, places, or descriptions.
Refer to this doc for a detailed walkthrough. You can play around with the test app at https://photosdrive-demo.netlify.app. Here are a few examples of what the flow will look like:
-
Run this command on your machine with your photos:
photos_drive_cli sync . --config-mongodb="mongodb+srv://123"
-
It will give you a diff of photos to upload:
-
Once it's synced, it can be viewed on the web app:
Refer to the setup guide to learn how to set up your own Photos Drive system end to end.
See the internal documentation guide for details on the project setup.
This project is intended for educational purposes only and not for commercial use. The maintainers disclaim all liability for damages or data loss resulting from the use of this software.
Photos Drive is licensed under the GNU General Public License (GPL).
Please refer to the LICENSE.txt file in the root of this repository for full license details.
Thank you for checking out Photos Drive! Contributions, bug reports, and feature requests are welcome via GitHub issues and pull requests.



