Immich vs Google Photos: What Breaks When the Library Outgrows the Box

Leona Hart

Leona Hart

August 25, 2026

Immich vs Google Photos: What Breaks When the Library Outgrows the Box

Immich looks like Google Photos until the library is larger than the box. The first month is a dopamine hit: backup from the phone, a timeline that feels familiar, faces that cluster, a map that works. Then a holiday dump lands 80 GB of 4K and RAW, the machine learning job never finishes, Postgres and originals share a 2 TB disk, and the partner’s phone quietly fills the last 40 GB overnight. Google Photos did not get better. Your homelab hit a size where “self-hosted photos” is a storage and jobs problem, not an app problem.

This is not a feature checklist. Both products will show you last Tuesday. The question is what breaks when the library outgrows the CPU, the RAM, the disk, and the human who is supposed to be on call for Grandma’s album link.

What Google is still selling

Unlimited-feeling upload from every phone in the family. Sharing that does not require a Tailscale explain. Search that already ran on someone else’s GPUs. A bill that grows in predictable storage SKUs instead of in silent RAID decisions. The privacy trade is the product. You already knew that. What people forget is the operational trade they take on when they leave.

Google will still be there when you are on a plane. Immich will be there when the NAS is on, the proxy cert is valid, the mobile app still speaks this month’s API, and the upload path is not full. Those are different SLAs. Families feel the second one as “photos are broken.”

I keep a paid Google account as a safety dump for people who will not run a client VPN. I keep Immich as the library I can hold. Dual-writing is messy. Single-writing to a box you have never restored is messier.

A homelab NAS with full drive bays and a storage warning on the monitor

The first wall: bytes, not vibes

Phone cameras in 2026 are hostile to a 4 TB “media” disk you also use for Plex. Burst HEIF, ProRes-adjacent video, and RAW from a “pro” mode will fill a weekend. Immich stores originals if you tell it to. That is the point. It is also how a family of four outgrows a used Synology before the year ends.

Google will quality-slide or charge you. Immich will accept the file until the volume is full. Full is not a polite error in every client. Full is a backup job that fails halfway and a phone that thinks it is still uploading. Monitor free space like it is a life-safety check. Quota per user if you have teenagers. A second library disk that is not the OS. If originals and thumbnails and Postgres live on one SSD, you will learn about inode and WAL the same week you learn about vacation photos.

External libraries (a folder Immich indexes) feel like a way to dodge copies. They are also a way to let a messy NAS tree become the source of truth with no upload pipeline. Fine for a curated archive. Bad for “the phone is the camera.” Pick one source of truth. Two trees that both look like 2024-07 is how you delete the wrong one.

The second wall: jobs that never catch up

Immich is a queue: upload, thumbnail, metadata, smart search, faces, transcode. On a Pi or an 8 GB box, that queue is the product. A holiday import can leave “jobs running” for days. Search feels broken. Faces are a week behind. The UI looks healthy. The backlog is the outage.

Google hides that backlog in a datacenter. You hide it in RAM. The machine learning container is the one that surprises people. It wants memory. It wants a GPU if you have one, and it will punish a CPU-only NAS. If the box is also Plex and Home Assistant, you do not have an Immich server. You have a fight. Give Immich a host that can finish the queue or turn off the features you will not wait for. Disabled smart search on a machine that cannot run it is honesty. Enabled smart search that never completes is a lie in the settings page.

Transcoding 4K for the web player is another silent disk and CPU tax. If everyone in the house watches from the official app on LAN, you may not need it. If Grandma uses a browser on LTE, you do. That transcode pile can be larger than you budgeted. Measure it before you promise “we left Google.”

Someone browsing a family photo timeline on a tablet in the evening

The third wall: backup of the backup

Your phone backed up to Immich. Immich is now the only copy of the trip. If the pool dies, you have a very expensive timeline. Google’s failure mode is a company incident. Yours is a disk. Borg or restic the originals. Restore a subset onto a scratch box once a quarter. Database plus files. Files without Postgres is a pile. Postgres without files is a museum catalog.

Version upgrades matter more as the library grows. Migrations take time and disk. Snapshot before you pull :release. A 2 TB library is not a container you upgrade on a Friday because the release notes were exciting. Pin versions. Read the breaking changes. The mobile app and the server can disagree after an update. That disagreement looks like “backup is off” to a partner.

Sharing, partners, and the social SLA

Google’s share link works for people who should not install Tailscale. Immich can share, and then you have exposed a path or you have invited someone into your mesh. Both are work. If the family event album must reach twenty relatives this weekend, Immich is not faster. Plan a dump to a shared Google album or accept that you are the helpdesk.

Partners who still have “backup to Google” enabled will dual-write until a disk fills. Turn one off on purpose. Write it down. The phone UI will re-enable a cloud backup after an OS update. Check after iOS and Android major releases. I have lost a weekend to a phone that filled Immich and Google and then the NAS.

When Immich still wins

You want originals on a disk you can hold. You will buy disks ahead of the year. You will give the stack CPU and RAM that can finish jobs. You will not share the host with every other hobby. You have a restore drill. You can reach the server from a phone on LTE via a mesh or a name you maintain. The household will tolerate a day of “search is catching up” after a trip.

A used small PC with 32 GB of RAM and a dedicated rust pool is a happier Immich than a Pi 5 with cute compose. The Pi will demo. The library will not stay a demo. I have watched a Pi finish thumbnails and then sit on face clustering until someone rebooted it for an unrelated Home Assistant update. The reboot cleared the cute part. The queue did not.

Hardware transcode on an Intel iGPU or a real NVIDIA card changes the Grandma-on-LTE story. Without it, you either pre-transcode (disk) or you make people download originals (bandwidth and tears). Budget that before you invite the group chat.

When you should stay on Google, or both

One admin, three non-technical phones, no appetite for a second disk this year. Stay on Google and export occasionally if you care. Or Immich for you and Google for them, knowing search will never be one place.

If the box is already 80 percent full, do not migrate. Expand first. A migration onto a full disk is how people lose the week and keep Google anyway. Import in batches. Watch the job list go to zero before you start the next year of takeout. A single “upload everything” is how the queue becomes a personality.

A growth plan that does not surprise you

Separate volumes: originals, thumbnails, database. Monitor all three. Cap mobile backup quality if you must, but prefer buying rust to silently recompressing family history. Schedule ML hours so a 2 a.m. embedding job does not fight a backup window. Keep Google export or an official takeout as a yearly cold copy if you still have an account. Do not let Immich be the only copy of the only copy.

When the library outgrows the box, the fix is almost never “switch back because Immich is bad.” The fix is disks, a quieter job queue, and a partner setting. Google just hid those invoices in a storage slider.

The close

Immich breaks at size the way homelabs break at size: jobs, disks, and other people’s phones. Google Photos breaks at policy and privacy. Pick the failure you are willing to own. If you own Immich, buy the pool before the holiday, finish the queue before you brag about search, and restore a year of originals onto a machine that is not the NAS.

When the library is small, Immich is a weekend. When it is the family archive, it is a product. Staff it like one or keep paying Google for the staff you do not want to be.

More articles for you