LibrePhotos is a free web-based self-hosted photo manager app that enables you to organize your photos, upload raw images, backup them, and share them with your friends, publicly or with LibrePhotos users.

It also uses a face detection and face classification libraries that auto-discover portrait images and faces.

If the photo contains a geolocation, LibrePhoto can easily extract the location and perform a reverse geocoding using the Mapbox library that allows your first 50.000 geocode for free every month.

You can use LibrePhoto on any machine if you install it using Docker/ Docker Compose. More good news for RaspberryPi nerds is that LibrePhoto is officially supported on Raspberry Pi with an official image.

Features

  • Responsive design that works everywhere
  • Multi-user support
  • The app is available in many languages.
  • Organize photos by people, faces, places, things.
  • Auto Create albums
  • Upload a batch of images
  • Image upload indicator
  • Extract files metadata
  • Social graphs
  • Word clouds
  • Place tree
  • Trash can
  • Support for all types of photos including raw photos
  • Support for videos
  • Timeline view
  • Scans pictures on the file system
  • Supports workers
  • Multiuser support
  • Generate albums based on events like "Thursday in Berlin"
  • Face recognition / Face classification
  • Reverse geocoding
  • Object / Scene detection
  • Semantic image search
  • Search by metadata
  • Integrates with Nextcloud

Packages and libraries

  • The project is written using Python and the Django web framework
  • Image Conversion: ImageMagick
  • Video Conversion: FFmpeg
  • Exif Support: ExifTool
  • Face detection: face-recognition
  • Face classification/clusterization: scikit-learn and hdbscan
  • Image captioning: im2txt,
  • Scene classification places365
  • Reverse geocoding: Mapbox: You need to have an API key. First 50,000 geocode lookups are free every month.

License

LibrePhoto is released under the MIT license

Resources