Distributed immich instance
Hi there 👋 ,
I'm currently planning on how to set up Immich with a separated "processing" and "storage" instances across different machines. I read about hosting the image-recognition service on a separate machine in the documentation, therefore I hope that my approach isn't too far fetched.
As for my setup, I essentially have one "powerful" dedicated server in Frankfurt, which has enough RAM and CPU to do all the "heavy lifting" for my Immich setup. Additionally, there is a "storage" VPS, hosted in Amsterdam, which has about 1GB of RAM and 1 vCPU, where I'd like to save all my images. Bandwidth is usually not a problem, but sometimes I get ping spikes when connecting from either machine to the other one.
So, is there a recommended way of splitting the storage and the processing part? Would a simple network filesystem mount (nfs, sshfs, ...) be enough or is there a better way to do it? I hope this question hasn't already been asked a bajillion times, but I'd love to hear your recommendations on how to do this the right way.
Thanks in advance! 😁
7 Replies
Hello, machine-learning is headless, so you can spin it up from any machine without too much interaction to the storage, since the thumbnail will be sent over to the service to do the inferencing and then sent back the result.
For microservices container, which is the one that handle the transcoding, thumbnail generation, metadata extraction. As long as it can access the storage layer that is similar to the server container under
but you will have to setup the service to be reachable by the server container with the environement variable
UPLOAD_LOCATION
. You can then distribute itHi, thanks for the quick response :)
scartch the microservices part, you should spin it up together with the server/redis service
so your server will be in Frankfurt, then you mount the storage vps to the server in Frankfurt
Ok, so if I understand you correctly, Immich itself will be entirely deployed on the powerful VPS, which has the storage VPS mounted as
UPLOAD_LOCATION
?
Do you have any recommendations or experiences with a particular network file system type?Correct
We have issue with CIFS
so NFS would work
Perfect, thank you so much for your help!
And have a nice day 😁
You as well