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 immich3️⃣ Pull the Latest Immich Images
This downloads updated versions of immich-server, immich-machine-learning, and related services — without stopping anything yet:
docker compose pull4️⃣ Restart the Containers
Apply the new images by restarting all containers in detached mode:
docker compose up -dWait 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 --version6️⃣ Clean Up Old Images (Optional)
Remove unused Docker images to free up disk space:
docker image prune -fTroubleshooting
If containers fail to start after the update, check the logs:
docker compose logs immich-server --tail=50If 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.newThe 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.