[BUG] ERROR [JobService] TypeError: Cannot read properties of null (reading 'to') #1460

Closed
opened 2026-02-05 01:55:05 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @gmag11 on GitHub (Oct 16, 2023).

The bug

Hello. I'm importing a big read only external librarythat contains many JPG and CR2 (Canon raw) files. After a while it started showing errors after creating thumbnails. It does not happen with all thumbnails but it is quite frequent 1 of each 3 approx.

[Nest] 7  - 10/16/2023, 6:29:32 AM     LOG [MediaService] Successfully generated WEBP image thumbnail for asset 3fa92aac-9747-40a6-94dc-e1bab635e8a6
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:32 AM     LOG [MediaService] Successfully generated JPEG image thumbnail for asset 1ee41e3f-8abe-4822-93d6-0eb2d042b15a
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM     LOG [MediaService] Successfully generated JPEG image thumbnail for asset 95a2b46c-4348-4790-8270-dba60f6a1b30
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM   ERROR [JobService] Unable to run job handler (thumbnailGeneration/generate-jpeg-thumbnail): TypeError: Cannot read properties of null (reading 'to')
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM   ERROR [JobService] TypeError: Cannot read properties of null (reading 'to')
immich_microservices  |     at CommunicationRepository.send (/usr/src/app/dist/infra/repositories/communication.repository.js:20:24)
immich_microservices  |     at JobService.onDone (/usr/src/app/dist/domain/job/job.service.js:169:50)
immich_microservices  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_microservices  |     at async /usr/src/app/dist/domain/job/job.service.js:111:25
immich_microservices  |     at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:346:28)
immich_microservices  |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:531:24)
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM   ERROR [JobService] Object:
immich_microservices  | {
immich_microservices  |   "id": "1ee41e3f-8abe-4822-93d6-0eb2d042b15a",
immich_microservices  |   "source": "upload"
immich_microservices  | }
immich_microservices  |
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM   ERROR [JobService] Unable to run job handler (thumbnailGeneration/generate-jpeg-thumbnail): TypeError: Cannot read properties of null (reading 'to')
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM   ERROR [JobService] TypeError: Cannot read properties of null (reading 'to')
immich_microservices  |     at CommunicationRepository.send (/usr/src/app/dist/infra/repositories/communication.repository.js:20:24)
immich_microservices  |     at JobService.onDone (/usr/src/app/dist/domain/job/job.service.js:169:50)
immich_microservices  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
immich_microservices  |     at async /usr/src/app/dist/domain/job/job.service.js:111:25
immich_microservices  |     at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:346:28)
immich_microservices  |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:531:24)
immich_microservices  | [Nest] 7  - 10/16/2023, 6:29:33 AM   ERROR [JobService] Object:
immich_microservices  | {
immich_microservices  |   "id": "95a2b46c-4348-4790-8270-dba60f6a1b30",
immich_microservices  |   "source": "upload"
immich_microservices  | }

The OS that Immich Server is running on

Debian 12 with Docker 24.0.6

Version of Immich Server

v1.81.1

Version of Immich Mobile App

v1.81.1

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /externo/fotos:/libraries:ro
      - /externo/nc_data/xxxxxx/files/Photos:/extlib/xxxxxx:ro
      - /externo/nc_data/yyyyyy/files/Fotos:/extlib/yyyyyy:ro
      - /externo/nc_data/zzzzzz/files/Photos:/extlib/zzzzzz:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /externo/fotos:/libraries:ro
      - /externo/nc_data/xxxxxx/files/Photos:/extlib/xxxxxx:ro
      - /externo/nc_data/yyyyyy/files/Fotos:/extlib/yyyyyy:ro
      - /externo/nc_data/zzzzzz/files/Photos:/extlib/zzzzzz:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

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

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file:
      - .env
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
    logging:
      driver: none
    volumes:
      - ./tsdata:/data
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    restart: always

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:8080
    depends_on:
      - immich-server
      - immich-web
    restart: always

