Immich is a private home for your family's photos and videos. The phone app backs up new pictures automatically, and the website lets you browse them on a timeline, a map or by the people in them. Share albums with relatives, see "on this day" memories and search for things like "beach" or "dog". It runs on your own computer or server, so your pictures are not stored with a big tech company.
Automatic photo and video backup from iPhone and Android
Timeline, map, albums and "on this day" memories
Face recognition and smart search, all on your own hardware
Shared albums, partner sharing and public links for relatives
Great for: Families who want automatic phone photo backup and shared albums without paying for cloud storage.
A large project with four parts: the NestJS server, the SvelteKit website, the Flutter phone app and a Python machine-learning service. Theme, sharing and storage layout are settings. Code changes need the full Docker development stack and usually touch both server and website, with an OpenAPI client generated between them. Your AI always tries the gentlest step first, so your version stays easy to update.
1
Settings 4 options
No code. Change it in the app or its config.
Change colours, fonts and small layout details with CSS, without rebuilding anything.
Choose how files are named and foldered on disk, e.g. year/month/event.
Give each family member an account, share albums with grandparents, or send a public link.
Email set-up, the wording of album invitation emails and the login page message.
2
Extend 2 options
Themes, plugins, webhooks and the API. Still no fork.
Bulk upload old photo folders, build a digital photo frame, or sync with other tools.
Show photos that already live in a folder on your server without copying them.
3
Code 3 options
Your AI edits the source for anything else.
New views in the website, e.g. a slideshow page for a kitchen screen.
New data or behaviour on the server. Regenerate the OpenAPI client after API changes.
The look of album invitation, album update and welcome emails.
Can I trust it?
AGPL-3.0-only. Free to use and change. If you run a changed version that other people use over the internet (not just your own household), you must offer them your source code under the same licence. Private family use has no extra obligations.
Your data: stores personal data, on your own device or server. Original photos and videos in UPLOAD_LOCATION; albums, people, faces and metadata in PostgreSQL (DB_DATA_LOCATION).
Other services: Machine learning container (runs locally) (optional, free (uses your own hardware)); Email (SMTP) (optional, free with most providers); OAuth / single sign-on provider (optional, free (self-hosted) or varies)
Pinned version b9269f8. Every handover uses exactly this code, which we've reviewed.
Photos often show children, homes and locations. Think before putting Immich on the open internet; use a reverse proxy with HTTPS.
Shared links can be opened by anyone who has them. Add a password or expiry date.
Keep at least one backup copy that Immich cannot delete.