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.
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.
Official sources
- [1]immich-app/immich — README(2026-09-15)
- [2]immich-app/immich — GitHub repository metadata(2026-09-15)
- [3]Immich docs — Requirements(2026-09-15)
- [4]Immich docs — Docker Compose(2026-09-15)
- [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
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
Configure .env
Set the media storage path, database password, timezone, and any environment-specific values.
UPLOAD_LOCATION / DB_PASSWORD / TZ - 3
Start Immich
Then open http://<machine-ip-address>:2283 and register the first user as the administrator.
docker compose up -d
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
Categories
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
Explore next
- n8n204,350 Stars
A fair-code platform combining a visual canvas and code for service integrations, workflows, and AI agents.
TypeScript - Ollama181,014 Stars
A runtime for downloading and running open models on a computer or server through a CLI and local API.
Go - AUTOMATIC1111 Stable Diffusion WebUI164,915 Stars
A Gradio UI for Stable Diffusion image generation, editing, model selection, extensions, and APIs.
Python - Dify155,790 Stars
A visual LLM application platform combining AI workflows, RAG, agents, model management, and observability.
TypeScript - Open WebUI152,106 Stars
A self-hosted AI workspace for Ollama and OpenAI-compatible model providers.
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.