How to Scale Immich correctly

This maybe a dumb question since I am not that savvy, but here it is anyway. Currently: I have immich running in docker (via portainer) on a very basic linux machine, the storage is on a NAS, however everything else is local to that machine. Since the machine is not very powerful there are few issues if some other processes are running. I stumbled upon below article that talks about scaling immich. https://immich.app/docs/guides/scaling-immich And as per the requirement mentioned: "When doing this, the only requirement you need to be aware of is that every instance needs to be connected to the shared infrastructure. That means they should all have access to the same Postgres and Redis instances, and have the same files mounted into the containers." 1️⃣ Now how do i do this (sharing access to same Postgress and Redis between two different servers in same network tho) since everything is docker container here. Now the follow-up question. 2️⃣ I would ideally like to move everything to another server, use new server as main instance. How easy is it and what are the chances of fuck ups? Can I simply move everything to new server and see if it works before removing the current stack in low powered server? If there is a solution out there already, please do point, I will be happy to follow the instructions and ask further questions if any. Appreciate the help. Thanks in advance.
11 Replies
Immich
Immich5mo ago
:wave: Hey @itsddpanda, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time). 2. :blue_square: read applicable release notes. 3. :blue_square: reviewed the FAQs for known issues. 4. :blue_square: reviewed Github for known issues. 5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy). 6. :blue_square: uploaded the relevant information (see below). 7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed.
Zeus
Zeus5mo ago
1) basically you’re on your own, you need to expose one Postgres and Redis instance to the LAN and configure each one to connect to it. You’re expected to know/research how to do this on your exact system 2) please take a backup and restore as per our docs. Then you can move whenever you want
itsddpanda
itsddpandaOP5mo ago
thanks mate, referring to backup and restore, it only refers to Postgress, does redis does not need to follow the suite ?
Zeus
Zeus5mo ago
Redis is disposable data
itsddpanda
itsddpandaOP5mo ago
ah okay. Follow up question, cant I simply use the existing postgress instance in docker to be shared with new server? and have new Immich DB-URL set to this old one?
Mraedis
Mraedis5mo ago
I guess, but why do that? Just do a backup restore on the new machine and keep the old install as is until the new one works fine. You won't benefit anything from trying to break up your install like this, especially if you have to ask at all
itsddpanda
itsddpandaOP5mo ago
well i would like to have two instances of the same running, just in case 1 has to be turned off for any reason so was looking for the same i found the "scaling" post from immich docs and it talks about having a shared DB thus asking if i can simply use the one already running in old server even if i do a restore both of them wont be in sync however if this is not a possiblity i would then move everything over to new server
Mraedis
Mraedis5mo ago
Two instances and scaling is not the same thing, you can't have two frontends on the same db What scaling means is multiple api workers or a redis cluster instead of a single instance This is all very technical and you better have experience because it's not for the uninitiated
itsddpanda
itsddpandaOP5mo ago
got it.. i will simply move it.
Immich
Immich5mo ago
This thread has been closed. To re-open, use the button below.

Did you find this page helpful?