OSS Tanbou

Immich — a self-hosted photo and video library with a Google Photos-style experience

OSS health 96
About these scores

Discovery score is an unbounded weighted, log-compressed index of stars, watchers, forks, and contributors. Growth momentum is its change over the observed period; OSS health is a 0–100 score from available repository recency, Community Health, and release data.

Stars
114,218
Primary language
TypeScript
License
AGPL-3.0
Repository last updated
Sep 15, 2026

Overview

Immich is an open-source platform for backing up, browsing, searching, and sharing photos and videos on infrastructure you control. It provides web and mobile clients with features such as face recognition, CLIP search, shared albums, OAuth, and LivePhoto/MotionPhoto support. Docker Compose is the recommended self-hosting path, trading managed-cloud convenience for direct control over storage and operations.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Bring photo and video backup, browsing, search, and sharing into one library

The official README lists photo and video upload and viewing, mobile auto/background backup, duplicate prevention, shared albums, public sharing, EXIF and map views, RAW support, LivePhoto/MotionPhoto, tags, and folder views. Multi-user support lets a personal or family media library be accessed from both web and mobile clients.

Sources: [1]

Use face recognition, object data, and CLIP search to find media after it is imported

The README lists search by metadata, objects, faces, and CLIP together with facial recognition and clustering. Immich is therefore more than a file browser: it builds a searchable media library around the content and metadata of the assets.

Sources: [1]

Run a Docker Compose stack spanning TypeScript, Flutter, NestJS, Svelte, and related components

GitHub Topics include TypeScript, Flutter, NestJS, Node.js, Svelte, and SvelteKit, while the official installation docs recommend Docker Compose for production. The resulting deployment combines web UI, mobile clients, server-side services, and machine-learning workloads into one self-hosted product.

Sources: [2][4]

A strong fit when you want a Google Photos-style workflow while controlling where the library lives

Immich is especially relevant for individuals, families, and small teams that want mobile backup, timeline browsing, people search, and album sharing without making a third-party photo cloud the primary home of their media. It also works well when an existing photo collection needs one web-and-mobile library.

Do not make Immich the only copy of your media, and budget for database, storage, and server operations

The README explicitly warns users to follow a 3-2-1 backup strategy for important photos and videos. Immich should not be treated as the sole backup target; maintain independent recovery copies across different media or locations.

The requirements specify at least 6 GB of RAM (8 GB recommended) and 2 CPU cores (4 recommended). Generated thumbnails and transcoded video may add roughly 10–20% to library size. PostgreSQL data should ideally live on local SSD storage and never on a network share. Immich requires the Compose v2 docker compose command rather than the deprecated docker-compose. The code is AGPL-3.0 licensed.

Sources: [1][3][5]

Official sources

  1. [1]immich-app/immich — README(2026-09-15)
  2. [2]immich-app/immich — GitHub repository metadata(2026-09-15)
  3. [3]Immich docs — Requirements(2026-09-15)
  4. [4]Immich docs — Docker Compose(2026-09-15)
  5. [5]immich-app/immich — LICENSE(2026-09-15)
Supplemental curator note

We selected Immich because it brings a Google Photos-like browsing, search, and mobile-backup experience to storage you control. Because the media itself is valuable data, evaluate 3-2-1 backups, PostgreSQL placement, storage growth, and upgrade operations before treating feature parity as the deciding factor.

Try it in 3 steps

  1. 1

    Download the deployment files

    Download the official docker-compose.yml and save example.env as .env.

    mkdir ./immich-app && cd ./immich-app && wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml && wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
  2. 2

    Configure .env

    Set the media storage path, database password, timezone, and any environment-specific values.

    UPLOAD_LOCATION / DB_PASSWORD / TZ
  3. 3

    Start Immich

    Then open http://<machine-ip-address>:2283 and register the first user as the administrator.

    docker compose up -d
Check the official README

Growth

Growth trends · Last 30 days

114,218 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
220
Open PRs
244

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • backup-tool
  • mobile-app
  • photo-gallery
  • photos
  • self-hosted
  • videos
  • flutter
  • nestjs
  • nodejs
  • google-photos-alternative
  • svelte
  • sveltekit
Stars
114,218
Forks
6,919
Watchers
355
Open issues
509
Primary language
TypeScript
License
AGPL-3.0
Repository last updated
Sep 15, 2026
Report incorrect information

Tell us if any listing information is incorrect or outdated.