TiloBox
Back to directory
PhotoPrism project preview

PhotoPrism

AI-powered photo management and backup app and self-hosted alternative to Google Photos.

LicenseAGPL-3.0
GitHub stars40.1k
Last commit1 weeks ago
Tags6 topics
AiFace RecognitionGallerySelf HostedPhotosGolang
Overview

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.

Guided learning

Learn PhotoPrism by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 10 sections
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:

yaml
1version: '3.5'
2
3services:
4 photoprism:
5 image: photoprism/photoprism:latest
6 container_name: photoprism
7 restart: unless-stopped
8 environment:
9 - PHOTOPRISM_ADMIN_PASSWORD=secure_admin_password
10 - PHOTOPRISM_ORIGINALS_PATH=/photoprism/originals
11 - PHOTOPRISM_DATABASE_DRIVER=mysql
12 - PHOTOPRISM_DATABASE_SERVER=mariadb:3306
13 - PHOTOPRISM_DATABASE_NAME=photoprism
14 - PHOTOPRISM_DATABASE_USER=photoprism
15 - PHOTOPRISM_DATABASE_PASSWORD=secure_db_password
16 volumes:
17 - /media/photos:/photoprism/originals
18 - ./storage:/photoprism/storage
19 ports:
20 - 2342:2342
21 depends_on:
22 - mariadb
23
24 mariadb:
25 image: mariadb:10.11
26 container_name: photoprism_mariadb
27 restart: unless-stopped
28 environment:
29 - MARIADB_DATABASE=photoprism
30 - MARIADB_USER=photoprism
31 - MARIADB_PASSWORD=secure_db_password
32 - MARIADB_ROOT_PASSWORD=root_secure_password
33 volumes:
34 - ./mariadb_data:/var/lib/mysql

Start the instance:

bash
1docker compose up -d

Open 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

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=false only if you want PhotoPrism to manage folder file moves directly.

Official Resources

Related tools

More options with a similar category or technology profile.

PhotoPrism FAQs

PhotoPrism is listed as a Media tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

PhotoPrism is listed under the AGPL-3.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

PhotoPrism is listed as an alternative to Apple Photos. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.