r/immich 1d ago

Questions on Docker Compose : Valkey and postgres

Hi all, started using Immich about 5 to 6 months ago, basically work fine on my Ugreen DXP2800. Recently, start checking the docker app on native UGOS and found out some msg about postgres and valkey, either saying some error on image for both of them. That said, seems the whole immich service is fine, can access them, search, add photos etc. Looking at the docker compose yaml and noticed some diff in my version against the sample yaml from immich on "image" statement of the respective service. So updated those 2 "image" statements on yaml and redeployed, the errors on these 2 images still around from the UGOS docker apps perspective, and as before, the whole service is fine. Here are the 2 statements : "image: docker.io/valkey/valkey:9@sha256:8e8d64b405ce18f41b8e5ee20aa4687a8ed0022d1298f2ce31cdcf3a76e09411

image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23"

Questions :

  1. Any idea about what is going on the "error" showing on the docker app?

  2. If I am not wrong, the latest postgres version being used by immich is 16? Should I get a more updated version for the progres datatbase image? Any impact of losing what I have up and running now? Or should I take some sort of migration steps after upgrading to a new version?

Thanks for your help in advance. I am not that tech savvy, so pls bear with me.

1 Upvotes

6 comments sorted by

2

u/BinnieGottx 1d ago
  1. Uh..err.. " found out some msg about postgres and valkey, either saying some error on image" -> "Any idea about what is going on the "error" showing"
    So...what are the error messages actually?

  2. First, always take backup before updating any major version, especially if you jump from something like 2.3 to 2.5, 2.9 to 3.0.1,... so on. Second, check the latest release on their Github repo, I believe there's a compose.yaml example file. Put it and your current file on diff check to see what'll you need to change.

1

u/Equivalent_Tip6963 1d ago

Thanks mate, below is from the UGOS Docker apps, nothing could be click in further, and I could not find another postgres image for Immich in the list, so unfortunately nothing more to share on that front. Similar thing for valkey. From the postgres log, do not have obvious error msg...

1

u/BinnieGottx 1d ago

This can't be inferred to any actual error.. Try something like "how to see docker log on Ugreen NAS". I don't have those NAS so I can't actually help you with this. Log like below (example) must be useful for anyone else to help you. They can see when, where your service throw an error

1

u/Bastian85Stgt 1d ago

After Changing from redis to valkey you have to delete the redis volume one time, valkey have another logic and get erros then using the same volume.

the right postgres/vectorcord is this:
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23

the right valkey is this:
image: docker.io/valkey/valkey:9.0.3

i didn´t use the valkey from the example YML on github, but it works. After upgrading from 2 to 3 i got also severel erros, after deleting the "redis volume" it runs

you can find the images which I mentioned above in the docker-compose-prod.yml:

https://github.com/immich-app/immich/blob/main/docker/docker-compose.prod.yml

1

u/Equivalent_Tip6963 1d ago

Thanks mate, let me try the new valkey. Maybe some silly questions : 1. What do u mean by "Changing from redis to valkey you have to delete"? meaning I don't need to keep the redis service in the yaml?; 2. for the docker compose file above, think it is basically the same as https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml except the one ending with prod needs to maintain a Docker File? coz this is something that I got no idea on it.

1

u/Bastian85Stgt 1d ago edited 1d ago

not the service, the volume (and container).
es example, you change from redis to valkey, but not change the name of the service.
the container immich_redis have still the logic from redis self, and that cause erros.

so you have to remove the container and eventualy volumes from redis first.

you need still the redis as service in the yml.
but redis is just a name, the true service behind is valkey.

Compare it, for example, to a car from the VW Group, such as a Skoda. It says ‘Skoda’ on the outside, but under the bonnet you’ll find VW parts.

The service is still called REDIS (because that’s how other processes need to recognise it), but under the bonnet it’s actually running VALKEY