MCPcopy
hub / github.com/LibrePhotos/librephotos

github.com/LibrePhotos/librephotos @1.0.3 sqlite

repository ↗ · DeepWiki ↗ · release 1.0.3 ↗
5,059 symbols 19,702 edges 1,099 files 1,873 documented · 37%
README

Discord Website Read the docs GitHub contributors License: MIT

LibrePhotos

Mockup designed by rawpixel.com / Freepik

A self-hosted, open-source photo management service with automatic face recognition, object detection, and semantic search — powered by modern machine learning.

  • Stable demo is available here: https://demo1.librephotos.com/ . User is demo, password is demo1234 (with sample images).
  • Latest development demo is available here: https://demo2.librephotos.com/ (same user/password)
  • You can watch development videos on Niaz Faridani-Rad's channel
  • You can join our Discord.

Repository layout

This is a monorepo that consolidates what was previously five separate repositories.

Path What it is Previous repo
apps/backend/ Django 5 API, machine-learning pipelines, background jobs librephotos
apps/frontend/ React 18 + Vite web client, i18next localization librephotos-frontend
apps/mobile/ React Native mobile client (Android) librephotos-mobile
apps/docs/ Docusaurus site published to https://docs.librephotos.com librephotos.docs
deploy/ Dockerfiles, Compose configs, proxy, Kubernetes manifests librephotos-docker

Commit history from all five repositories is preserved — git log --follow apps/<app>/<file> works across the move.

Installation

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

System Requirements

Resource Minimum Recommended
RAM 4 GB 8 GB+
Storage 10 GB (plus your photo library) SSD recommended
CPU 2 cores 4+ cores
OS Any Docker-compatible OS Linux

Note: Machine learning features (face recognition, scene classification, image captioning) are memory-intensive. 8 GB+ RAM is strongly recommended for smooth operation.

Features

  • 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

Tech Stack

Backend

Frontend

Machine Learning

Infrastructure

API Documentation

After starting LibrePhotos, interactive API docs are available at:

  • Swagger UI: http://localhost:3000/api/swagger
  • ReDoc: http://localhost:3000/api/redoc

Development

See CONTRIBUTING.md and the per-app READMEs: - Backend - Frontend - Mobile - Docs site

The Docker Compose-based dev environment lives in deploy/compose/ and is described in the development install guide.

How to help out

  • Star this repository if you like this project!
  • 🚀 Developing: Get started in less than 30 minutes by following this guide. Also see our CONTRIBUTING.md for detailed development setup, code quality standards, and PR guidelines.
  • 🗒️ Documentation: Improving the documentation is as simple as submitting a pull request here
  • 🧪 Testing: If you want to help find bugs, use the dev tag and update it regularly. If you find a bug, open an issue.
  • 🧑‍🤝‍🧑 Outreach: Talk about this project with other people and help them to get started too!
  • 🌐 Translations: Make LibrePhotos accessible to more people with weblate.
  • 💸 Donate to the developers of LibrePhotos

License

This project is licensed under the MIT License.

Extension points exported contracts — how you extend this code

FileRoutesByFullPath (Interface)
(no doc)
apps/frontend/src/routeTree.gen.ts
DirTree (Interface)
(no doc)
apps/mobile/src/api_client/folders/types.ts
FileRoutesByTo (Interface)
(no doc)
apps/frontend/src/routeTree.gen.ts
SubfolderInfo (Interface)
(no doc)
apps/mobile/src/api_client/albums/hooks/useFetchFolderAlbumsQuery.ts
FileRoutesById (Interface)
(no doc)
apps/frontend/src/routeTree.gen.ts
FolderNavigationResponse (Interface)
(no doc)
apps/mobile/src/api_client/albums/hooks/useFetchFolderAlbumsQuery.ts
FileRouteTypes (Interface)
(no doc)
apps/frontend/src/routeTree.gen.ts
RootRouteChildren (Interface)
(no doc)
apps/frontend/src/routeTree.gen.ts

Core symbols most depended-on inside this repo

create_test_photo
called by 637
apps/backend/api/tests/utils.py
create
called by 611
apps/backend/api/models/file.py
add
called by 526
apps/backend/api/duplicate_detection.py
save
called by 512
apps/backend/api/models/photo.py
get
called by 509
apps/backend/api/views/dataviz.py
create_test_user
called by 277
apps/backend/api/tests/utils.py
post
called by 218
apps/backend/api/views/faces.py
get
called by 172
apps/frontend/src/api_client/api.ts

Shape

Method 2,601
Function 1,449
Class 839
Route 123
Interface 37
Enum 10

Languages

Python75%
TypeScript24%
Java1%

Modules by API surface

apps/backend/api/tests/test_burst_detection_rules.py85 symbols
apps/backend/api/serializers/photos.py84 symbols
apps/backend/api/tests/test_perceptual_hash.py83 symbols
apps/backend/api/tests/test_live_photo.py83 symbols
apps/backend/api/tests/test_photo_metadata.py70 symbols
apps/backend/api/tests/test_duplicate_detection_logic.py69 symbols
apps/backend/api/tests/test_photo_metadata_api.py67 symbols
apps/backend/api/tests/test_stack_detection.py62 symbols
apps/backend/service/image_captioning/api/im2txt/blip/med.py61 symbols
apps/backend/api/tests/test_stack_review.py60 symbols
apps/backend/api/tests/test_api_robustness.py60 symbols
apps/backend/api/tests/test_stack_detection_edge_cases.py59 symbols

Dependencies from manifests, versioned

@babel/core7.21.0 · 1×
@babel/plugin-transform-class-properties7.28.6 · 1×
@babel/plugin-transform-private-methods7.28.6 · 1×
@babel/plugin-transform-private-property-in-object7.28.6 · 1×
@babel/runtime7.21.0 · 1×
@badeball/cypress-cucumber-preprocessor20.1.2 · 1×
@cucumber/messages24.0.1 · 1×
@cypress/browserify-preprocessor3.0.2 · 1×
@dnd-kit/core6.3.1 · 1×
@dnd-kit/sortable10.0.0 · 1×
@dnd-kit/utilities3.2.2 · 1×
@docusaurus/core2.4.3 · 1×

For agents

$ claude mcp add librephotos \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact