Jobs are hanging

As mentioned in the title, Immich jobs are hanging. Before version 2.2.1 (on 2.0.0), restarting the server would fix the issue — every job that was previously stuck would start running again. However, after updating to 2.2.1, the "Generate Thumbnails" job is hanging. When I first spun up the containers, everything worked perfectly. Now, under Admin → Generate Thumbnails, it shows 80K photos waiting, but only about 7–8 actually need thumbnails after being auto-uploaded from mobile. Here is my docker-compose:
name: immich

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
environment:
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE_NAME: ${DB_DATABASE_NAME}
depends_on:
- redis
- database
- immich-machine-learning
restart: always
healthcheck:
disable: false
networks:
nproxy:
ipv4_address: 172.75.0.3

immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
restart: always
healthcheck:
disable: false
networks:
nproxy:
ipv4_address: 172.75.0.8

redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
healthcheck:
test: redis-cli ping || exit 1
restart: always
networks:
nproxy:
ipv4_address: 172.75.0.14

database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
networks:
nproxy:
ipv4_address: 172.75.0.13

volumes:
model-cache:

networks:
nproxy:
external: true
name: immich

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
environment:
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE_NAME: ${DB_DATABASE_NAME}
depends_on:
- redis
- database
- immich-machine-learning
restart: always
healthcheck:
disable: false
networks:
nproxy:
ipv4_address: 172.75.0.3

immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
restart: always
healthcheck:
disable: false
networks:
nproxy:
ipv4_address: 172.75.0.8

redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
healthcheck:
test: redis-cli ping || exit 1
restart: always
networks:
nproxy:
ipv4_address: 172.75.0.14

database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
networks:
nproxy:
ipv4_address: 172.75.0.13

volumes:
model-cache:

