explaingit

immich-app/immich

🔥 Hot100,999TypeScriptAudience · vibe coderComplexity · 4/5ActiveLicenseSetup · hard

TLDR

Self-hosted photo and video backup service with mobile and web apps, giving you Google Photos features while keeping your data on your own server.

Mindmap

mindmap
  root((Immich))
    What it does
      Photo and video backup
      Self-hosted server
      Mobile and web apps
    Features
      Facial recognition
      Search by metadata
      Shared albums
      RAW format support
    Use cases
      Personal photo library
      Family photo sharing
      Privacy-first backup
    Tech stack
      TypeScript
      NestJS
      Flutter
    Audience
      Privacy-conscious users
      Self-hosting enthusiasts

Things people build with this

USE CASE 1

Back up years of photos and videos to a server you own instead of relying on Google Photos or iCloud.

USE CASE 2

Share specific photo albums with family members while keeping everything private on your home network.

USE CASE 3

Search your entire photo library by faces, objects, location, and visual similarity without sending data to the cloud.

USE CASE 4

Run automatic background photo uploads from your phone whenever you open the app or connect to WiFi.

Tech stack

TypeScriptNestJSNode.jsFlutterReact

Getting it running

Difficulty · hard Time to first run · 1day+

Requires running backend (NestJS), database, and mobile/web clients; self-hosted infrastructure setup is non-trivial.

Use freely for any purpose, but any modifications or derivative works must also be open-source under AGPLv3; commercial use is allowed if you comply with the copyleft requirement.

In plain English

Immich is a self-hosted photo and video management solution that aims to be a high-performance alternative to commercial cloud photo services. The topics list it as a Google Photos alternative. The everyday problem: most people have years of photos and videos on their phones, and the easy backup option is a third-party cloud service. Immich lets you run the backup and library service on a server you control instead, so the data stays in your home, on your hardware, while you still get an app experience comparable to a cloud product. How it works (per the README feature table): there is both a mobile app and a web interface. The mobile app uploads and views photos and videos, automatically backs up when opened, can run background backup, and lets you choose specific albums. The web interface adds administrative features such as user management and API keys. Both interfaces support multi-user accounts, shared albums, RAW formats, EXIF metadata with map view, search by metadata, objects, faces, and CLIP (a visual-search technique), facial recognition and clustering, Memories, public and partner sharing, a global map, OAuth login, LivePhoto and MotionPhoto playback, stacked photos, and tags. You would use Immich when you want a Google-Photos-like experience for a personal photo and video collection but you want full control over storage and privacy on a self-hosted server. The README warns to follow a 3-2-1 backup strategy regardless. The repository's primary language is TypeScript, and the topics list mentions Flutter for the mobile app and NestJS plus Node.js on the server. Licensed under AGPLv3.

Copy-paste prompts

Prompt 1
How do I set up Immich on a home server to back up my phone photos automatically?
Prompt 2
Show me how to use Immich's facial recognition to organize and find photos by people in my library.
Prompt 3
What's the best way to share a specific album with family members using Immich without giving them access to everything?
Prompt 4
How do I configure Immich to run background backups on my phone and what storage do I need on my server?
Prompt 5
Can I search my Immich library by location, date, and objects in photos like Google Photos does?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.