Skip to content
TutorialsMedia ServersIntermediate

How to Install Immich Photo Backup

Replace Google Photos with self-hosted Immich — automatic mobile backup, ML-powered search, and a plan for storage and backups.

by HomeServersGuide TeamUpdated July 16, 20263 min read

What you'll build

Immich is a self-hosted photo and video solution with slick mobile apps, automatic phone backup, face recognition and fast search. It's the closest open-source experience to Google Photos, but your memories stay on your own hardware.

Before you start

  • Storage: budget for your whole library plus growth. Photos add up fast — many families need hundreds of gigabytes.
  • RAM/CPU: machine-learning features (search, face detection) benefit from a few GB of RAM and, ideally, a modern CPU or GPU.
  • A backup plan: Immich is your library, not a backup of it. You still need offsite copies.

Step 1: Get the official Compose files

Immich publishes a maintained Compose file and env file. Create a folder and fetch them:

mkdir immich && cd immich
wget -O compose.yaml 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

Step 2: Configure the environment

Edit .env and set at least:

UPLOAD_LOCATION=/mnt/photos/immich   # where originals are stored
DB_PASSWORD=change-me-strong
TZ=Europe/Paris

Point UPLOAD_LOCATION at the drive or NAS mount with room to grow. The stack includes the Immich server, machine-learning container, PostgreSQL and Redis.

Step 3: Start Immich

docker compose up -d
docker compose logs -f immich-server

When it settles, open http://your-server-ip:2283 and create the admin account (the first user is the admin).

Step 4: Set up the mobile apps

Install Immich from the App Store / Play Store. Point it at your server URL and log in, then enable Backup:

  • Choose which albums to back up (Camera roll at minimum).
  • Enable background backup and backup over Wi-Fi only if you want to save mobile data.
  • Enable foreground/again for immediate first sync.

Your phone now auto-uploads new photos to your server, freeing you from Google Photos.

Step 5: Enable the good stuff

  • Machine learning: face recognition and smart search run in the ML container. On a modest CPU this is fine for a personal library; large libraries benefit from a GPU.
  • External libraries: point Immich at existing folders of photos (read-only) so it can index your archive without re-uploading.
  • Sharing: create shared albums for family without giving them accounts.

Step 6: Storage and backup strategy

This is the part people skip and regret. Immich stores originals in UPLOAD_LOCATION and metadata in PostgreSQL. To protect both:

  1. Back up the database with a scheduled pg_dump from the Postgres container.
  2. Back up the upload folder with Restic or Duplicati to an offsite target.
  3. Follow the 3-2-1 rule — a NAS copy plus an offsite copy.

Important: read the release notes

Immich moves fast and occasionally makes breaking changes between versions. Pin a version rather than using :latest, and read the release notes before upgrading. Always have a working backup before you update.

Troubleshooting

  • Uploads fail on large videos — increase your reverse proxy's max body size.
  • ML features slow or crashing — give the ML container more RAM, or disable smart search on very weak hardware.
  • App can't connect — verify the server URL, and use HTTPS via a reverse proxy for remote use.

Next steps

Pair Immich with Nextcloud for documents, and expose both securely through a VPN or reverse proxy rather than opening ports directly.

Related articles

TutorialsMedia ServersBeginner

How to Set Up Jellyseerr for Media Requests

Give your household a clean way to request movies and shows that flow automatically into your Jellyfin or Plex library.

1 min read
TutorialsMedia ServersBeginner

How to Set Up a Jellyfin Media Server

Install Jellyfin with Docker and stream your movies, TV and music to every device for free.

1 min read
GuidesMedia ServersIntermediate

The *arr Stack: Automate Your Media Library

How Sonarr, Radarr, Prowlarr and a download client work together to build a hands-off media server.

2 min read