LinuxCommandLibrary

immich

Backup photos and videos

TLDR

Authenticate to Immich server

$ immich login [server_url/api] [server_key]
copy

Upload some image files
$ immich upload [file1.jpg file2.jpg ...]
copy

Upload a directory including subdirectories
$ immich upload [[-r|--recursive]] [path/to/directory]
copy

Create an album based on a directory
$ immich upload [[-r|--recursive]] [path/to/directory] [[-A|--album-name]] "[My summer holiday]"
copy

Skip assets matching a glob pattern
$ immich upload [[-r|--recursive]] [path/to/directory] [[-i|--ignore]] [**/Raw/** **/*.tif]
copy

Include hidden files
$ immich upload [[-r|--recursive]] [path/to/directory] [[-H|--include-hidden]]
copy

SYNOPSIS

immich <subcommand> [options] <args>
Example: immich migration:run

PARAMETERS

migration:run
    Run database migrations

migration:generate
    Generate new migrations

server:start
    Start Immich server

assets:thumbgen
    Generate thumbnails for assets

jobs:run
    Run background jobs like indexing

--config <path>
    Specify config file path

--env-file <path>
    Load environment variables from file

--help
    Display help for command

--verbose
    Enable verbose logging

--dry-run
    Simulate actions without changes

DESCRIPTION

Immich is a rapidly developing open-source self-hosted photo and video management platform, offering a Google Photos-like experience on your own server. The immich command refers to the project's CLI interface or wrapper scripts used for server management, database tasks, asset processing, and API interactions.

Primarily deployed via Docker Compose, it consists of microservices including the web server (Node.js), microservices for jobs, machine learning (Python/Rust for AI features like facial recognition, object detection, smart search), PostgreSQL database, Redis cache, and a proxy. Users install by cloning the GitHub repo, configuring .env, and running docker compose up -d.

The CLI enables commands like running migrations, generating thumbnails, indexing libraries, or bulk uploading assets. It's ideal for homelabs, supporting mobile apps for auto-backup, multi-user accounts, shared albums, timeline views, and video transcoding. While not a traditional packaged binary (absent from apt/yum), custom installs or third-party tools provide direct immich invocation.

Focuses on privacy, performance (handles 100k+ photos), and extensibility with plugins.

CAVEATS

Not a standard distro package; requires Docker/Node.js setup from GitHub repo. High resource use for ML features (GPU recommended). Always backup database before migrations.
CLI often invoked via docker compose exec immich-server npx or npm.

INSTALLATION

git clone https://github.com/immich-app/immich.git
cd immich
cp .env.example .env
docker compose up -d
Access at http://localhost:2283

KEY FEATURES

AI facial/object recognition, auto-backup apps (iOS/Android), sharing, search, maps, live photos, 4K video support, multi-tenancy.

CLI USAGE EXAMPLE

docker compose exec -u node immich-server npx @immich/cli migration:run
docker compose exec immich-machine-learning python cli.py

HISTORY

Launched in 2022 by Alexander Wolf on GitHub. Gained traction in self-hosting communities (e.g., r/selfhosted). Frequent releases: v1.0 in 2023 with stable API; v1.100+ added CLI improvements, PWA support. Over 40k stars, active development.

SEE ALSO

docker-compose(1), docker(1), npm(1), node(1), postgres(1)

Copied to clipboard