Immich
Immich is a self-hosted media management platform designed to provide a centralized, private repository for photos and videos. It functions as a comprehensive system for organizing, backing up, and viewing personal media collections across mobile devices, web browsers, and external storage locations. By maintaining full control over data ownership and storage infrastructure, the platform ensures that users retain sovereignty over their digital assets.
The system distinguishes itself through a distributed architecture that coordinates background media synchronization, real-time filesystem monitoring, and automated deduplication. It leverages an integrated machine learning pipeline to perform intelligent asset organization, including facial recognition, object detection, and metadata extraction. These processes are executed through containerized service orchestration, which manages complex dependencies and hardware-accelerated tasks within isolated environments.
Beyond core management, the platform provides extensive tools for disaster recovery and library maintenance. Users can configure automated database backups, manage external storage volumes, and define granular synchronization policies for mobile devices. The system also includes command-line utilities for secure remote operations, such as authenticated asset uploading and server version verification, ensuring compatibility and consistency across distributed deployments.
Features
- Self-Hosted Media Managers - A comprehensive platform for organizing, backing up, and viewing personal photo and video collections across multiple devices and storage locations.
- Media Synchronization Tools - Maintaining consistent access to personal media collections across mobile devices, web browsers, and external filesystem storage locations.
- Filesystem Watchers - The system provides real-time library monitoring by tracking filesystem events to detect and import new media assets automatically.
- Library Scan Scheduling - The system offers library scan scheduling to perform periodic refreshes and clean up deleted entries on a configurable daily interval.
- Distributed Media Synchronization - A multi-platform architecture that coordinates background asset transfers, deduplication, and real-time filesystem monitoring between mobile devices and central servers.
- Database Backup Management - The system manages database backups with automated scheduling, retention policies, and manual triggers to protect essential system metadata.
- Checksum-Based Deduplication - Calculates unique file signatures during the ingestion process to identify and skip existing assets, preventing redundant storage and network usage.
- Media Deduplication - The system performs media deduplication by calculating file checksums during backup to skip existing assets and conserve network bandwidth.
- Cloud Media Synchronization - The system enables cloud media synchronization to retrieve assets from cloud storage into a local cache for processing and uploading.
- Database Backup Restoration - The system enables database backup restoration to recover system metadata after failures using graphical or command-line utility tools.
- Disaster Recovery Planning - Implementing robust backup and restoration workflows for both raw media files and system metadata to prevent permanent data loss.
- Filesystem Backups - The system performs filesystem asset backup to archive critical media and user-specific data for complete recovery alongside database metadata.
- Volume-Mounted Storage - Maps host-level directories into the application environment to provide direct filesystem access for indexing and managing large-scale media libraries.
- Self-Hosted Media Servers - Building a private, centralized repository for photos and videos that provides full control over data ownership and storage infrastructure.
- Container Orchestration - Deploys modular application components within isolated environments to ensure consistent execution and simplified dependency management across diverse host operating systems.
- Computer Vision Pipelines - An automated analysis pipeline that applies computer vision models to perform facial recognition, object detection, and metadata extraction on large-scale image libraries.
- Intelligent Asset Organization - Leveraging machine learning to automatically categorize, cluster, and index large media libraries for efficient search and retrieval.
- External Library Management - The system facilitates external library management by configuring storage directories as import paths with support for recursive scanning and automatic updates.
- Automated Mobile Backups - Synchronizing local device media to a remote server in the background to ensure data redundancy and free up mobile storage space.
- Background Sync Strategies - Coordinates asynchronous media transfers using platform-specific power and network constraints to ensure reliable synchronization without impacting device performance.
- Mobile Media Backups - The system enables mobile media backup to upload local photo and video albums to a remote server via automated background transfers.
- Album Synchronization - The system supports mobile album synchronization to mirror local device collections into matching remote server directories.
- Selective Asset Synchronization - The system enables selective photo synchronization to upload individual local assets by identifying and triggering transfers for specific items.
- Mobile Storage Management - The system facilitates mobile storage management by removing local media files that have been successfully backed up to the server.
- API Authentication Management - The system enables API authentication management by generating unique keys to secure remote operations and manage granular access permissions.
- RESTful Resource Controllers - The system manages API resources by mapping incoming HTTP requests to controller-based operations for standard create, read, update, and delete actions.
- Filesystem Event Synchronization - Monitors directory changes in real-time to trigger automated asset ingestion and indexing without requiring manual or scheduled library rescans.
- Task Processing Engines - The system processes machine learning tasks using externalized models and thread pools to optimize performance for image and text analysis.
- Containerized Service Orchestration - A deployment model utilizing isolated environments to manage complex dependencies, database persistence, and hardware-accelerated processing tasks for media-heavy workloads.
- Facial Recognition Refinement - The system provides facial recognition refinement by iteratively adjusting thresholds and running targeted jobs to capture previously excluded faces.
- Media Upload Utilities - The system supports media asset uploading with recursive processing, concurrent transfers, and automatic duplicate detection to maintain an organized library.