PhotoPrism

PhotoPrism
  • DevOps
  • Infrastructure
  • Self-Hosting
  • Deployment

Overview

Overview

Photos and media pile up across the company — for documentation, project reports, marketing and technical work. To manage, search and organise them efficiently, I introduced PhotoPrism, an open-source media library. The goal: a privacy-friendly, self-hosted system for central image management with modern features like AI-powered image recognition, face detection and automatic categorisation.

Tasks & implementation

Requirements & solution choice

  • Defined the requirements for an internal image database
  • Chose PhotoPrism for its feature set, privacy-friendliness and Docker compatibility

System preparation

  • Provisioned a new VM
  • Created a dedicated media storage path via an SMB share

Installation & configuration

  • Deployed PhotoPrism with Docker Compose
  • Configured user accounts, storage paths and metadata options
  • Added automated backups of the media directory

Import & structuring

  • Migrated existing image archives (e.g. from Nextcloud and local directories)
  • Combined manual tagging with PhotoPrism's automatic tag detection
  • Set up albums by department, project and use case

Integration & access

  • Integrated it into the existing intranet dashboard (tool overview)
  • Defined user groups, roles and permissions
  • Trained the departments on usage and upkeep

Result

A modern, intelligent media-management system for the entire company: better access to project image documentation, automatic recognition and sorting by content, place and time, and a single, audit-proof and searchable archive for all photos — privacy-compliant and internal, with no external cloud.

Platforms & tools

  • PhotoPrism — open-source photo management
  • Docker & Docker Compose — simple, scalable deployment
  • SMB share — central media directory
  • Nginx / Caddy — reverse proxy with HTTPS

Highlights

  • AI-powered image recognition & automatic categorisation
  • Face detection and content/place/time-based sorting
  • Self-hosted on Docker — full data control, no external cloud
  • Central, audit-proof and searchable archive for all departments