immich-app/immich
High performance self-hosted photo and video management solution.
How immich is put together
Immich is a high-performance self-hosted photo and video management platform, structured as a pnpm/mise monorepo. The backend server is a NestJS (TypeScript) application backed by PostgreSQL (via Kysely/postgres.js) and Redis (ioredis/BullMQ) for queues, exposing a REST API documented with OpenAPI/Swagger. A separate Python machine-learning service (FastAPI + Gunicorn/Uvicorn, ONNX Runtime) provides CLIP embeddings, facial recognition, and OCR inference. The frontend is a SvelteKit web app (static adapter) consuming a generated SDK, plus a Flutter mobile app, with the whole stack containerized via Docker Compose.
Languages
Frameworks
Datastores
Infrastructure
Major components
server
NestJS backend exposing the REST API, background job processing (BullMQ), database migrations, and business logic for assets, users, albums, and sharing.
web
SvelteKit single-page web client for browsing, uploading, and managing photos/videos, built as a static bundle and proxied to the server API.
machine-learning
Python FastAPI service running ONNX models for CLIP embeddings, facial detection/recognition, and OCR inference.
mobile
Flutter mobile application for photo backup, viewing, and management with Android Fastlane release tooling.
open-api
OpenAPI specification (immich-openapi-specs.json) driving the generated @immich/sdk client used by the web app.
i18n
Localization catalog of per-language JSON translation files consumed by the web frontend.
docker/deployment
Docker Compose stacks, hardware-acceleration configs, Prometheus config, and environment files for self-hosted deployment.
server email templates
React Email templates rendered by the server for transactional notifications via nodemailer.
A new memories view landed alongside upload performance gains and several server-side correctness fixes.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A new memories view landed alongside upload performance gains and several server-side correctness fixes.
Week of 2026-08-17
A busy week delivered a new search UI, tag renaming, OAuth account management, and a wide sweep of mobile and server fixes.
Week of 2026-08-10
Work focused on workflow automation features plus extensive code-quality cleanup and build tooling improvements.
Week of 2026-08-03
The team fixed a range of mobile playback, sync, and battery issues while trimming machine-learning dependencies.
Week of 2026-07-27
A large restructuring of the mobile app's actions system arrived with new album, stack, archive, and restore capabilities.
Over the past several weeks, Immich has shipped major user-facing features like a new memories view, a redesigned search interface, tag renaming, and OAuth account management, while steadily modernizing its mobile app's data layer and action system. A large portion of the work has been behind-the-scenes engineering hygiene: migrating tests, tightening code quality with stricter linting, and reworking build and deployment pipelines. The overall arc shows a team balancing visible product polish with a deep investment in maintainability and stability.
Week by week
2026-08-24A new memories view landed alongside upload performance gains and several server-side correctness fixes.latest6 changes
Feature
Memories view
Introduced a dedicated view for browsing photo memories.
Refactor
Faster upload hashing
Web uploads now use a faster method to fingerprint files, with a fallback for older browsers.
Fix
Partner photos removed from memories
Photos shared by a partner are no longer incorrectly included in your existing memories.
Fix
Tag creation corrected
Fixed a bug in how tags are created on the server.
Chore
Mobile data reorganization
Moved the mobile app's database layer into a cleaner internal structure.
Chore
Dependency and toolchain updates
Updated Flutter, validation libraries, and various build dependencies.
2026-08-17A busy week delivered a new search UI, tag renaming, OAuth account management, and a wide sweep of mobile and server fixes.6 changes
Feature
New search interface
Rolled out a redesigned search experience on the web.
Feature
Tag renaming
Added the ability to rename tags from the web app.
Feature
OAuth account management link
Users can now reach their linked OAuth account settings directly.
Fix
Correct photo dimensions
Fixed cases where a photo's size was read incorrectly from its metadata.
Fix
Library cleanup safety
Prevented library exclusion rules from accidentally deleting photos outside their folder.
Refactor
Test suite modernization
Migrated many end-to-end tests for memories, partners, libraries, and more to a cleaner setup.
2026-08-10Work focused on workflow automation features plus extensive code-quality cleanup and build tooling improvements.6 changes
Feature
Workflow tag automation
Added the ability to trigger and filter automated workflows based on asset tags.
Feature
Workflow logging
Automated workflows now record logs of what they did.
Fix
Album deletion cleanup
Deleting an album owner now properly removes the associated album.
Fix
Mobile input polish
Fixed iOS keyboard quirks and pinch-to-zoom snapping in the mobile app.
Chore
Stricter code checks
Enforced stricter equality and linting rules across the mobile codebase.
Chore
Docker build rework
Reworked the Docker build workflow and release process.
2026-08-03The team fixed a range of mobile playback, sync, and battery issues while trimming machine-learning dependencies.6 changes
Fix
Battery drain fix
Stopped the mobile app from repeatedly retrying connections and draining battery when the server is unreachable.
Fix
Video playback controls
Fixed unresponsive playback controls for backed-up videos opened from search.
Refactor
Lighter ML setup
Removed an unneeded face-recognition dependency from the machine-learning service.
Feature
Selection count display
The album picker now shows how many items you've selected in its title.
Feature
Widget theme toggle
Added an option for the home-screen widget to match your icon theme.
Fix
Sync and stack fixes
Improved how the mobile app syncs photo stack changes and handles live updates.
2026-07-27A large restructuring of the mobile app's actions system arrived with new album, stack, archive, and restore capabilities.6 changes
Feature
New photo actions
Added album, stack, archive, and restore actions in the mobile app.
Refactor
Actions system overhaul
Reorganized the mobile app's share, edit, delete, upload, and other actions onto a shared foundation.
Fix
Partner asset ownership
Fixed handling when a partner owns an identical copy of your photo.
Fix
Security dependency updates
Updated a YAML parsing library to address security issues.
Chore
Stricter mobile linting
Applied stricter correctness and Flutter linting rules across the mobile app.
Docs
Documentation corrections
Revised configuration instructions and clarified deployment guidance.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 2 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required