explaingit

immich-app/immich

Analysis updated 2026-06-20

99,828TypeScriptAudience · generalComplexity · 4/5LicenseSetup · hard

TLDR

Self-hosted Google Photos alternative: back up your phone photos and videos to a server you control, with a mobile app, web UI, facial recognition, shared albums, and map view, no cloud subscription needed.

Mindmap

mindmap
  root((immich))
    What it does
      Photo backup
      Video backup
      Facial recognition
      Map view
    Tech stack
      TypeScript
      Flutter
      NestJS
    Use cases
      Replace Google Photos
      Family sharing
      Private storage
    Setup
      Self-hosted server
      Docker required
      Mobile app
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace Google Photos with a private server you own: back up every phone photo automatically without a cloud subscription.

USE CASE 2

Share family photo albums privately, with the same face-grouping and map features as commercial photo apps.

USE CASE 3

Search your photo library by object, face, or location without sending any data to a third-party cloud service.

USE CASE 4

Give multiple family members their own accounts with shared albums on a single self-hosted server.

What is it built with?

TypeScriptFlutterNestJSNode.js

How does it compare?

immich-app/immichangular/angularant-design/ant-design
Stars99,828100,06097,930
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardmoderateeasy
Complexity4/54/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a self-hosted server with Docker to run all backend services, mobile apps connect to that server over the network.

AGPLv3, free to use and modify, but if you run it as a network service you must share your changes under the same licence.

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
I have Immich running on my home server. How do I set up automatic background backup from my iPhone to my Immich instance?
Prompt 2
How do I configure Immich's facial recognition to group photos by person and share a specific person's album with family members?
Prompt 3
I want to migrate my Google Photos library to Immich. What is the best way to export from Google and import into self-hosted Immich?
Prompt 4
How do I enable OAuth login in Immich so my family members can sign in with their existing Google accounts?
Prompt 5
Help me write a script that watches my Immich server for new uploads and automatically applies tags based on EXIF location data.

Frequently asked questions

What is immich?

Self-hosted Google Photos alternative: back up your phone photos and videos to a server you control, with a mobile app, web UI, facial recognition, shared albums, and map view, no cloud subscription needed.

What language is immich written in?

Mainly TypeScript. The stack also includes TypeScript, Flutter, NestJS.

What license does immich use?

AGPLv3, free to use and modify, but if you run it as a network service you must share your changes under the same licence.

How hard is immich to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is immich for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub immich-app on gitmyhub

Verify against the repo before relying on details.