immich

High performance self-hosted photo and video management solution.

23 articles 93.7k View on GitHub ↗
23 articles
Debugging Strategies for Immich Background Job Queue Issues: A Complete Guide

Solve Immich background job queue issues with this guide. Learn debugging strategies by tracing job flow and monitoring events in job.service.ts and job.repository.ts for efficient troubleshooting.

how-to-guide
Feb 27, 2026
How Immich Ensures Data Integrity and Security via StorageService

Discover how Immich ensures data integrity and security with its StorageService. Learn about mount point validation, permission checks, and media path migration for robust data protection.

internals
Feb 27, 2026
Performance Bottlenecks in Immich's AssetService During Large-Scale Uploads and Indexing

Discover why Immich's AssetService bottlenecks during large uploads. Learn how sequential processing, N+1 queries, and I/O impact scalability and find solutions.

performance
Feb 27, 2026
How `user.service.ts` Manages User Accounts, Roles, and Permissions in Immich

Discover how Immich user.service.ts manages user accounts, roles, and permissions. Learn about access control, admin restrictions, and self-service profile updates to secure your data.

internals
Feb 27, 2026
How Immich Generates Personalized "On This Day" Memories in `memory.service.ts`

Discover how Immich generates personalized On This Day memories in memory service. Learn about the daily job, asset querying, and memory record creation.

internals
Feb 27, 2026
How Immich Handles Geospatial Data and Map-Based Querying: A Deep Dive into map.service.ts

Discover how Immich handles geospatial data and map-based querying via map.service.ts. Learn about its two-layer architecture, PostGIS integration, and optimized querying for map markers and reverse geocoding.

deep-dive
Feb 27, 2026
Immich Archive and Trash Service Implementations: A Deep Dive into Asset Visibility States

Explore Immich's archive and trash features. Understand how visibility states and background jobs manage asset deletion and retrieval with AssetService, TimelineService, and TrashService.

deep-dive
Feb 27, 2026
How Immich Workflows Automate Media Management: Definition, Execution, and Use Cases

Discover how Immich workflows automate media management. Learn about definition, execution via sandboxed WebAssembly, and practical use cases for seamless media processing.

how-to-guide
Feb 27, 2026
Understanding media.service.ts: Immich's Central Hub for Media Processing and Video Transcoding

Discover media.service.ts, Immich's central hub for media processing. It handles thumbnail generation, FFmpeg video transcoding, and hardware acceleration for your media library.

deep-dive
Feb 27, 2026
How Immich's asset.service.ts Manages the Complete Asset Lifecycle: Upload, Processing, and Deletion

Explore how Immichs asset.service.ts manages the complete asset lifecycle from upload and processing to deletion. Understand client and server-side responsibilities for efficient asset management.

internals
Feb 27, 2026
Immich Maintenance Tasks in maintenance.service.ts: Available Methods and Programmatic Triggers

Explore Immich maintenance tasks in maintenance.service.ts. Discover seven public methods like startMaintenance startRestoreFlow and detectPriorInstall triggered programmatically via NestJS HTTP or internal events.

how-to-guide
Feb 27, 2026
How Immich Processes and Extracts Metadata (EXIF and OCR) Using metadata.service.ts and ocr.service.ts

Discover how Immich extracts EXIF metadata and OCR text using MetadataService and OcrService. Learn about background job processing and data persistence for enhanced search and organization.

how-to-guide
Feb 27, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →