Immich is a high-performance, self-hosted photo and video manager that replaces Google Photos on your own hardware, with automatic phone backup, face recognition, and fast search, and none of your memories leaving home. It just reached the v3.0 milestone and has blown past 106,000 GitHub stars, making it one of the most popular self-hosted projects anywhere. This tutorial stands up a server with Docker Compose and connects the mobile app for auto-backup.

  • Immich is a self-hosted Google Photos alternative: auto-backup, face recognition, albums, and search.
  • Setup is Docker Compose from the official release files, then a docker compose up.
  • Native iOS and Android apps back up your camera roll automatically, just like Google Photos.
  • It is AGPL-3.0 and free; v3.0 marks its most stable release yet after years in beta.
Google Photos versus self-hosted ImmichGoogle Photos stores your library on Google's servers under their pricing and policies. Immich runs on your own machine, backs up your phone automatically, and keeps every photo private. GOOGLE PHOTOSPhotos on Google's cloudStorage you rent monthlyTheir AI sees your libraryPolicy changes apply to you IMMICHPhotos on your serverFree, your diskLocal face recognitionYour rules, forever Your whole photo library, private and yours genztech.blog
Fig 10 Google Photos stores your library on Google's servers under their pricing and policies. Immich runs on your own machine, backs up your phone automatically, and keeps every photo private.

What is Immich and why is it huge?

Immich recreates the Google Photos experience on infrastructure you control. It backs up your phone's camera roll automatically over the mobile apps, organizes everything into a fast timeline, recognizes faces, groups by place, and offers the search and albums people expect from a modern photo app, all running on your own server. Its enormous popularity comes from a widespread itch: photo libraries are among the most personal data people own, cloud storage costs creep up, and users are increasingly uneasy about handing every image to a tech giant's AI. Immich is the mature, polished answer, and hitting v3.0 signals it is ready for people who are not hobbyist sysadmins.

RelatedStrix Setup: Run an AI Penetration Tester on Your Code

How do you install the server?

You need Docker and Docker Compose. Immich provides the compose and environment files with each release; always use the release versions, not the ones on the main branch:

mkdir immich-app && cd immich-app
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Open the .env file and set where your photos are stored and a database password:

# .env, the two settings that matter most
UPLOAD_LOCATION=./library
DB_PASSWORD=choose-a-strong-password

Then bring it up and open the web app to create your admin account:

docker compose up -d
# then visit http://localhost:2283 and set up the admin user

How do you back up your phone?

The server is only half of it; the mobile app is what replaces Google Photos day to day. Install Immich from the App Store or Google Play (the Android APK is also on the releases page), point it at your server's address, sign in with the account you just created, and enable automatic backup. From then on your camera roll uploads to your own server in the background. Because the whole timeline, face recognition, and search run on your hardware, none of it depends on a subscription and none of it is visible to anyone but you.

What are the gotchas?

Three, and they are the usual self-hosting responsibilities. Back up your database and photo library yourself; self-hosting means you are the one who prevents data loss, so a real backup plan is not optional for irreplaceable photos. Use the release compose file, not the one on main, which the project explicitly warns can be incompatible with the latest release. And if you want to reach your library away from home, put Immich behind a reverse proxy with HTTPS or a VPN rather than exposing it raw to the internet. It is AGPL-3.0, which is fine for personal and most uses, but worth noting if you plan to build a product on it.

RelatedSet Up OpenAI Codex Inside Claude Code

What hardware do you need to run it?

You do not need much, which is part of why Immich has spread so far. The server runs happily on modest self-hosting hardware: a Raspberry Pi 4 or 5, a cheap mini-PC, an old laptop, or a spare corner of a home NAS like Synology or a TrueNAS box all handle a personal library fine. The one resource that actually matters is disk, because photos and especially 4K video are large, so size storage to your real library plus years of growth, and plan an external or off-site backup for the irreplaceable stuff. The optional extra is machine learning: face recognition and smart search run faster with more RAM and benefit from a GPU, but they work on CPU-only boxes too, just more slowly on the first indexing pass. In short, an old machine with a big enough drive is a perfectly good Immich server. The mistake to avoid is under-provisioning storage and then scrambling when the camera roll of a whole family fills the disk.

What to watch · 2026
  • Post-v3 stability. Whether the stable line cuts the frequency of breaking changes.
  • Onboarding. How approachable setup becomes for non-technical users.
  • Feature parity. How close local search and recognition get to Google's cloud AI.

Our take

Immich is the flagship example of self-hosting going mainstream, and v3.0 is the moment it stops being a project only tinkerers run. Photos are the most emotionally loaded data most people have, the cloud-storage bill only ever grows, and unease about handing a lifetime of images to a giant's AI is now common, so the appetite for a private alternative is genuine and large. What makes Immich win is that it does not ask you to sacrifice the experience: auto-backup, face recognition, and fast search are all there. The price of admission is accepting the self-hosting duties, above all real backups. If you have somewhere to run Docker and care about owning your memories, this is the one to install.

Primary sources

Original analysis by GenZTech. Tool documentation: immich-app/immich on GitHub.