mrkeyoor.com_
Wed 16 Sept 05:26 UTC
Self-Hostedevaluationupdated 26 Aug 2026

immich review

Immich is a self-hosted photo and video library with phone backup, a web gallery, sharing, maps, search, and face grouping. It solves the awkward choice between leaving a family archive with a cloud provider and settling for a folder browser that nobody enjoys using.

+663stars / 7d
Verdict

Our Immich checkout installed 2,460 packages and used 1,412 MB, but it exposed no root build or test target, so our run verified dependency setup rather than a working photo server. Immich is still the self-hosted photo system we would try first for a family willing to maintain Linux, Docker, storage, and recovery. Use it as a view and sync layer over a real backup plan, never as the sole copy of an archive.

We ran it

Lab card: what happened when we ran immichScreenshot of immich (immich.app)
Install✓ · 83s2460 packages · 1412 MB
Buildn/ano build script
Testsn/ano test script
Repo3492 files~220,145 lines of source · 467.5 MB · 24 CI workflows

Answers from our run

Does immich build from source?

Dependencies installed in 83 seconds (2460 packages), and the project has no separate build step. We cloned commit b26b0cc into a clean Debian container with 3 CPUs and no project-specific setup.

Does immich have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use immich?

Anyone treating phone sync as the only backup: the README explicitly calls for a 3-2-1 backup plan.

What are the alternatives to immich?

PhotoPrism, Ente, LibrePhotos. Our Immich checkout installed 2,460 packages and used 1,412 MB, but it exposed no root build or test target, so our run verified dependency setup rather than a working photo server.

Setup3/5Compose is clear; storage, TLS, and backups still need design
Docs5/5Specific guides cover install, storage, backup, and mobile limits
Community5/5112,733 stars and an August 26 push show heavy current activity
Maturity4/5v3.1.0 is capable, with mobile and bulk-edit risks to test

Discussed on

  1. hnSelf-hosted photo and video backups directly from your mobile phone757 points
  2. hnImmich 3.0650 points
  3. hnImmich – High performance self-hosted photo and video management565 points
  4. hnImmich v2.0.0 – First stable release547 points
  5. hnImmich is changing its license from MIT to AGPLv361 points

Who it’s for

Families and small groups willing to operate a Linux server for a shared private photo library.
Home-lab owners who want automatic phone uploads plus capable web and mobile browsing.
Photographers who need raw-file support, EXIF views, external libraries, and configurable storage paths.
Operators prepared to back up the original media and PostgreSQL database separately.

Who it’s NOT for

Anyone treating phone sync as the only backup: the README explicitly calls for a 3-2-1 backup plan.
Operators limited to 4 GB of RAM who still want machine learning: the requirements set a 6 GB minimum and say 4 GB needs those features disabled.
Windows users planning to place PostgreSQL on NTFS, exFAT, or a network share: the requirements say those database locations will not work.
Users who need phone uploads to run on a fixed schedule: the FAQ says iOS and Android decide when background jobs run and for how long.
Teams requiring one root build and test command: our monorepo run found neither target, so those steps were not verified.

Setup reality

Our fresh Debian sandbox installed 2,460 pnpm packages in 83 seconds and used 1,412 MB on disk. The 467.5 MB monorepo had no root build target and no root test target, so both steps were skipped rather than passed.

Production uses Docker Compose, an upload location, local PostgreSQL storage, and a database password. Remote phone backup also needs a reachable server address and trusted TLS. Machine learning and video acceleration bring their own hardware settings.

Immich requires at least 6 GB of RAM, recommends 8 GB, and needs an x86-64-v2 CPU for the v3 machine-learning image on amd64. Budget another 10 to 20 percent of the media library for thumbnails and transcoded video, then back up both the originals and database.

Thirty documented features cover the daily photo-library job

Immich handles the routine that decides whether a private photo service gets used. Its Android and iOS apps back up selected albums, show which assets reached the server, and keep some content available offline. The web app covers uploads, albums, public links, maps, metadata, administration, and search. The README lists 30 web or mobile features, including raw formats, Live Photos, Motion Photos, stacks, partner sharing, and face clustering.

Search works across metadata, objects, faces, and CLIP results. External libraries can bring an existing archive into the timeline, while storage templates control how managed uploads are arranged. This is a stateful catalog rather than a prettier directory listing: albums, people, generated previews, sharing relationships, and mobile sync records all depend on database state. That distinction matters when you plan recovery for a 467.5 MB codebase managing irreplaceable files.

What happened when we ran it

Our sandbox cloned commit b26b0cc into an unprivileged Debian container with 3 CPUs and 8 GB of RAM. The checkout contained 3,492 files, about 220,145 lines of source, and occupied 467.5 MB. It is a pnpm workspace monorepo with 24 CI workflow files. Our scan found no Dockerfile or tests directory at the repository root.

