Immich
A self-hosted photo and video management service with mobile backup, search, albums, and sharing.
Why consider Immich?
Immich is a self-hosted photo and video management solution featuring high-performance media storage, automatic mobile backup, and contextual machine learning search on private servers.
Learn Immich by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide4 sections
Getting Started with Immich for Self-Hosted Photo and Video Management
Immich is a self-hosted photo and video management solution designed for high performance that gives users complete control over their personal media libraries without relying on proprietary cloud subscriptions. According to the official Immich website, the platform enables individuals and families to back up, organize, and search their visual media on private servers while maintaining data privacy.
The underlying codebase is developed openly under a copyleft distribution model. As documented in the official project license, Immich is distributed as open source software licensed under the GNU AGPL v3 License, ensuring that modifications and enhancements remain accessible to the community. The core repository is maintained at the Immich GitHub repository, where the Immich core repository is actively maintained on GitHub as an open source project.
System Prerequisites and Docker Compose Deployment
Running Immich requires adequate system resources for concurrent media transcoding, indexing, and neural network inference. As specified in the Immich Quick Start guide, a host system with at least 6GB of RAM and 2 CPU cores is required to run the core server, database engine, and machine learning components reliably.
To prepare the environment, establish a dedicated directory for the configuration and compose files. According to the Immich Docker Compose installation documentation, Docker Compose is the officially recommended method to deploy Immich in production environments:
mkdir ./immich-appcd ./immich-appNext, administrators can download docker-compose.yml and example.env directly from the repository release assets following the instructions in the Docker Compose installation documentation:
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.ymlwget -O .env https://github.com/immich-app/immich/releases/latest/download/example.envAfter downloading the templates, edit the .env file to configure persistent storage locations and database credentials. As defined in the Docker Compose installation documentation, the UPLOAD_LOCATION environment variable defines the directory where backup assets and photos are stored on the host storage volume. Once environment adjustments are complete, launch the service stack in detached mode:
docker compose up -dInitial Administration and Mobile Synchronization
Once the containers initialize, navigate to port 2283 on your server host to access the web application. As explained in the Immich Quick Start guide, the initial user registration creates the primary administrator account for managing the instance, inviting secondary accounts, and configuring machine learning pipelines.
Mobile users can connect their mobile devices directly to the server instance to safeguard their photos on the go. According to the Immich Quick Start guide, mobile client applications connect to the Immich server endpoint to transfer photos and videos from handheld devices directly to the private server library.
Semantic Vector Search and Machine Learning
Immich integrates automated enrichment features powered by specialized machine learning models. According to the Immich Smart Search documentation, Immich uses PostgreSQL as its search database for both metadata and contextual CLIP search, allowing fast filtering by camera parameters, reverse-geocoded locations, recognized faces, and optical character recognition text.
Beyond standard metadata filtering, contextual CLIP search utilizes machine learning models to enable natural language photo retrieval without requiring manual asset tagging. As documented in the Immich Smart Search documentation, users can search for concepts like sunsets, mountains, or pets, and the embedding engine retrieves relevant matches through vector similarity algorithms.
Platform Enhancements and Backup Architecture
The Immich engineering team maintains an active release cycle that frequently introduces functional enhancements and workflow optimizations. As detailed in the Immich v3.1.0 release notes, the v3.1.0 release introduces web upload wakelock support and server filepath filtering, improving asset handling across browser sessions and automated workflows.
Maintaining long-term data durability requires understanding the distinction between application state and raw media files. As highlighted in the Immich Quick Start guide, the database stores metadata and user accounts while image assets require independent volume backups, ensuring administrators safeguard both PostgreSQL database dumps and the underlying raw asset directory.
Related tools
More options with a similar category or technology profile.
MyPaint
Nimble, distraction-free, and easy graphic application for digital painters.
Pencil2D
Easy, intuitive traditional hand-drawn 2D animation software across raster and vector.
Hydrogen
Advanced open-source drum machine and pattern-based step sequencer for audio production.
Pure Data
Open source visual programming language for multimedia, audio, and physical computing.