SelfhostRealm
A stylized NAS, storage bins, and camera exchange photo prints with a cloud, visualizing self-hosted versus cloud photo storage.
comparisons

Immich vs Google Photos: What You Gain and Lose

Immich compared to Google Photos on auto-backup, search, sharing, and running cost, with the documented hardware it needs and the risks you inherit.

By SelfhostRealm Editorial · ·Updated August 22, 2026 · 7 min read

Immich is the self-hosted photo server that comes closest to reproducing the part of Google Photos most people actually depend on: a first-party phone app that backs up the camera roll in the background, without being asked. Ente is the other project on the shortlist of self-hosted Google Photos alternatives with first-party auto-backup apps, though self-hosting its server is a newer and less-travelled path; PhotoPrism and LibrePhotos either lean on a third-party sync tool for that job or ask you to import a library by hand. What you gain by switching is cost control, ownership, and search that runs on your hardware. What you lose is Google’s invisible off-site redundancy and its zero-maintenance guarantee, and those are not small things.

This is a feature-by-feature look at where the two land, based on what Immich’s documentation states it does and requires — not a claim that one is universally better.

The Short Version

CapabilityGoogle PhotosImmich
Background camera-roll backupYes, first-partyYes, first-party iOS and Android apps
Face recognition and content searchYes, on Google’s serversYes, machine learning runs on your server
Albums and shared albumsYes, shareable to anyoneYes, with shared links and partner sharing
Map and timeline viewsYesYes
Off-site redundancyIncluded, invisibleYour job entirely
Ongoing costStorage subscription, grows with libraryElectricity plus disks you buy once
MaintenanceNoneVersion pinning, upgrades, database backups
Access when your house loses powerAlwaysNot until it comes back

What Immich Actually Is

Immich is an open-source photo and video server released under the AGPL. It runs as a Docker Compose stack rather than a single container: the server, a machine-learning container, Redis, and a Postgres database. The quick-start documentation has you download the project’s own docker-compose.yml and .env files, set two paths (UPLOAD_LOCATION for the library and DB_DATA_LOCATION for the database), and bring it up with docker compose up -d. The web app answers on port 2283, and the first account to register becomes the admin.

That multi-service shape is the main structural difference from something like PhotoPrism, and it is why Immich asks for more from a host than a typical single-container app. If you are still deciding what belongs on your box at all, the framework in how to decide what goes in your Docker Compose stack applies directly here — Immich is a load-bearing service the moment your family’s photos live in it.

Where Immich Matches Google Photos

Background backup. The mobile app has a dedicated backup screen where you choose which device albums to upload, then enable backup and leave it alone. This is the feature that makes leaving Google Photos realistic rather than aspirational.

Album sync, with a caveat worth knowing before you rely on it. Immich can mirror a phone album to a server album of the same name, and it will merge into an existing server album if the names match. The documentation is explicit that this sync is one-way, device to server: if you later delete or reorder photos in the album on your phone, the server album does not follow. Additions propagate; removals and rearrangement do not.

Local search and faces. Face recognition and natural-language search run in the machine-learning container on your own hardware. Nothing leaves the property to be indexed. That is the privacy argument in a sentence.

Reclaiming phone storage. Immich’s Free Up Space removes local copies of assets already backed up to the server, with a review screen before anything is deleted and options to keep favorites, keep chosen albums, or keep all photos or all videos. It is the equivalent of Google Photos’ storage-saver behavior, and it is more configurable.

Where Immich Wins Outright

Cost at scale. Google One’s paid storage tiers start at 100 GB and step up from there, billed forever and growing with your library; check the current plans page for today’s figures, because they change. Immich’s cost is the disks you already need for the rest of your homelab plus a few watts. For a library that is a few hundred gigabytes and still growing, the arithmetic stops being close after the first year or two.

Control over deletion. There is a read-only mode, toggled by long-pressing the profile icon or from Settings, that prevents accidental deletion from the device timeline. Handing a phone to a child is meaningfully less risky with it on.

No feature gets taken away. Self-hosted software can regress, but it cannot be discontinued out from under you. You can stay on a pinned version indefinitely.

Where Google Photos Still Wins