#volumes:
  #pgdata:
  #model-cache:
  #tsdata:

Your .env content

###################################################################################
# Database
###################################################################################

# NOTE: The following four database variables support Docker secrets by adding a *_FILE suffix to the variable name
# See the docker-compose documentation on secrets for additional details: https://docs.docker.com/compose/compose-file/compose-file-v3/#secrets
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=xxxxxxxxxxxxxxxxx
DB_DATABASE_NAME=immich

# Optional Database settings:
# DB_PORT=5432

###################################################################################
# Redis
###################################################################################

REDIS_HOSTNAME=immich_redis

# REDIS_URL will be used to pass custom options to ioredis.
# Example for Sentinel
# {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"}
# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0=

# Optional Redis settings:

# Note: these parameters are not automatically passed to the Redis Container
# to do so, please edit the docker-compose.yml file as well. Redis is not configured
# via environment variables, only redis.conf or the command line

# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_USERNAME=
# REDIS_PASSWORD=
# REDIS_SOCKET=

###################################################################################
# Upload File Location
#
# This is the location where uploaded files are stored.
###################################################################################

#UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
UPLOAD_LOCATION=/externo/docker-data/immich-data


###################################################################################
# Typesense
###################################################################################
TYPESENSE_API_KEY=LogQzzzzz38xxxxxxpTcbuKyyyyyyyyK7Tn000000Ay4=
# TYPESENSE_ENABLED=false
# TYPESENSE_URL uses base64 encoding for the nodes json.
# Example JSON that was used:
# [
#      { "host": "typesense-1.example.net", "port": "443", "protocol": "https" },
#      { "host": "typesense-2.example.net", "port": "443", "protocol": "https" },
#      { "host": "typesense-3.example.net", "port": "443", "protocol": "https" },
# ]
# TYPESENSE_URL=ha://WwogIHsgImhvc3QiOiAidHlwZXNlbnNlLTEuZXhhbXBsZS5uZXQiLCAicG9ydCI6ICI0NDMiLCAicHJvdG9jb2wiOiAiaHR0cHMiIH0sCiAgeyAiaG9zdCI6ICJ0eXBlc2Vuc2UtMi5leGFtcGxlLm5ldCIsICJwb3J0IjogIjQ0MyIsICJwcm90b2NvbCI6ICJodHRwcyIgfSwKICB7ICJob3N0IjogInR5cGVzZW5zZS0zLmV4YW1wbGUubmV0IiwgInBvcnQiOiAiNDQzIiwgInByb3RvY29sIjogImh0dHBzIiB9Cl0=

###################################################################################
# Reverse Geocoding
#
# Reverse geocoding is done locally which has a small impact on memory usage
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
# This ranges from 0-3 with 3 being the most precise
# 3 - Cities > 500 population: ~200MB RAM
# 2 - Cities > 1000 population: ~150MB RAM
# 1 - Cities > 5000 population: ~80MB RAM
# 0 - Cities > 15000 population: ~40MB RAM
####################################################################################

DISABLE_REVERSE_GEOCODING=false
REVERSE_GEOCODING_PRECISION=3

####################################################################################
# WEB - Optional
#
# Custom message on the login page, should be written in HTML form.
# For example:
# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
####################################################################################

PUBLIC_LOGIN_PAGE_MESSAGE=

####################################################################################
# Alternative Service Addresses - Optional
#
# This is an advanced feature for users who may be running their immich services on different hosts.
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
# Note: immich-microservices is bound to 3002, but no references are made
####################################################################################

IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003

####################################################################################
# Alternative API's External Address - Optional
#
# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
# Examples: http://localhost:3001, http://immich-api.example.com, etc
####################################################################################

#IMMICH_API_URL_EXTERNAL=http://localhost:3001
#IMMICH_API_URL_EXTERNAL=https://photos.xxxxxxxxxx.com

###################################################################################
# Immich Version - Optional
#
# This allows all immich docker images to be pinned to a specific version. By default,
# the version is "release" but could be a specific version, like "v1.59.0".
###################################################################################

