immich
High performance self-hosted photo and video management solution.
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 Immich Ensures Data Integrity and Security via StorageServiceDiscover 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.
Performance Bottlenecks in Immich's AssetService During Large-Scale Uploads and IndexingDiscover why Immich's AssetService bottlenecks during large uploads. Learn how sequential processing, N+1 queries, and I/O impact scalability and find solutions.
How `user.service.ts` Manages User Accounts, Roles, and Permissions in ImmichDiscover 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.
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.
How Immich Handles Geospatial Data and Map-Based Querying: A Deep Dive into map.service.tsDiscover 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.
Immich Archive and Trash Service Implementations: A Deep Dive into Asset Visibility StatesExplore Immich's archive and trash features. Understand how visibility states and background jobs manage asset deletion and retrieval with AssetService, TimelineService, and TrashService.
How Immich Workflows Automate Media Management: Definition, Execution, and Use CasesDiscover how Immich workflows automate media management. Learn about definition, execution via sandboxed WebAssembly, and practical use cases for seamless media processing.
Understanding media.service.ts: Immich's Central Hub for Media Processing and Video TranscodingDiscover media.service.ts, Immich's central hub for media processing. It handles thumbnail generation, FFmpeg video transcoding, and hardware acceleration for your media library.
How Immich's asset.service.ts Manages the Complete Asset Lifecycle: Upload, Processing, and DeletionExplore 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.
Immich Maintenance Tasks in maintenance.service.ts: Available Methods and Programmatic TriggersExplore 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 Immich Processes and Extracts Metadata (EXIF and OCR) Using metadata.service.ts and ocr.service.tsDiscover 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.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →