Images are not rendered on Webserver until restart #3500

Closed
opened 2026-02-05 08:44:58 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @lyossius on GitHub (Jun 13, 2024).

The bug

Hello everybody!

Since switching to v1.106.1 uploaded images (iOS-App or direct over the webpage) are not rendered on the webpage until i restart the whole docker stack. The images are correctly displayed in the iOS App. I changed the compose.yml as mentioned. All containers start and are displayed as healthy.

Instead of the image I see a placeholder. I updated immich and the iOS app to the latest release (v1.106.3).

2024-06-13_12-35

On v1.105.1 I used HW-Acceleration in the immich-microservices container. I removed those lines completely.

Did I configure something wrong?

Kind regards
Kai

The OS that Immich Server is running on

Debian GNU/Linux bookworm 12.5 / Kernel: 6.1.0-20-amd64

Version of Immich Server

v1.106.3

Version of Immich Mobile App

v1.106.3

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

name: immich
services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION}
    networks:
      - backend
      - frontend
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
      #ports:
      #- 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION}
    networks:
      - backend
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  redis:
    container_name: immich_redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900
    networks:
      - backend
    restart: always

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    networks:
      - backend
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: always

volumes:
  model-cache: null
networks:
  frontend:
    external: true
  backend:
    external: true

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/media/docker/immich/upload
# The location where your database files are stored
DB_DATA_LOCATION=./pgdata

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=v1.106.3

# Connection secret for postgres. You should change it to a random password
DB_PASSWORD=<Edited>

PUID=1000
PGID=1000

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
# VARIABLE=value #comment

Reproduction steps

1. Upload/Backup image 
2. Reload Webpage
3. See Placeholder
4. docker compose stop 
5. docker compose pull
6. docker compose up
7. Login as user
8. Images are rendered
...

Relevant log output

immich_server            | [Nest] 8  - 06/13/2024, 8:45:03 AM   ERROR [Microservices:JobService] Unable to run job handler (metadataExtraction/undefined): TypeError: handler is not a function
immich_server            | [Nest] 8  - 06/13/2024, 8:45:03 AM   ERROR [Microservices:JobService] TypeError: handler is not a function
immich_server            |     at /usr/src/app/dist/services/job.service.js:148:42
immich_server            |     at Worker.workerHandler [as processFn] (/usr/src/app/dist/repositories/job.repository.js:89:46)
immich_server            |     at Worker.callProcessJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:113:21)
immich_server            |     at Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:39)
immich_server            |     at /usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:70
immich_server            |     at Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:30)
immich_server            |     at Worker.run (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:45)
immich_server            |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_server            | [Nest] 8  - 06/13/2024, 8:45:03 AM   ERROR [Microservices:JobService] Object:
immich_server            | {}
immich_server            | 
immich_server            | Error: Missing lock for job 217. failed
immich_server            |     at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:266:24)
immich_server            |     at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32)
immich_server            |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_server            |     at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21)
immich_server            |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)


(...)

immich_machine_learning  | [06/13/24 08:49:19] ERROR    Worker (pid:10) was sent SIGINT!  

(...)

immich_server            | [Nest] 8  - 06/13/2024, 10:32:02 AM   ERROR [Microservices:JobService] Object:
immich_server            | {}
immich_server            | 
immich_server            | Error: Missing lock for job 218. failed
immich_server            |     at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:266:24)
immich_server            |     at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32)
immich_server            |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_server            |     at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21)
immich_server            |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
immich_server            | [Nest] 18  - 06/13/2024, 10:32:07 AM     LOG [Api:EventRepository] Websocket Disconnect: 0cxv1VA0GENVh_MkAAAJ
immich_server            | [Nest] 18  - 06/13/2024, 10:32:08 AM     LOG [Api:EventRepository] Websocket Connect:    X3MAus0FrjM4qcYQAAAR
immich_server            | [Nest] 8  - 06/13/2024, 10:33:10 AM   ERROR [Microservices:JobService] Unable to run job handler (metadataExtraction/undefined): TypeError: handler is not a function
immich_server            | [Nest] 8  - 06/13/2024, 10:33:10 AM   ERROR [Microservices:JobService] TypeError: handler is not a function
immich_server            |     at /usr/src/app/dist/services/job.service.js:148:42
immich_server            |     at Worker.workerHandler [as processFn] (/usr/src/app/dist/repositories/job.repository.js:89:46)
immich_server            |     at Worker.callProcessJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:113:21)
immich_server            |     at Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:39)
immich_server            |     at /usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:70
immich_server            |     at Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:30)
immich_server            |     at Worker.run (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:45)
immich_server            |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_server            | [Nest] 8  - 06/13/2024, 10:33:10 AM   ERROR [Microservices:JobService] Object:
immich_server            | {}
immich_server            | 
immich_server            | Error: Missing lock for job 219. failed
immich_server            |     at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:266:24)
immich_server            |     at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32)
immich_server            |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_server            |     at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21)
immich_server            |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)

Additional information

No response

Originally created by @lyossius on GitHub (Jun 13, 2024). ### The bug Hello everybody! Since switching to v1.106.1 uploaded images (iOS-App or direct over the webpage) are not rendered on the webpage until i restart the whole docker stack. The images are correctly displayed in the iOS App. I changed the compose.yml as mentioned. All containers start and are displayed as healthy. Instead of the image I see a placeholder. I updated immich and the iOS app to the latest release (v1.106.3). ![2024-06-13_12-35](https://github.com/immich-app/immich/assets/6422250/50e57fa7-4f8a-4309-83c7-52af0bf46e57) On v1.105.1 I used HW-Acceleration in the immich-microservices container. I removed those lines completely. Did I configure something wrong? Kind regards Kai ### The OS that Immich Server is running on Debian GNU/Linux bookworm 12.5 / Kernel: 6.1.0-20-amd64 ### Version of Immich Server v1.106.3 ### Version of Immich Mobile App v1.106.3 ### Platform with the issue - [X] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION} networks: - backend - frontend volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env #ports: #- 2283:3001 depends_on: - redis - database restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION} networks: - backend volumes: - model-cache:/cache env_file: - .env restart: always redis: container_name: immich_redis image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900 networks: - backend restart: always database: container_name: immich_postgres image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 networks: - backend environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data restart: always volumes: model-cache: null networks: frontend: external: true backend: external: true ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=/media/docker/immich/upload # The location where your database files are stored DB_DATA_LOCATION=./pgdata # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=v1.106.3 # Connection secret for postgres. You should change it to a random password DB_PASSWORD=<Edited> PUID=1000 PGID=1000 # The values below this line do not need to be changed ################################################################################### DB_USERNAME=postgres DB_DATABASE_NAME=immich # VARIABLE=value #comment ``` ### Reproduction steps ```bash 1. Upload/Backup image 2. Reload Webpage 3. See Placeholder 4. docker compose stop 5. docker compose pull 6. docker compose up 7. Login as user 8. Images are rendered ... ``` ### Relevant log output ```shell immich_server | [Nest] 8 - 06/13/2024, 8:45:03 AM ERROR [Microservices:JobService] Unable to run job handler (metadataExtraction/undefined): TypeError: handler is not a function immich_server | [Nest] 8 - 06/13/2024, 8:45:03 AM ERROR [Microservices:JobService] TypeError: handler is not a function immich_server | at /usr/src/app/dist/services/job.service.js:148:42 immich_server | at Worker.workerHandler [as processFn] (/usr/src/app/dist/repositories/job.repository.js:89:46) immich_server | at Worker.callProcessJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:113:21) immich_server | at Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:39) immich_server | at /usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:70 immich_server | at Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:30) immich_server | at Worker.run (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:45) immich_server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_server | [Nest] 8 - 06/13/2024, 8:45:03 AM ERROR [Microservices:JobService] Object: immich_server | {} immich_server | immich_server | Error: Missing lock for job 217. failed immich_server | at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:266:24) immich_server | at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32) immich_server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_server | at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21) immich_server | at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24) (...) immich_machine_learning | [06/13/24 08:49:19] ERROR Worker (pid:10) was sent SIGINT! (...) immich_server | [Nest] 8 - 06/13/2024, 10:32:02 AM ERROR [Microservices:JobService] Object: immich_server | {} immich_server | immich_server | Error: Missing lock for job 218. failed immich_server | at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:266:24) immich_server | at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32) immich_server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_server | at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21) immich_server | at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24) immich_server | [Nest] 18 - 06/13/2024, 10:32:07 AM LOG [Api:EventRepository] Websocket Disconnect: 0cxv1VA0GENVh_MkAAAJ immich_server | [Nest] 18 - 06/13/2024, 10:32:08 AM LOG [Api:EventRepository] Websocket Connect: X3MAus0FrjM4qcYQAAAR immich_server | [Nest] 8 - 06/13/2024, 10:33:10 AM ERROR [Microservices:JobService] Unable to run job handler (metadataExtraction/undefined): TypeError: handler is not a function immich_server | [Nest] 8 - 06/13/2024, 10:33:10 AM ERROR [Microservices:JobService] TypeError: handler is not a function immich_server | at /usr/src/app/dist/services/job.service.js:148:42 immich_server | at Worker.workerHandler [as processFn] (/usr/src/app/dist/repositories/job.repository.js:89:46) immich_server | at Worker.callProcessJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:113:21) immich_server | at Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:39) immich_server | at /usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:70 immich_server | at Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:30) immich_server | at Worker.run (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:202:45) immich_server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_server | [Nest] 8 - 06/13/2024, 10:33:10 AM ERROR [Microservices:JobService] Object: immich_server | {} immich_server | immich_server | Error: Missing lock for job 219. failed immich_server | at Scripts.finishedErrors (/usr/src/app/node_modules/bullmq/dist/cjs/classes/scripts.js:266:24) immich_server | at Job.moveToFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/job.js:427:32) immich_server | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_server | at async handleFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:379:21) immich_server | at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24) ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Jun 13, 2024):

Can you try remove those networks block in your docker-compose file to make them similar to the stock docker-compose file and try again?

@alextran1502 commented on GitHub (Jun 13, 2024): Can you try remove those `networks` block in your docker-compose file to make them similar to the stock docker-compose file and try again?
Author
Owner

@lyossius commented on GitHub (Jun 13, 2024):

Wow that is fast support :) Thank you! And yeah removing the networks did the trick. Never had an issue with that before. Will you look further into this? Or should i close the issue?

@lyossius commented on GitHub (Jun 13, 2024): Wow that is fast support :) Thank you! And yeah removing the networks did the trick. Never had an issue with that before. Will you look further into this? Or should i close the issue?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#3500