#IMMICH_VERSION=v1.67.2

Reproduction steps

  1. Create external library
  2. Add multiple paths (one for each year folder). Each path may contain about 1000+ pictures, about 20000 overall.
  3. Trigger new scan

Additional information

I've edited nginx configuration to increase timeout of /api

location /api {

    rewrite /api/(.*) /$1 break;
    proxy_read_timeout 300s;
    proxy_pass http://server;
  }

and ran nginx -s reload. Have not observed any change in the behabiour.

Originally created by @gmag11 on GitHub (Oct 16, 2023). ### The bug Hello. I'm importing a big read only external librarythat contains many JPG and CR2 (Canon raw) files. After a while it started showing errors after creating thumbnails. It does not happen with all thumbnails but it is quite frequent 1 of each 3 approx. ``` [Nest] 7 - 10/16/2023, 6:29:32 AM LOG [MediaService] Successfully generated WEBP image thumbnail for asset 3fa92aac-9747-40a6-94dc-e1bab635e8a6 immich_microservices | [Nest] 7 - 10/16/2023, 6:29:32 AM LOG [MediaService] Successfully generated JPEG image thumbnail for asset 1ee41e3f-8abe-4822-93d6-0eb2d042b15a immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM LOG [MediaService] Successfully generated JPEG image thumbnail for asset 95a2b46c-4348-4790-8270-dba60f6a1b30 immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM ERROR [JobService] Unable to run job handler (thumbnailGeneration/generate-jpeg-thumbnail): TypeError: Cannot read properties of null (reading 'to') immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM ERROR [JobService] TypeError: Cannot read properties of null (reading 'to') immich_microservices | at CommunicationRepository.send (/usr/src/app/dist/infra/repositories/communication.repository.js:20:24) immich_microservices | at JobService.onDone (/usr/src/app/dist/domain/job/job.service.js:169:50) immich_microservices | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_microservices | at async /usr/src/app/dist/domain/job/job.service.js:111:25 immich_microservices | at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:346:28) immich_microservices | at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:531:24) immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM ERROR [JobService] Object: immich_microservices | { immich_microservices | "id": "1ee41e3f-8abe-4822-93d6-0eb2d042b15a", immich_microservices | "source": "upload" immich_microservices | } immich_microservices | immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM ERROR [JobService] Unable to run job handler (thumbnailGeneration/generate-jpeg-thumbnail): TypeError: Cannot read properties of null (reading 'to') immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM ERROR [JobService] TypeError: Cannot read properties of null (reading 'to') immich_microservices | at CommunicationRepository.send (/usr/src/app/dist/infra/repositories/communication.repository.js:20:24) immich_microservices | at JobService.onDone (/usr/src/app/dist/domain/job/job.service.js:169:50) immich_microservices | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) immich_microservices | at async /usr/src/app/dist/domain/job/job.service.js:111:25 immich_microservices | at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:346:28) immich_microservices | at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:531:24) immich_microservices | [Nest] 7 - 10/16/2023, 6:29:33 AM ERROR [JobService] Object: immich_microservices | { immich_microservices | "id": "95a2b46c-4348-4790-8270-dba60f6a1b30", immich_microservices | "source": "upload" immich_microservices | } ``` ### The OS that Immich Server is running on Debian 12 with Docker 24.0.6 ### Version of Immich Server v1.81.1 ### Version of Immich Mobile App v1.81.1 ### Platform with the issue - [X] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /externo/fotos:/libraries:ro - /externo/nc_data/xxxxxx/files/Photos:/extlib/xxxxxx:ro - /externo/nc_data/yyyyyy/files/Fotos:/extlib/yyyyyy:ro - /externo/nc_data/zzzzzz/files/Photos:/extlib/zzzzzz:ro env_file: - .env depends_on: - redis - database - typesense restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /externo/fotos:/libraries:ro - /externo/nc_data/xxxxxx/files/Photos:/extlib/xxxxxx:ro - /externo/nc_data/yyyyyy/files/Fotos:/extlib/yyyyyy:ro - /externo/nc_data/zzzzzz/files/Photos:/extlib/zzzzzz:ro env_file: - .env depends_on: - redis - database - typesense restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - ./model-cache:/cache env_file: - .env restart: always immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} env_file: - .env restart: always typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data logging: driver: none volumes: - ./tsdata:/data restart: always redis: container_name: immich_redis image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 restart: always database: container_name: immich_postgres image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} PG_DATA: /var/lib/postgresql/data volumes: - ./pgdata:/var/lib/postgresql/data restart: always immich-proxy: container_name: immich_proxy image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release} environment: # Make sure these values get passed through from the env file - IMMICH_SERVER_URL - IMMICH_WEB_URL ports: - 2283:8080 depends_on: - immich-server - immich-web restart: always #volumes: #pgdata: #model-cache: #tsdata: ``` ### Your .env content ```Shell ################################################################################### # Database ################################################################################### # NOTE: The following four database variables support Docker secrets by adding a *_FILE suffix to the variable name # See the docker-compose documentation on secrets for additional details: https://docs.docker.com/compose/compose-file/compose-file-v3/#secrets DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_PASSWORD=xxxxxxxxxxxxxxxxx DB_DATABASE_NAME=immich # Optional Database settings: # DB_PORT=5432 ################################################################################### # Redis ################################################################################### REDIS_HOSTNAME=immich_redis # REDIS_URL will be used to pass custom options to ioredis. # Example for Sentinel # {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"} # REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0= # Optional Redis settings: # Note: these parameters are not automatically passed to the Redis Container # to do so, please edit the docker-compose.yml file as well. Redis is not configured # via environment variables, only redis.conf or the command line # REDIS_PORT=6379 # REDIS_DBINDEX=0 # REDIS_USERNAME= # REDIS_PASSWORD= # REDIS_SOCKET= ################################################################################### # Upload File Location # # This is the location where uploaded files are stored. ################################################################################### #UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup UPLOAD_LOCATION=/externo/docker-data/immich-data ################################################################################### # Typesense ################################################################################### TYPESENSE_API_KEY=LogQzzzzz38xxxxxxpTcbuKyyyyyyyyK7Tn000000Ay4= # TYPESENSE_ENABLED=false # TYPESENSE_URL uses base64 encoding for the nodes json. # Example JSON that was used: # [ # { "host": "typesense-1.example.net", "port": "443", "protocol": "https" }, # { "host": "typesense-2.example.net", "port": "443", "protocol": "https" }, # { "host": "typesense-3.example.net", "port": "443", "protocol": "https" }, # ] # TYPESENSE_URL=ha://WwogIHsgImhvc3QiOiAidHlwZXNlbnNlLTEuZXhhbXBsZS5uZXQiLCAicG9ydCI6ICI0NDMiLCAicHJvdG9jb2wiOiAiaHR0cHMiIH0sCiAgeyAiaG9zdCI6ICJ0eXBlc2Vuc2UtMi5leGFtcGxlLm5ldCIsICJwb3J0IjogIjQ0MyIsICJwcm90b2NvbCI6ICJodHRwcyIgfSwKICB7ICJob3N0IjogInR5cGVzZW5zZS0zLmV4YW1wbGUubmV0IiwgInBvcnQiOiAiNDQzIiwgInByb3RvY29sIjogImh0dHBzIiB9Cl0= ################################################################################### # Reverse Geocoding # # Reverse geocoding is done locally which has a small impact on memory usage # This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable # This ranges from 0-3 with 3 being the most precise # 3 - Cities > 500 population: ~200MB RAM # 2 - Cities > 1000 population: ~150MB RAM # 1 - Cities > 5000 population: ~80MB RAM # 0 - Cities > 15000 population: ~40MB RAM #################################################################################### DISABLE_REVERSE_GEOCODING=false REVERSE_GEOCODING_PRECISION=3 #################################################################################### # WEB - Optional # # Custom message on the login page, should be written in HTML form. # For example: # PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>" #################################################################################### PUBLIC_LOGIN_PAGE_MESSAGE= #################################################################################### # Alternative Service Addresses - Optional # # This is an advanced feature for users who may be running their immich services on different hosts. # It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers. # Note: immich-microservices is bound to 3002, but no references are made #################################################################################### IMMICH_WEB_URL=http://immich-web:3000 IMMICH_SERVER_URL=http://immich-server:3001 IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 #################################################################################### # Alternative API's External Address - Optional # # This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery. # You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash. # NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api # Examples: http://localhost:3001, http://immich-api.example.com, etc #################################################################################### #IMMICH_API_URL_EXTERNAL=http://localhost:3001 #IMMICH_API_URL_EXTERNAL=https://photos.xxxxxxxxxx.com ################################################################################### # Immich Version - Optional # # This allows all immich docker images to be pinned to a specific version. By default, # the version is "release" but could be a specific version, like "v1.59.0". ################################################################################### #IMMICH_VERSION=v1.67.2 ``` ### Reproduction steps 1. Create external library 2. Add multiple paths (one for each year folder). Each path may contain about 1000+ pictures, about 20000 overall. 3. Trigger new scan ### Additional information I've edited nginx configuration to increase timeout of /api ``` location /api { rewrite /api/(.*) /$1 break; proxy_read_timeout 300s; proxy_pass http://server; } ``` and ran `nginx -s reload`. Have not observed any change in the behabiour.
Author
Owner

