Repolode
EinAeffchen

EinAeffchen/Omoide

Self-hosted, offline-capable photo and video library that uses local AI for face recognition and semantic search.

Open-source alternative to:Google PhotosiCloud

Stars
277
Forks
15
Open issues
5
Last commit
18 days ago

What is it?

Omoide is a self-hosted media manager for photos and videos. It runs local AI models to detect and cluster faces, tag images and search by natural language, so your library stays on your own drive and does not need a cloud service.

The app can run as a desktop application on Windows, Linux and macOS, or be hosted with Docker on a NAS or always-on server. After the initial model download it works fully offline. Videos are scanned and split into scenes for preview and free-text search, and a map view shows photos by GPS location, where GPS data can also be edited.

Other tools include duplicate detection using perceptual hashing, a co-appearance graph that shows how people in the library are connected, support for multiple libraries, and a read-only mode for sharing an archive.

Key features

  • 01Automatic face detection and clustering, with names assigned once and applied across the library.
  • 02Semantic search with natural language queries such as 'dog in the snow'.
  • 03Video scene detection for previews and free-text search.
  • 04Map view with GPS display and editing.
  • 05Duplicate detection for exact and near-duplicate images.
  • 06Desktop app or Docker deployment, with offline operation after model download.

Use cases

  • Keeping a private family photo and video archive on a home NAS.
  • Searching a large personal photo collection by people or scene descriptions.
  • Cleaning up duplicate photos before migrating a library.
  • Sharing a read-only archive with relatives without giving them write access.

Quick start

  1. 1

    Copy the .env template

    cp .env.template .env
  2. 2

    Copy the omoide.env example

    cp omoide.env.example omoide.env
  3. 3

    Set your media directories and ports in .env

  4. 4

    Start the container, then open http://localhost:8123

    docker compose up -d

Things to know

  • Licensed under PolyForm Noncommercial 1.0.0, so commercial use is not allowed.
  • The macOS app is ad-hoc signed and not notarized, so Gatekeeper blocks it on first launch.
  • On arm64 you may need to match the sqlite-vec version to your platform or build the image yourself.

In collections

Topics

FAQ

What is Omoide?
Self-hosted, offline-capable photo and video library that uses local AI for face recognition and semantic search. Omoide is a self-hosted media manager for photos and videos. It runs local AI models to detect and cluster faces, tag images and search by natural language, so your library stays on your own drive and does not need a cloud service.
Is Omoide free to use? What license does it have?
Omoide is open source under the Other license. Check the license terms before using it in commercial products.
Is Omoide still maintained?
Actively maintained. The last commit to Omoide was on Oct 21, 2026.
What can I use Omoide for?
Keeping a private family photo and video archive on a home NAS. Searching a large personal photo collection by people or scene descriptions. Cleaning up duplicate photos before migrating a library. Sharing a read-only archive with relatives without giving them write access.
How do I install Omoide?
Copy the .env template: cp .env.template .env Copy the omoide.env example: cp omoide.env.example omoide.env Set your media directories and ports in .env Start the container, then open http://localhost:8123: docker compose up -d
Where can I get Omoide?
The source code and installation instructions are on GitHub: https://github.com/EinAeffchen/Omoide

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects