PhotoPrism
AI-powered photo management and backup app and self-hosted alternative to Google Photos.
Why consider PhotoPrism?
PhotoPrism is an open-source photo and video management app powered by machine learning. It features automatic face recognition, object categorization, geographic maps, and duplicate detection.
Learn PhotoPrism by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is PhotoPrism?
PhotoPrism is an AI-powered personal photo and video management application implemented in Go and TensorFlow. It operates as a privately hosted alternative to commercial cloud galleries like Google Photos, Apple iCloud Photos, and Amazon Photos.
PhotoPrism uses on-device machine learning to automatically tag and classify images, detect and cluster faces, identify objects and landmarks, convert RAW camera files on the fly, and plot photo locations on interactive world maps without sending any biometric or visual data to external cloud APIs.
Who Is It For?
- Photographers & Visual Artists: Browsing and organizing high-resolution RAW camera libraries alongside JPEG and WebP previews.
- Families: Centralizing decades of multi-generation family photo archives in a private, searchable gallery accessible from any web browser.
- Privacy Advocates: Enjoying AI-assisted semantic photo search and facial grouping while keeping personal memories strictly on local storage.
Key Features
- On-premise AI classification powered by Google TensorFlow: Automatic tagging for landscapes, animals, vehicles, and objects.
- Facial recognition and clustering engine with customizable person names and relationship labels.
- Interactive geographic World Map displaying photos based on embedded EXIF GPS coordinates.
- High-performance RAW image conversion supporting hundreds of camera models via LibRaw and Darktable.
- Progressive Web App (PWA) interface with WebDAV synchronization support for mobile photo auto-backup.
Deploying PhotoPrism with Docker Compose
PhotoPrism operates alongside MariaDB for optimal indexing performance:
version: '3.5'services: photoprism: image: photoprism/photoprism:latest container_name: photoprism restart: unless-stopped environment: - PHOTOPRISM_ADMIN_PASSWORD=secure_admin_password - PHOTOPRISM_ORIGINALS_PATH=/photoprism/originals - PHOTOPRISM_DATABASE_DRIVER=mysql - PHOTOPRISM_DATABASE_SERVER=mariadb:3306 - PHOTOPRISM_DATABASE_NAME=photoprism - PHOTOPRISM_DATABASE_USER=photoprism - PHOTOPRISM_DATABASE_PASSWORD=secure_db_password volumes: - /media/photos:/photoprism/originals - ./storage:/photoprism/storage ports: - 2342:2342 depends_on: - mariadb mariadb: image: mariadb:10.11 container_name: photoprism_mariadb restart: unless-stopped environment: - MARIADB_DATABASE=photoprism - MARIADB_USER=photoprism - MARIADB_PASSWORD=secure_db_password - MARIADB_ROOT_PASSWORD=root_secure_password volumes: - ./mariadb_data:/var/lib/mysqlStart the instance:
docker compose up -dOpen http://localhost:2342 in your web browser, log in with username admin and your configured password, and trigger initial library indexing under Library -> Index.
Practical Use Cases
1. Semantic Visual Search
A user searches for "beach sunset in Italy 2023", and PhotoPrism instantly filters images matching AI image classifications, color palettes, and geographic EXIF coordinates.
2. Automatic Mobile Camera Upload
A mobile user installs a WebDAV sync client (like PhotoSync) on Android or iOS to upload newly captured camera photos to the PhotoPrism originals folder whenever charging overnight.
3. Facial Grouping and Album Creation
A parent reviews clustered faces, assigns family member names, and creates smart dynamic albums containing all photos of specific children across years.
Troubleshooting and Limitations
- Indexing Resource Intensity: Initial indexing and TensorFlow classification of tens of thousands of RAW images can fully utilize CPU and RAM; allocate at least 4 GB of RAM to the Docker container during bulk imports.
- Read-Only Originals Mode: PhotoPrism defaults to non-destructive indexing without modifying your original files; enable
PHOTOPRISM_READONLY=falseonly if you want PhotoPrism to manage folder file moves directly.
Official Resources
- Official Website: https://www.photoprism.app
- GitHub Repository: https://github.com/photoprism/photoprism
- Documentation: https://docs.photoprism.app
Related tools
More options with a similar category or technology profile.
MyPaint
Nimble, distraction-free, and easy graphic application for digital painters.
Pencil2D
Easy, intuitive traditional hand-drawn 2D animation software across raster and vector.
Hydrogen
Advanced open-source drum machine and pattern-based step sequencer for audio production.
Pure Data
Open source visual programming language for multimedia, audio, and physical computing.