Post

Update Immich 126.1 to 129.0

Scenario:

Immich is running in a Proxmox server VM and has not been updated since v126.1. I have been using Watchtower to update my other docker apps, but since Immich is moving so fast, I wanted to take the time to do it manually. Now, I need to update it to v129. This is a docker-compose installation.
The Proxmox server has two internal NVMe SSDs. Immich is on NVMe1, and the Immich processed images library is on NVMe 2. Which is a custom location, not in the defaults. All of my media was uploaded to Immich from an external HDD plugged into the Proxmox server and then mounted so that Immich-Go could find it inside the VM/container, which saved a tremendous amount of time uploading and processing 25K pictures and movies. With this setup, the built-in upload function also works as designed for smaller uploads.

Steps followed to complete the update.

1) I read the release notes and determined it would break my external HDD upload location, but only one single line of code was originally added to my working docker-compose.yml file so it could be entered back into the “new” docker-compose.yml after the upgrade was complete. The original .env file could be used without any changes.
https://github.com/immich-app/immich/releases/tag/v1.129.0

2) found this was not a breaking change
https://tinyurl.com/breaking-change

3) full backup using Proxmox backup tools
4) backup current files

1
2
cp docker-compose.yml docker-compose.custom-backup.yml  
cp .env .env.custom-backup  

5) reset docker-compose.yml

1
git restore docker-compose.yml  

6) verify it was reset - I had an ownership and permission error here on my immich/docker location that I had to fix before running this command without error and continuing

1
2
git status

7) switch to the main branch (and found out I was 147 commits behind and NOT on the main branch after my last attempt at an update).

1
git checkout main  

8) pull the latest changes

1
git pull  

9) switch to the Latest Release (v1.129.0)

1
git checkout $(git describe --tags $(git rev-list --tags --max-count=1))  

10) pull the latest docker images

1
docker compose pull  

11) restart Immich with updated version

1
docker compose up -d  

12) verify all containers are running

1
docker ps -a  

13) Run test uploads.

This post is licensed under CC BY 4.0 by the author.