Skip to content

Immich

What it is

Immich is a high-performance self-hosted photo and video management solution, designed as a direct replacement for Google Photos.

What problem it solves

It provides a private, high-speed way to backup and organize media from mobile devices and desktops. It eliminates reliance on cloud storage subscriptions while providing advanced features like face recognition and semantic search.

Where it fits in the stack

Service / Media Management. It acts as the primary vault for personal photos and videos.

Typical use cases

  • Mobile Photo Backup: Automatically backing up photos from iOS/Android devices.
  • Semantic Search: Searching for photos using natural language (e.g., "dog in the park") powered by local CLIP models.
  • Face Recognition: Automatically grouping photos by the people appearing in them.
  • 2026 Features: 'Free Up Space' mobile cleanup, web-based database management, and HLS video streaming (Roadmap May 2026).

Strengths

  • Performance: Extremely fast even with tens of thousands of images.
  • Feature Parity: Offers many features found in Google Photos (sharing, albums, map view).
  • Local AI: All machine learning (face recognition, object detection, CLIP) runs locally.
  • Security (v2.7.0): Hardened by default with a Content Security Policy (CSP).

Limitations

  • Setup Complexity: Requires multiple containers (database, redis, machine learning node).
  • Resource Intensive: Machine learning tasks (especially initial library indexing) require significant CPU/GPU.
  • Not a Backup by Itself: Mobile upload into Immich is only one copy. Keep an independent backup of the library and database.

When to use it

  • If you want a self-hosted alternative to Google Photos or iCloud Photos.
  • When privacy and ownership of your personal media are priorities.
  • If you have a large media library and need a fast, responsive interface.

When not to use it

  • If you prefer a simple file-based gallery without background processing.
  • For extremely low-powered hardware that cannot handle the machine learning requirements.

Licensing and cost

  • Open Source: Yes (AGPL-3.0 License)
  • Cost: Free
  • Self-hostable: Yes

Getting started

Hardware Acceleration (ML Node)

Immich uses a dedicated service for AI tasks (face recognition, CLIP, etc.). For high-performance library indexing, configure NVIDIA GPU or OpenVINO.

NVIDIA GPU (Docker)

services:
  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    volumes:
      - model-cache:/cache
    restart: unless-stopped

OpenVINO (Intel CPU/iGPU)

Set IMMICH_MACHINE_LEARNING_URL to point to a machine-learning container using the OpenVINO image: image: ghcr.io/immich-app/immich-machine-learning:release-openvino

Backup & Restore Runbook

Backup Strategy

To ensure a consistent backup, you must back up both the PostgreSQL database and the Upload Library.

  1. Database Dump: As of v2.5.0, database backups can also be managed and restored directly via the web interface. For CLI:
    # Run inside the database container
    docker exec -t immich_postgres pg_dumpall -c -U postgres > immich_backup.sql
    
  2. Filesystem Backup: Sync the UPLOAD_LOCATION to your backup target (e.g., using rclone or rsync).
    rsync -avz /path/to/immich/library/ /backup/immich/library/
    

Restore Procedure

  1. Bring up a fresh Immich stack with the same version as your backup.
  2. Stop the immich_server container: docker stop immich_server.
  3. Restore the database:
    cat immich_backup.sql | docker exec -i immich_postgres psql -U postgres
    
  4. Restore the files to the UPLOAD_LOCATION.
  5. Restart the stack: docker compose up -d.

Backlog

  • [x] Perform quarterly technical freshness audit (May 2026).

Sources / References

Contribution Metadata

  • Last reviewed: 2026-05-26
  • Confidence: high