A self-hosted open source photo management service. This is the repository of the backend.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
derneuere c065c52c5f Add face_url to serializer 2 days ago
.github Update FUNDING.yml 3 months ago
.vscode Optimized all queries using geolocation_json 1 week ago
api Add face_url to serializer 2 days ago
image_similarity Handle semantic search better 5 months ago
nextcloud 👽 change nextcloud listdir apicall to expect fpath as get parameter to conform with the frontend api 6 days ago
ownphotos Update settings.py 3 weeks ago
screenshots Updated logo 4 months ago
static Switch to drf-spectacular 3 months ago
.gitignore Merge branch 'dev' of https://github.com/librephotos/librephotos into dev 10 months ago
.pre-commit-config.yaml Add newer version of black to precommit 1 month ago
LICENSE Create LICENSE 5 years ago
README.md Update README.md 3 months ago
manage.py Remove dead code and fix flake issues 9 months ago
pyproject.toml Change pre-commit to run with local Python config 9 months ago
requirements.dev.txt Bump dependencies 4 months ago
requirements.txt Update dependencies 1 month ago
wideresnet.py Change all files again so that black and isort are happy 9 months ago


Quality Gate Status Discord Website Read the docs GitHub contributors Translation status


Mockup designed by rawpixel.com / Freepik


Step-by-step installation instructions are available in our documentation


  • Development: Get started contributing in less than 30 minutes by following the guide here
  • Documentation: Contributing to it is as simple as submitting a pull request to the documentation repository
  • Testing: If you want to help find bugs, use the dev tag and update it regulary. If you find one, open an issue.
  • Outreach: Talk about LibrePhotos with other people and help them to get started too!
  • Translation: LibrePhotos uses Weblate for its translations. Feel free to contribute or view existing translations at weblate.


  • Support for all types of photos including raw photos
  • Support for videos
  • Timeline view
  • Scans pictures on the file system
  • 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

What does it use?

  • Image Conversion: ImageMagick
  • Video Conversion: FFmpeg
  • Exif Support: ExifTool
  • Face detection: face_recognition
  • Face classification/clusterization: scikit-learn
  • 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.