Tech Vault

Back up your phone's photos with Immich

Install Immich, let your phone upload its photos to it automatically, and keep a second copy somewhere safe.

45 minutesMediumNo terminal neededChecked 9 November 2026

What you’re about to build

Immich is your own version of Google Photos or iCloud Photos. The app on your phone uploads new photos in the background to a server in your house, and you get a timeline, albums, a map, sharing, and search by face or by what’s in the picture. All of that is worked out on your own machine.

Immich needs a computer that’s always on, so this guide assumes a home server. Immich doesn’t run on Windows or Mac as a normal app.

1. Install Immich

ZimaOS home server, No terminal, one click

  1. Open your ZimaOS dashboard, go to the App Store, search for Immich and install it. It’s several parts working together, so the first install takes a few minutes.
  2. Open it from the dashboard. It’s at your server’s address on port 2283, for example http://192.168.1.50:2283.
  3. Create the admin account. The first account you make is the admin.

Your photos will be kept in the Gallery folder, inside immich, which you can see in ZimaOS’s Files app.

Don’t have ZimaOS yet? The ZimaOS guide turns a spare computer into a home server in under an hour.

Docker on Linux, Uses the terminal

Immich publishes its own setup files with every release. Use those rather than writing your own:

mkdir -p ~/immich-app && cd ~/immich-app
wget -O docker-compose.yml 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 .env with nano .env and change two settings:

  • UPLOAD_LOCATION is where your photos are kept. Point it at your biggest drive.
  • DB_PASSWORD is the database password. Replace postgres with a long mix of letters and numbers, with no symbols or spaces.

Start it with docker compose up -d, open http://your-server:2283, and create the admin account.

2. Connect your phone

  1. Install Immich from the App Store or Google Play.
  2. For the server address, enter the same address you opened in the browser, for example http://192.168.1.50:2283. Away from home, use your Tailscale address instead.
  3. Sign in with the account you created.
  4. Tap the cloud icon, choose which albums to back up (on most phones, Recents or Camera is everything you take), and turn on backup.
  5. Turn on background backup, so new photos upload without opening the app.

The first upload of a big library can take hours. Leave the phone charging on Wi-Fi overnight.

3. Give each person their own account

In Immich’s Administration page, add a user for each person in the house. Everyone gets their own private timeline; you can share albums, or set up partner sharing, when you want to see each other’s photos.

4. Keep a second copy

Immich is now the home of your photos, so it needs a backup of its own. Two things matter:

  • The photos themselves: the folder Immich keeps them in (the Gallery folder on ZimaOS).
  • The database: albums, faces, who can see what. Immich saves a copy of it every night into a backups folder inside the photo folder, so backing up the photo folder catches it too.

Copy that whole folder to a second place regularly: a USB drive, another computer, or cloud storage. A backup app with a web page, such as Duplicati from the ZimaOS App Store, can do it on a schedule. The backups page explains the options.

Check it worked

Take a new photo on your phone. Within a few minutes it should appear in Immich’s timeline in your browser. Once the overnight scan has run, try searching for something in a photo, like “dog” or “beach”.

If it breaks

The page at port 2283 won’t load. Immich takes a minute or two to start after an install or restart. If it still won’t load, restart the app from the ZimaOS dashboard. Running out of memory is the usual cause of repeated restarts.

The phone says it can’t reach the server. Check the address includes http:// and :2283. Away from home, the phone needs Tailscale switched on.

Face search finds nothing. Faces and objects are worked out in the background after upload, which takes a while for a big library. Immich’s Administration page shows its background jobs, so you can see what’s still running.

Updating. Read the release notes on Immich’s GitHub page first, since some releases ask you to change a setting. On ZimaOS, update from the dashboard; with Docker, run docker compose pull and docker compose up -d.