Installation succeeded in 83 seconds, adding 2,460 packages and consuming 1,412 MB. The root package offered no build script or target, so the harness skipped that step. It also offered no root test script or target, so tests were skipped. Those results are findings, not passes, and the available log had no build or test failure tail to interpret.

Our run measured repository setup only. We did not start the Compose services, upload a photo, download a machine-learning model, or exercise either mobile client. A production trial therefore needs more than the successful 83-second install: deploy the documented stack, upload representative photos and videos, check them on each client, and restore a copy before trusting automatic backup.

Production starts at 6 GB of RAM and local database storage

The supported route is Docker Compose on a 64-bit Linux or Unix-like host. Immich requires at least 6 GB of RAM and 2 CPU cores, while recommending 8 GB and 4 cores. The v3 machine-learning image on amd64 also requires the x86-64-v2 instruction level. The last x86-64-v1-compatible release is v2.7.5, which the requirements page says is unsupported.

Storage deserves more attention than the three Compose commands. PostgreSQL typically uses 1 to 3 GB and should live on a local SSD, never a network share. The database location needs Unix-style ownership and permissions, which rules out NTFS and exFAT. Generated thumbnails and transcoded video can add 10 to 20 percent to the original library size, before backups are counted.

The environment file sets upload and database paths, a release tag, timezone, and PostgreSQL password. Docker's current docker compose plugin is required; the deprecated docker-compose command is unsupported. Remote phone uploads need a reachable endpoint with trusted HTTPS. The FAQ warns that self-signed certificates, Basic Auth, custom headers, and mutual TLS are experimental and can break video playback or asset transfers.

A usable backup includes the database and the media

The README places a 3-2-1 warning above the feature table for good reason. Immich stores file paths and user metadata in PostgreSQL and does not reconstruct that state by scanning the upload directory. Automatic database dumps run daily at 2:00 AM by default and retain the latest 14, but those files contain no photos or videos. You must copy the upload location as well.

Recovery is better documented than in many home-lab projects. The web interface can restore a database dump, creates a restore point first, runs migrations when needed, and rolls back if its health check fails. That does not remove the operator's job. Keep database and media copies aligned, preserve external-library mount paths, and rehearse the procedure on spare storage. The README's 3-2-1 warning should be treated as an adoption condition.

Version 3.1.0 still has mobile and bulk-edit edge cases

One open report from two iPhones on server and mobile version 3.1.0 describes repeated duplicate-checksum insert errors. Resetting the app's SQLite database did not resolve the reporter's sync loop; deleting and reinstalling the app did. A single report does not establish a general failure, but it gives a precise acceptance test for multi-phone households: create new assets on 2 devices, wait for background work, and confirm later syncs settle.

Bulk metadata tools need the same caution. Issue 23074 reports that a shift-range selection in Manage Location unexpectedly selected about 28,000 assets after the interface paused for 5 to 10 seconds. The reporter recovered with XMP sidecars and ZFS snapshots. Issue 30010 documents portrait HLS video appearing unrotated in iOS browsers under a specific VAAPI setup. Test mass edits and representative video formats before rolling Immich out to less technical users.

An August 26 push and 714 open items show an active, busy project

GitHub recorded 112,733 stars, an August 26, 2026 push, and 714 open issues and pull requests combined. Release v3.1.0 arrived on July 29 with web upload wake locks, OIDC role synchronization changes, session invalidation during password resets, and an iOS 14 support drop. The current push plus continuing issue activity point to active maintenance; the combined open count should not be read as 714 confirmed bugs.

Immich offers the most convincing trial here when phone backup and family-friendly browsing come first. PhotoPrism is the sharper comparison for a web-first archive, while Ente makes more sense for encrypted service design. Our 2,460-package install shows the development tree is large, and the 6 GB server minimum confirms that deployment is a real service. If backups, upgrades, and storage checks will be neglected, choose a managed photo service instead.

Alternatives

ProjectWhat it isPick it when
PhotoPrism gh↗A self-hosted photo library centered on indexing, search, organization, and web access.pick this instead when an existing server-side archive and web catalog matter more than Immich's phone backup experience.
Ente gh↗An open-source photo service built around end-to-end encrypted backup and sharing.pick this instead when encrypted cloud-style storage matters more than running your own gallery server.
LibrePhotosA self-hosted photo manager with a timeline, albums, search, and face recognition.pick this instead when you want a server-first photo organizer and can accept a smaller project community.

What people are saying

  1. [github-trending] immich-app/immich

Sources

  1. Immich repository and README
  2. Immich installation requirements
  3. Immich Docker Compose guide
  4. Immich backup and restore guide
  5. Immich v3.1.0 release
  6. Mobile duplicate-checksum sync report
  7. Location range selection report
  8. iOS HLS portrait video report

More self-hosted reviews

newsnow · forem · octo-server · runtime · openfang · SparkyFitness · the whole board →