Off-site redundancy you never think about. This is the one that matters. Google was quietly holding a geographically separate copy of every photo you took. The moment you self-host, that copy is gone unless you recreate it, and a house fire or a failed pair of disks takes the library with it. Do not switch until you have read backup strategies for a self-hosted stack and actually implemented the off-site leg — both the photo files and a dump of the Postgres database, which holds albums, faces, and metadata that would be painful to rebuild.

Zero maintenance. Immich moves fast. The .env file ships with IMMICH_VERSION set to a major track, and the documentation notes you can pin it to an exact release such as v2.1.0. Pinning and reading release notes before upgrading is not optional advice for this project; it is the operating procedure. There is also a hard compatibility floor to be aware of: since v3, amd64 hosts must support the x86-64-v2 microarchitecture level. Most CPUs released from roughly 2012 onward do, but a very old salvaged box or a virtual machine configured with a generic CPU model may not, and the last release that ran on x86-64-v1 was v2.7.5, which is no longer supported.

Sharing with people who are not technical. A Google Photos shared album just works for the recipient. An Immich shared link works too, but it points at a hostname you have to expose and keep reachable.

Editing and extras. Google’s editor, Lens lookups, and its automatic collages and highlight reels have no direct equivalent.

What It Takes to Run

The requirements page is specific, which makes planning easy:

  • RAM: 6 GB minimum, 8 GB recommended. On a 4 GB machine, the documentation says Immich can run with machine-learning features disabled — you keep backup and the timeline, you lose faces and smart search.
  • CPU: 2 cores minimum, 4 recommended. Both amd64 and arm64 are supported, so an ARM board is not disqualified.
  • Database placement: the Postgres files are typically 1 to 3 GB, and the docs state plainly that they should live on local SSD storage and never on a network share of any kind. If you are using Docker resource limits, Postgres wants at least 2 GB of RAM to itself.
  • Filesystem: a Unix-compatible filesystem with real ownership and permissions — EXT4, ZFS, APFS. Windows filesystems are a documented source of trouble.

The practical layout that follows from those constraints: database on the host’s NVMe, photo library on bulk storage mounted into the container. If you want to check whether Immich plus whatever else you run will actually fit the box you own, our self-hosted app picker and resource budget estimator sums realistic idle and active RAM for a whole stack and counts shared databases once.

For the bulk storage half, a small two-bay NAS is the tidiest answer for most households: mirrored disks for the library, a share the Immich host mounts, and enough spare capacity to hold the backup of another machine. The Synology DS223 is the two-bay diskless unit that fits that description — a 2023 model the DS225+ has since superseded, still sold and still the cheaper way into a mirrored pair. It is not the Immich host — the database still belongs on the server’s own SSD — it is the shelf the library sits on. If a NAS is more than you want to own, a single large drive in the mini PC plus a rotating external disk for the off-site copy is a legitimate smaller version of the same plan, and the picks in best mini PC for a homelab all have room for one.

Should You Switch?

Switch if your library is growing faster than your patience for storage bills, you already run a homelab with backups you trust, and you want face recognition and content search to happen on hardware you own.

Do not switch yet if the only copy of your family photos would end up on a single disk in a cupboard, or if you cannot commit to reading release notes before upgrades. Google Photos costing money is a much smaller problem than a lost decade of photographs.

Consider the middle path if you already run Nextcloud — for example on the setup in how to self host Nextcloud on a Raspberry Pi — where the Memories app gives you a timeline over the photos Nextcloud’s mobile client already uploads, without a second stack to maintain. It is less capable than Immich and much less work.

Next Step

If you have decided, the migration is its own project and the metadata is the fragile part. Start with Google Takeout to Immich, which covers the export settings, the JSON sidecar problem, and the import tool the Immich documentation itself recommends. If you are still weighing options, the head-to-head of self-hosted Google Photos alternatives covers Ente, PhotoPrism, Nextcloud Memories, and LibrePhotos against the same criteria used here.

Sources

  1. Immich Documentation — Requirements
  2. Immich Documentation — Mobile App
  3. Immich Documentation — Install with Docker Compose
  4. Immich Documentation — Post-installation steps
  5. Immich — source repository (AGPLv3)
  6. Google One — Plans and Storage

Related