Skip to main content

A self-hosted Google Photos alternative: getting started with Immich

Google Photos is one of those services that feels free right up until you need your data, hit a storage cap, or think about who is analysing your library. Immich is the self-hosted answer: your photos and videos on a server you own, with an app that backs up your phone automatically, just like Google's.

What Immich actually gives you

  • Automatic mobile backup — install the iOS or Android app, point it at your server, and new photos upload in the background. This is the feature that makes it a genuine replacement rather than just a viewer.

  • A modern web interface — a timeline, albums, favourites, an interactive map of where photos were taken, and fast search.

  • Faces and content search — facial recognition groups people; smart search lets you type "beach" or "dog" and find matching photos. (These ML features are optional and CPU-hungry.)

  • Multi-user and sharing — separate libraries for family members, plus shared albums.

  • Broad format support — including RAW photos and transcoding many video formats for browser playback.

What you need to run it

Immich is not a single small app — it is a set of containers: the server, a machine-learning service, PostgreSQL and Redis. That means:

  • RAM: 4 GB minimum, 6–8 GB comfortable (the ML service is the hungry part).

  • Disk: sized to your library, with room to grow — photos and video add up fast.

  • A domain and TLS: so the mobile app can reach it securely.

A VPS with a few vCPU and enough disk is ideal. If you would rather turn off facial recognition and smart search, Immich still does backup and browsing well on a smaller box — see the spec sheet at /app-hosting/immich.

The step that matters most: backups

Your photo library is the one thing you will never recreate. Before you import everything:

  1. Back up both the PostgreSQL database and the upload directory — Immich needs both to restore.

  2. Send those backups somewhere that is not the Immich server.

  3. Actually test a restore. An untested backup is a hope, not a plan.

See Backups that actually save you for the pattern.

Getting started

  1. Provision a VPS, point a domain at it, add TLS.

  2. Deploy the official Immich Docker Compose stack (server + ML + Postgres + Redis).

  3. Create your account, install the mobile app, enter your server URL, enable automatic backup.

  4. Let the first upload finish, then configure and test backups.

  5. Optionally enable facial recognition and smart search.

The trade is simple: you swap a subscription and someone else's servers for a small monthly VPS and the responsibility of keeping it running and backed up. For a lot of people, that is exactly the trade they want. Immich is open source under AGPL-3.0.