How to Update Immich in Docker: Step-by-Step Guide (2026)

Updating Immich deployed via Docker Compose is quick and safe — the whole process takes under 5 minutes. Here’s everything you need to know.


1️⃣ Back Up Your Data First

Before any update, back up your photos and database. These two directories contain everything:

cp -r /path/to/immich/uploads /backup/immich-uploads-$(date +%Y%m%d)
cp -r /path/to/immich/postgres_data /backup/immich-db-$(date +%Y%m%d)

2️⃣ Navigate to Your Immich Directory

Go to the folder where your docker-compose.yml file is located:

cd /path/to/immich/

Not sure where it is? Run:

find / -name "docker-compose.yml" 2>/dev/null | grep immich

3️⃣ Pull the Latest Immich Images

This downloads updated versions of immich-server, immich-machine-learning, and related services — without stopping anything yet:

docker compose pull

4️⃣ Restart the Containers

Apply the new images by restarting all containers in detached mode:

docker compose up -d

Wait 30–60 seconds for Immich to fully initialize before opening the web interface.


5️⃣ Verify the New Version

Check in the web interface: Avatar → About, or run:

docker compose exec immich-server immich --version

6️⃣ Clean Up Old Images (Optional)

Remove unused Docker images to free up disk space:

docker image prune -f

Troubleshooting

If containers fail to start after the update, check the logs:

docker compose logs immich-server --tail=50

If Immich updated its docker-compose.yml (new services, changed ports), compare your local file with the official release:

curl -o docker-compose.yml.new https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
diff docker-compose.yml docker-compose.yml.new

The Full Update in 4 Commands

cd /path/to/immich/
docker compose pull
docker compose up -d
docker image prune -f

💡 Tip: Subscribe to Immich GitHub releases to get notified of new versions. Always read the release notes before major version updates — they sometimes include important migration steps.


FAQ

Do I lose my photos when updating?

No. Your photos live in the uploads/ volume, which is never touched during container updates.

Do I need to stop containers before pulling?

No. You can pull new images while containers are running. They’ll only be applied when you run docker compose up -d.

Can I downgrade if something breaks?

Yes. Pin the previous version tag in your docker-compose.yml and run docker compose up -d again.