Replies: 4 comments 1 reply
-
Immich currently uses Redis for two purposes: Task queueing via bullmq, and routing websocket communication so the background job workers can communicate with clients and such (through socket.io). For task queuing, postgres could theoretically be used (see https://adriano.fyi/posts/2023-09-24-choose-postgres-queue-technology/ for a primer on the topic). This has already been discussed by the maintainer team, but the appetite for this change is not that large. For the websocket routing, using postgres hasn't been discussed yet. It seems like socket.io also provides a postgres adapter, so it might be possible to use postgres there too. |
Beta Was this translation helpful? Give feedback.
-
Just curious on why it would be easier? You take the compose and do "compose up" and everything is doing it things? |
Beta Was this translation helpful? Give feedback.
-
Agreed that if you look at it just from this perspective of "compose up" it doesn't matter much. But I think its generally better, especially for smaller-scale software like this to reduce complexity early. Why have 2 systems for something when 1 system can do it just as well? 2 systems means you have 2 dependencies in your code base you have to take care of, it means you have 1 extra container running, which you need to keep updated or its a security issue, etc. For me specifically, I translated immich docker compose into a Nix module and so I had some added hassle with that during installation as well. |
Beta Was this translation helpful? Give feedback.
-
I agree with drop redis and move necessary things it to postgres. I like lightweight apps. Moreover right now when redis changed the license conditions. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone! I've recently installed Immich on my server and it felt a little more painful than I'd like. One of the things that I could spot right off the bat was that Redis seems superfluous, given that we are already setting up Postgres which can also be used as a fast KV Store.
Is this something that has been thought about, or does it seem like something worth looking into?
Beta Was this translation helpful? Give feedback.
All reactions