networks:
nproxy:
external: true
I am not sure what to paste from logs exactly. I don't see any problem from it.
24 Replies
Immich
Immich3w ago
:wave: Hey @MrTheNikkoo, 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. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: 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. Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Alex Tran
Alex Tran3w ago
I haven’t look at the logs since I am on my phone. But a quick glance at the compose, I believe that it related to your network setting in the compose file, so that Redis isn’t able to communicate with the server and microservice Try the default compose file and slowly add back other stuffs to identify where would be the problem
Mraedis
Mraedis3w ago
You also don't want to have immich-server depend on immich-machine-learning
MrTheNikkoo
MrTheNikkooOP3w ago
This is my logs from Redis:
1:M 05 Nov 2025 12:52:45.866 * Background saving started by pid 222725
222725:C 05 Nov 2025 12:52:46.044 * DB saved on disk
222725:C 05 Nov 2025 12:52:46.045 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 12:52:46.070 * Background saving terminated with success
1:M 05 Nov 2025 12:57:47.054 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 12:57:47.057 * Background saving started by pid 222796
222796:C 05 Nov 2025 12:57:47.206 * DB saved on disk
222796:C 05 Nov 2025 12:57:47.207 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 12:57:47.258 * Background saving terminated with success
1:M 05 Nov 2025 13:04:24.943 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:04:24.945 * Background saving started by pid 222886
222886:C 05 Nov 2025 13:04:25.100 * DB saved on disk
222886:C 05 Nov 2025 13:04:25.101 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:04:25.146 * Background saving terminated with success
1:M 05 Nov 2025 13:11:25.022 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:11:25.025 * Background saving started by pid 222986
222986:C 05 Nov 2025 13:11:25.173 * DB saved on disk
222986:C 05 Nov 2025 13:11:25.174 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:11:25.226 * Background saving terminated with success
1:M 05 Nov 2025 13:18:54.996 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:18:54.999 * Background saving started by pid 223094
223094:C 05 Nov 2025 13:18:55.147 * DB saved on disk
223094:C 05 Nov 2025 13:18:55.148 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:18:55.200 * Background saving terminated with success
1:M 05 Nov 2025 13:26:55.044 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:26:55.047 * Background saving started by pid 223206
223206:C 05 Nov 2025 13:26:55.195 * DB saved on disk
223206:C 05 Nov 2025 13:26:55.196 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:26:55.248 * Background saving terminated with success
1:M 05 Nov 2025 12:52:45.866 * Background saving started by pid 222725
222725:C 05 Nov 2025 12:52:46.044 * DB saved on disk
222725:C 05 Nov 2025 12:52:46.045 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 12:52:46.070 * Background saving terminated with success
1:M 05 Nov 2025 12:57:47.054 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 12:57:47.057 * Background saving started by pid 222796
222796:C 05 Nov 2025 12:57:47.206 * DB saved on disk
222796:C 05 Nov 2025 12:57:47.207 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 12:57:47.258 * Background saving terminated with success
1:M 05 Nov 2025 13:04:24.943 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:04:24.945 * Background saving started by pid 222886
222886:C 05 Nov 2025 13:04:25.100 * DB saved on disk
222886:C 05 Nov 2025 13:04:25.101 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:04:25.146 * Background saving terminated with success
1:M 05 Nov 2025 13:11:25.022 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:11:25.025 * Background saving started by pid 222986
222986:C 05 Nov 2025 13:11:25.173 * DB saved on disk
222986:C 05 Nov 2025 13:11:25.174 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:11:25.226 * Background saving terminated with success
1:M 05 Nov 2025 13:18:54.996 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:18:54.999 * Background saving started by pid 223094
223094:C 05 Nov 2025 13:18:55.147 * DB saved on disk
223094:C 05 Nov 2025 13:18:55.148 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:18:55.200 * Background saving terminated with success
1:M 05 Nov 2025 13:26:55.044 * 100 changes in 300 seconds. Saving...
1:M 05 Nov 2025 13:26:55.047 * Background saving started by pid 223206
223206:C 05 Nov 2025 13:26:55.195 * DB saved on disk
223206:C 05 Nov 2025 13:26:55.196 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB
1:M 05 Nov 2025 13:26:55.248 * Background saving terminated with success
@Mraedis removed that dependency, thx
Mraedis
Mraedis3w ago
The redis logs won't show any connection issues because it doesn't reach out immich-server will be trying to contact redis and it can't find it
MrTheNikkoo
MrTheNikkooOP3w ago
There is no way to tell where to find redis in immich-server, is it? Like it's for ML
Mraedis
Mraedis3w ago
You can check out https://docs.immich.app/install/environment-variables/ but it's way easier to NOT try and finagle with the network settings If you need a proxy network connected, you can add that on top of the default network, which is needed for communicaton
MrTheNikkoo
MrTheNikkooOP3w ago
I want this network settings cus I want to reserve IPs for my reverse proxy :/ Once I reloaded docker service and I had to manually set every ip once more lol
Mraedis
Mraedis3w ago
Where is your server port mapping btw? Are you using the docker dynamic IPs for your proxy? That sounds silly
MrTheNikkoo
MrTheNikkooOP3w ago
I use nginx proxy manager and have all these containers under the same network
Mraedis
Mraedis3w ago
Yeah that also is a dumb idea honestly because if you have any hostname duplication it will cause weird things For instance, any other project also running a redis container
MrTheNikkoo
MrTheNikkooOP3w ago
Well, I am still learning soo..
Mraedis
Mraedis3w ago
Of course I didn't say YOU were dumb 😛
MrTheNikkoo
MrTheNikkooOP3w ago
Immich server doesn't complain about redis server not found or something ?: ( I have added REDIS_URL=http://172.75.0.14, reloaded server but still same ah my bad it was ioredis://172.75.0.14
Mraedis
Mraedis3w ago
I think if you have the "normal" compose way and don't mess with the proxy settings you can connect to other containers simply through their container name, provided they have open ports So for NPM you'd connect to http://immich-server:2283 or immich_server ... I always forget which one it is
MrTheNikkoo
MrTheNikkooOP3w ago
Omg yeah that's correct hell.. why I didn't think about it Thanks
Mraedis
Mraedis3w ago
Before you thank me, make sure it works first 😄
MrTheNikkoo
MrTheNikkooOP3w ago
I will remove network config from compose and change it in nmp. Hell yeah.. you were right... xD I put http://immich-server:2283 and it just works
Mraedis
Mraedis3w ago
Do the jobs still hang?
MrTheNikkoo
MrTheNikkooOP3w ago
Also, this 80K generate thumbnails job cleared. However, thumbnails still not generated I will upload a image now and lets see
Mraedis
Mraedis3w ago
Do "missing" (or worst case "all") to get it going again Redis container contains the queue but when it's reset nothing re-queues
MrTheNikkoo
MrTheNikkooOP3w ago
Ok, so.. I just reloaded all of these containers. Now, it's running well. However, for 5-6 images still no thumbnails (the photos before all these fixes). But, it seems to be working now. All good!
MrTheNikkoo
MrTheNikkooOP3w ago
Thank you guys
Immich
Immich3w ago
This thread has been closed. To re-open, use the button below.

Did you find this page helpful?