Browse, organize, and share your photo library with PhotoPrism — a self-hosted AI photo app with face recognition, geo-tagging, and automatic categorization.
2+ GB RAM. Initial indexing of a large library can take several hours.Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/media/photoprism/photoprism-ubuntu.sh
chmod +x photoprism-ubuntu.sh
sudo bash photoprism-ubuntu.sh
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/media/photoprism/photoprism-ubuntu.sh
chmod +x photoprism-ubuntu.sh
The script installs Docker if needed, then sets up the service automatically.
sudo bash photoprism-ubuntu.sh
Open your browser and navigate to http://your-ip:2342. The default password is set during install.
http://<your-server-ip>:2342
Go to Library → Index to start the initial scan. PhotoPrism will extract metadata, run face recognition, and geo-tag photos automatically.
| Port | Purpose |
|---|---|
| 2342 | PhotoPrism Web UI |
PhotoPrism is an AI-powered photo management application for self-hosters. It uses TensorFlow for automatic subject classification, face recognition, and scene detection. Photos are browsable on an interactive world map using embedded GPS data, and the clean interface makes it a polished alternative to cloud services.
Google Photos applies AI analysis to your personal photos to improve Google's ad targeting and machine learning. PhotoPrism runs the same TensorFlow-based AI on your own server — face recognition, object classification, scene detection — without any data leaving your home. The results feed into an interface that rivals Google Photos: a timeline sorted by date, albums by place or event, a people view showing everyone by name, and a map view showing where every photo was taken.
PhotoPrism serves on port 2342 by default. Proxy through Nginx Proxy Manager with HTTPS for remote access — WebDAV clients and mobile browsers require HTTPS. MariaDB (3306) is internal. The originals directory stores your actual photo files — ensure it is on reliable storage with a backup strategy.
Immich (mobile backup app, faster indexing, more active development), Nextcloud Photos (simpler, integrates with Nextcloud), Piwigo (older gallery-focused, less AI), LibrePhotos (Python-based, similar AI features). PhotoPrism is the best choice for photographers who need RAW support, WebDAV, and polished AI classification without a mobile backup requirement.
Skip PhotoPrism if you primarily need a mobile photo backup app — Immich has a dedicated iOS/Android backup app that PhotoPrism lacks. Also skip it with less than 2 GB RAM — TensorFlow is RAM-intensive and slow on minimal hardware; disable AI features on low-spec servers, which eliminates the primary advantage of PhotoPrism over simpler alternatives. For a pure gallery without AI, Piwigo uses far fewer resources.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
PhotoPrism uses TensorFlow with a pre-trained NASNet model to classify photos into categories: pets, food, travel, architecture, nature, people, and 1,000+ other ImageNet classes. During indexing, each photo is passed through the model and labels are assigned based on confidence scores above a threshold. These labels become searchable keywords — searching 'cat' returns all photos where TensorFlow detected a cat with sufficient confidence. Classification runs on your CPU (or GPU if configured); no photo data is sent to any external service.
PhotoPrism does not have an official native mobile backup app comparable to Google Photos or Immich. Photos must be added to the originals directory manually, via WebDAV, or by mounting a network share. Some users use WebDAV clients (FolderSync on Android) to sync phone photos to the originals directory automatically. If mobile auto-backup is your primary requirement, Immich is the better choice — it has a dedicated iOS and Android app specifically designed for automatic background photo backup.
PhotoPrism detects faces during indexing using a face detection model. Detected faces are clustered by facial similarity — faces that look like the same person are grouped automatically. You then visit People → Faces and name each cluster. Once named, the People album shows all photos containing that person. New photos of that person are automatically grouped into their People entry on future indexes. The accuracy improves as more photos of each person are indexed.
Yes. Export your Google Photos library using Google Takeout (takeout.google.com) — this creates a zip of all your photos with metadata JSON files. Extract to the PhotoPrism originals directory. PhotoPrism reads the Google Takeout JSON sidecar files and imports dates, descriptions, and location data. For iCloud, export your library from the Photos app on Mac and copy the files. PhotoPrism reads EXIF metadata embedded in JPEG and HEIC files from iPhone photos.
Yes. PhotoPrism supports CR2, CR3 (Canon), NEF, NRW (Nikon), ARW, SR2 (Sony), ORF (Olympus), RW2 (Panasonic), DNG, and other RAW formats via libraw and Darktable. RAW files are indexed alongside JPEG pairs — PhotoPrism detects that DSC001.CR2 and DSC001.JPG are the same image and shows them as one photo. The RAW file can be downloaded directly while the JPEG is used for display. WebDAV access makes the RAW files available to Lightroom, Darktable, and other editing software.
Connect a WebDAV client (Finder on macOS, File Explorer on Windows via Map Network Drive, CyberDuck, or Mountain Duck) to https://your-domain/originals/ with your PhotoPrism username and password. The originals directory appears as a browsable filesystem. In Lightroom, add it as a Connected Catalog source. On Windows, the built-in WebDAV client (net use) or third-party tools work reliably. HTTPS is required — plain HTTP WebDAV connections are rejected by most clients.
Yes, with limitations depending on the plan. PhotoPrism CE (free) supports one admin user and read-only sharing via public links or a public mode that shows the entire library to anyone with the URL. PhotoPrism Plus (paid one-time licence) adds full multi-user support with separate libraries, albums, and access control per user. For a family sharing use case on the free version, a common approach is one shared admin account for the whole family.
Immich is optimised for mobile photo backup — it has a native iOS/Android app that backs up your camera roll automatically, like Google Photos. Immich is faster to set up and has more active community development. PhotoPrism is optimised for photo management — RAW support, WebDAV, polished AI classification, and a more refined web interface. If mobile backup is your primary need, choose Immich. If you are a photographer managing an existing large RAW library with WebDAV workflow requirements, choose PhotoPrism. Many users run both: Immich for phone backup, PhotoPrism for curated photography.