I have Immich installed as an app (App Version: v2.3.1, Version: 1.10.13) and I’d like to update it. I’m using TrueNAS SCALE 25.10.3. Based on some research, this requires some database migrations, but they seem impossible to do. My version seems to be too old to have the migrations, while the current latest version is too new, and the update fails. I’ve also found that you can use the built in backup system, but that seems to have changed a lot since my version, and I’m not sure if a backup I create still works.
That’s the thing, I don’t see the option to change the postgres version. I suspect that it’s because my version is too old. I also found something about manually changing the version of the migration container to fix that (related to v1.13.6), but I don’t see any such container in the mentioned file.
I faced the same issue and I couldnt get anything I found online to work. My app was v1.7.10: immich 1.122.2 and postgres 15 with pgvectors 0.2.0. Not sure if this is a good solution but heres what I did:
Edit the app to disable machine learning. This was needed because immich app wouldnt start necause it couldnt see the machine learing container for some reason.
converted the app to a custom app using a docker compose file. migrated all the folders except postgres into single upload_location per Files Custom Locations | Immich . I just kept the postgres version as 15 for now and tagging the latest 15-vectorchord-0.5.3. Saving the postgres 18 upgrade for a later date.
The reason for updating slowly was due to some breaking changes. See Upgrading | Immich . Probably dont need to do it as slowly as I did though
To change the container versions I edited the files under /mnt/.ix_apps/immich/…/ix_values.yml then clicked app → edit on webui, and save. Then started the app to allow database migrations.
Take backups/snapshots beforehand as well. I just copied all the data to a new location repeatedly to to be able to retry as many times as I needed
If I were to do this again, I would just convert to a custom app first choosing versions of images currently being used by exisiting immich app, and pointing to same/copied folders. Then do the updates on the docker compose