@gmag11 commented on GitHub (Oct 16, 2023):

From time to time immich_microservices container exits:

immich_microservices  | [Nest] 7  - 10/16/2023, 11:12:12 AM     LOG [MediaService] Successfully generated WEBP image thumbnail for asset d136c2fe-5e4a-41f8-a76b-c4fc1943c7e3
immich_microservices  | /usr/src/app/dist/microservices/app.service.js:85
immich_microservices  |                 throw error;
immich_microservices  |                 ^
immich_microservices  |
immich_microservices  | Error: Connection terminated due to connection timeout
immich_microservices  |     at Connection.<anonymous> (/usr/src/app/node_modules/pg/lib/client.js:132:73)
immich_microservices  |     at Object.onceWrapper (node:events:628:28)
immich_microservices  |     at Connection.emit (node:events:514:28)
immich_microservices  |     at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:63:12)
immich_microservices  |     at Socket.emit (node:events:514:28)
immich_microservices  |     at TCP.<anonymous> (node:net:337:12)
immich_microservices  |
immich_microservices  | Node.js v20.8.0
immich_microservices exited with code 0
@gmag11 commented on GitHub (Oct 16, 2023): From time to time `immich_microservices` container exits: ``` immich_microservices | [Nest] 7 - 10/16/2023, 11:12:12 AM LOG [MediaService] Successfully generated WEBP image thumbnail for asset d136c2fe-5e4a-41f8-a76b-c4fc1943c7e3 immich_microservices | /usr/src/app/dist/microservices/app.service.js:85 immich_microservices | throw error; immich_microservices | ^ immich_microservices | immich_microservices | Error: Connection terminated due to connection timeout immich_microservices | at Connection.<anonymous> (/usr/src/app/node_modules/pg/lib/client.js:132:73) immich_microservices | at Object.onceWrapper (node:events:628:28) immich_microservices | at Connection.emit (node:events:514:28) immich_microservices | at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:63:12) immich_microservices | at Socket.emit (node:events:514:28) immich_microservices | at TCP.<anonymous> (node:net:337:12) immich_microservices | immich_microservices | Node.js v20.8.0 immich_microservices exited with code 0 ```
Author
Owner

@alextran1502 commented on GitHub (Nov 1, 2023):

should be fixed in the recent release

@alextran1502 commented on GitHub (Nov 1, 2023): should be fixed in the recent release
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1460