[BUG] shared albums not updating information #1683

Closed
opened 2026-02-05 03:06:34 +03:00 by OVERLORD · 13 comments
Owner

Originally created by @gtsteffaniak on GitHub (Nov 23, 2023).

The bug

album creation and editing not working. If I create an album that I name it shows untitled when I go to it. I can upload new images but they don't show up in the album. If I download the album it still downloads as "untitled" and contains all the images, but the actual album page itself does not show the information

Using : webpage

Logs:

server:


Nest] 7  - 11/23/2023, 3:16:38 PM   ERROR [AssetService] Unable to send file: Error
Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16)
[Nest] 7  - 11/23/2023, 3:16:52 PM   ERROR [AssetService] Unable to send file: Error
Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16)
[Nest] 7  - 11/23/2023, 3:16:59 PM   ERROR [AssetService] Unable to send file: Error
Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16)

microservices:


[Nest] 8  - 11/23/2023, 3:13:34 PM   ERROR [JobService] Unable to run job handler (clipEncoding/clip-encode): TypeError: fetch failed
[Nest] 8  - 11/23/2023, 3:13:34 PM   ERROR [JobService] TypeError: fetch failed
    at Object.fetch (node:internal/deps/undici/undici:11372:11)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async MachineLearningRepository.post (/usr/src/app/dist/infra/repositories/machine-learning.repository.js:16:21)
    at async SmartInfoService.handleEncodeClip (/usr/src/app/dist/domain/smart-info/smart-info.service.js:85:31)
    at async /usr/src/app/dist/domain/job/job.service.js:108:37
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:385:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:572:24)
[Nest] 8  - 11/23/2023, 3:13:34 PM   ERROR [JobService] Object:
{
  "id": "5eb46beb-630c-46ba-a08d-ee70b2d98dc9",
  "source": "upload"
}

The OS that Immich Server is running on

debian

Version of Immich Server

v1.88.2

Version of Immich Mobile App

n/a

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.7"

services:
  immich-server:
    ports:
      - 9283:3001
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - smb:/usr/src/app/upload
      - external:/external
    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-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - smb:/usr/src/app/upload
      - external:/external
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    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
    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}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

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=postgres
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=/uploads


###################################################################################
# Typesense
###################################################################################
TYPESENSE_API_KEY=some-random-text
# 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=false
#IMMICH_MACHINE_LEARNING_ENABLED=false
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 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=release

Reproduction steps

1. create album on web
2. try to edit album information after creation
3. try to upload to album
...

Additional information

No response

Originally created by @gtsteffaniak on GitHub (Nov 23, 2023). ### The bug album creation and editing not working. If I create an album that I name it shows untitled when I go to it. I can upload new images but they don't show up in the album. If I download the album it still downloads as "untitled" and contains all the images, but the actual album page itself does not show the information Using : webpage Logs: server: ``` Nest] 7 - 11/23/2023, 3:16:38 PM ERROR [AssetService] Unable to send file: Error Error: write EPIPE at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16) [Nest] 7 - 11/23/2023, 3:16:52 PM ERROR [AssetService] Unable to send file: Error Error: write EPIPE at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16) [Nest] 7 - 11/23/2023, 3:16:59 PM ERROR [AssetService] Unable to send file: Error Error: write EPIPE at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16) ``` microservices: ``` [Nest] 8 - 11/23/2023, 3:13:34 PM ERROR [JobService] Unable to run job handler (clipEncoding/clip-encode): TypeError: fetch failed [Nest] 8 - 11/23/2023, 3:13:34 PM ERROR [JobService] TypeError: fetch failed at Object.fetch (node:internal/deps/undici/undici:11372:11) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MachineLearningRepository.post (/usr/src/app/dist/infra/repositories/machine-learning.repository.js:16:21) at async SmartInfoService.handleEncodeClip (/usr/src/app/dist/domain/smart-info/smart-info.service.js:85:31) at async /usr/src/app/dist/domain/job/job.service.js:108:37 at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:385:28) at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:572:24) [Nest] 8 - 11/23/2023, 3:13:34 PM ERROR [JobService] Object: { "id": "5eb46beb-630c-46ba-a08d-ee70b2d98dc9", "source": "upload" } ``` ### The OS that Immich Server is running on debian ### Version of Immich Server v1.88.2 ### Version of Immich Mobile App n/a ### Platform with the issue - [X] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.7" services: immich-server: ports: - 9283:3001 container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - smb:/usr/src/app/upload - external:/external 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-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - smb:/usr/src/app/upload - external:/external env_file: - .env depends_on: - redis - database - typesense 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 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} volumes: - pgdata:/var/lib/postgresql/data restart: always ``` ### 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=postgres 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=/uploads ################################################################################### # Typesense ################################################################################### TYPESENSE_API_KEY=some-random-text # 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=false #IMMICH_MACHINE_LEARNING_ENABLED=false 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 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=release ``` ### Reproduction steps ```bash 1. create album on web 2. try to edit album information after creation 3. try to upload to album ... ``` ### Additional information _No response_
Author
Owner

@vadtec commented on GitHub (Dec 17, 2023):

I too am seeing this behavior. I'll post my environment and docker files when I get a chance.

@vadtec commented on GitHub (Dec 17, 2023): I too am seeing this behavior. I'll post my environment and docker files when I get a chance.
Author
Owner

@Flouzr commented on GitHub (Dec 17, 2023):

I'm seeing the same issue but with recognizeFaces/recognize-faces.

@Flouzr commented on GitHub (Dec 17, 2023): I'm seeing the same issue but with `recognizeFaces/recognize-faces`.
Author
Owner

@vadtec commented on GitHub (Jan 3, 2024):

I just updated to the latest release, 1.91.4, and still have this issue.

Immich version: 1.91.4
Host OS: Debian 12
Docker version: 20.10.24+dfsg1, build 297e128
Docker Compose version: v2.21.0

Nothing about my setup is changed from the defaults other than file system paths and credentials for the database. This issue is happening across all albums that I create within Immich.

screen shots

immich_album_1
immich_album_2

docker-compose.yml

version: "3.8"

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: immich

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
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
    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

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

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

volumes:
  pgdata:
  model-cache:

.env

# 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=[REDACTED]

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

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=[REDACTED]
DB_PASSWORD=[REDACTED]

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=[REDACTED]
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

docker logs immich_server

immich@docker:~$ docker logs immich_server
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [SystemConfigService] LogLevel=log (set via system config)
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [AppService] Feature Flags: {
  "clipEncode": true,
  "facialRecognition": true,
  "tagImage": false,
  "map": true,
  "reverseGeocoding": true,
  "sidecar": true,
  "search": true,
  "trash": true,
  "oauth": false,
  "oauthAutoLaunch": false,
  "passwordLogin": true,
  "configFile": false
}
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [NestFactory] Starting Nest application...
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] ConfigHostModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] DiscoveryModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] ScheduleModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] ConfigModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] ScheduleModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM   ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...
QueryFailedError: column "stackParentId" of relation "assets" already exists
    at PostgresQueryRunner.query (/usr/src/app/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:211:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async AddStackParentIdToAssets1695354433573.up (/usr/src/app/dist/infra/migrations/1695354433573-AddStackParentIdToAssets.js:9:9)
    at async MigrationExecutor.executePendingMigrations (/usr/src/app/node_modules/typeorm/migration/MigrationExecutor.js:225:17)
    at async DataSource.runMigrations (/usr/src/app/node_modules/typeorm/data-source/DataSource.js:260:35)
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] InfraModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] AppModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [InstanceLoader] DomainModule dependencies initialized
    at async DataSource.initialize (/usr/src/app/node_modules/typeorm/data-source/DataSource.js:148:17)
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] ActivityController {/api/activity}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/activity, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/activity/statistics, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/activity, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/activity/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AssetsController {/api/assets}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/assets, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AssetController {/api/asset}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/map-marker, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/memory-lane, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/random, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/download/info, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/download/archive, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/download/:id, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/device/:deviceId, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/statistics, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/time-buckets, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/time-bucket, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/jobs, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/restore, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/trash/empty, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/trash/restore, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/stack/parent, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AssetController {/api/asset}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/upload, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/file/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/thumbnail/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/curated-objects, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/curated-locations, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/search-terms, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/:deviceId, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/assetById/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/exist, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/asset/bulk-upload-check, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AppController {/api}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/.well-known/immich, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/custom.css, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/refresh-config, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AlbumController {/api/album}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/count, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id, PATCH} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id/assets, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id/assets, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id/users, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/album/:id/user/:userId, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] APIKeyController {/api/api-key}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/api-key, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/api-key, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/api-key/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/api-key/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/api-key/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AuditController {/api/audit}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/audit/deletes, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/audit/file-report, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/audit/file-report/checksum, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/audit/file-report/fix, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] AuthController {/api/auth}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/login, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/devices, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/devices, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/devices/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/validateToken, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/change-password, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/auth/logout, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] FaceController {/api/face}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/face, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/face/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] JobController {/api/jobs}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/jobs, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/jobs/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] LibraryController {/api/library}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library/:id/statistics, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library/:id/scan, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/library/:id/removeOffline, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] OAuthController {/api/oauth}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/oauth/config, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/oauth/authorize, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/oauth/callback, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/oauth/link, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/oauth/unlink, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] PartnerController {/api/partner}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/partner, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/partner/:id, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/partner/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/partner/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] SearchController {/api/search}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/search, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/search/explore, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/search/person, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] ServerInfoController {/api/server-info}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/ping, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/version, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/features, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/theme, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/config, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/statistics, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/server-info/media-types, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] SharedLinkController {/api/shared-link}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link/me, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link/:id, PATCH} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] SystemConfigController {/api/system-config}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/system-config, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/system-config/defaults, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/system-config, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/system-config/map/style.json, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] TagController {/api/tag}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag/:id, PATCH} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag/:id/assets, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag/:id/assets, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/tag/:id/assets, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] UserController {/api/user}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/info/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/me, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/profile-image, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/:id, DELETE} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/:id/restore, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/profile-image, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/user/profile-image/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RoutesResolver] PersonController {/api/person}:
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id/reassign, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id, PUT} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id/statistics, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id/thumbnail, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id/assets, GET} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [RouterExplorer] Mapped {/api/person/:id/merge, POST} route
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [NestApplication] Nest application successfully started
[Nest] 7  - 01/03/2024, 3:17:18 PM     LOG [ImmichServer] Immich Server is listening on http://[::1]:3001 [v1.91.4] [PRODUCTION]
[Nest] 7  - 01/03/2024, 3:17:20 PM     LOG [CommunicationRepository] Websocket Connect:    yPeGrMGxceVPKV4yAAAB

docker logs immich_microservices

immich@docker:~$ docker logs immich_microservices
[Nest] 7  - 01/03/2024, 3:17:15 PM     LOG [SystemConfigService] LogLevel=log (set via system config)
[Nest] 7  - 01/03/2024, 3:17:15 PM     LOG [MetadataRepository] Initializing metadata repository
[Nest] 7  - 01/03/2024, 3:17:15 PM     LOG [MetadataRepository] Importing geodata to database from file
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [MetadataRepository] Geodata import completed
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [MetadataService] Initialized local reverse geocoder
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [NestFactory] Starting Nest application...
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] ConfigHostModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] DiscoveryModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] ScheduleModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] ConfigModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] InfraModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] DomainModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [InstanceLoader] MicroservicesModule dependencies initialized
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [NestApplication] Nest application successfully started
[Nest] 7  - 01/03/2024, 3:17:52 PM     LOG [ImmichMicroservice] Immich Microservices is listening on http://[::1]:3002 [v1.91.4] [PRODUCTION]

docker logs immich_postgres

immich@docker:~$ docker logs immich_postgres

PostgreSQL Database directory appears to contain a database; Skipping initialization

2024-01-03 15:17:09.719 UTC [1] LOG:  starting PostgreSQL 14.10 (Debian 14.10-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-01-03 15:17:09.719 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-01-03 15:17:09.719 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-01-03 15:17:09.723 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-01-03 15:17:09.728 UTC [28] LOG:  database system was shut down at 2024-01-03 15:13:50 UTC
2024-01-03 15:17:09.750 UTC [1] LOG:  database system is ready to accept connections
2024-01-03 15:17:14.926 UTC [38] ERROR:  column "stackParentId" of relation "assets" already exists
2024-01-03 15:17:14.926 UTC [38] STATEMENT:  ALTER TABLE "assets" ADD "stackParentId" uuid
2024-01-03 15:17:52.618 UTC [64] WARNING:  you don't own a lock of type ExclusiveLock

docker logs immich_redis

immich@docker:~$ docker logs immich_redis
1:C 03 Jan 2024 15:17:09.586 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 03 Jan 2024 15:17:09.586 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 03 Jan 2024 15:17:09.587 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 03 Jan 2024 15:17:09.588 * monotonic clock: POSIX clock_gettime
1:M 03 Jan 2024 15:17:09.589 * Running mode=standalone, port=6379.
1:M 03 Jan 2024 15:17:09.589 # Server initialized
1:M 03 Jan 2024 15:17:09.589 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:M 03 Jan 2024 15:17:09.590 * Ready to accept connections
1:M 03 Jan 2024 15:22:10.022 * 100 changes in 300 seconds. Saving...
1:M 03 Jan 2024 15:22:10.027 * Background saving started by pid 22
22:C 03 Jan 2024 15:22:10.035 * DB saved on disk
22:C 03 Jan 2024 15:22:10.036 * RDB: 0 MB of memory used by copy-on-write
1:M 03 Jan 2024 15:22:10.128 * Background saving terminated with success
1:M 03 Jan 2024 15:27:11.013 * 100 changes in 300 seconds. Saving...
1:M 03 Jan 2024 15:27:11.016 * Background saving started by pid 23
23:C 03 Jan 2024 15:27:11.024 * DB saved on disk
23:C 03 Jan 2024 15:27:11.025 * RDB: 0 MB of memory used by copy-on-write
1:M 03 Jan 2024 15:27:11.117 * Background saving terminated with success

docker logs immich_machine_learning

immich@docker:~$ docker logs immich_machine_learning
[01/03/24 15:17:11] INFO     Starting gunicorn 21.2.0
[01/03/24 15:17:11] INFO     Listening at: http://0.0.0.0:3003 (8)
[01/03/24 15:17:11] INFO     Using worker: app.config.CustomUvicornWorker
[01/03/24 15:17:11] INFO     Booting worker with pid: 16
[01/03/24 15:17:22] INFO     Created in-memory cache with unloading after 300s
                             of inactivity.
[01/03/24 15:17:22] INFO     Initialized request thread pool with 8 threads.
@vadtec commented on GitHub (Jan 3, 2024): I just updated to the latest release, 1.91.4, and still have this issue. Immich version: 1.91.4 Host OS: Debian 12 Docker version: 20.10.24+dfsg1, build 297e128 Docker Compose version: v2.21.0 Nothing about my setup is changed from the defaults other than file system paths and credentials for the database. This issue is happening across all albums that I create within Immich. screen shots ![immich_album_1](https://github.com/immich-app/immich/assets/228679/b30ec721-cd38-4d08-a87a-b4dcbd33be1b) ![immich_album_2](https://github.com/immich-app/immich/assets/228679/88c68154-302c-42eb-a84c-80c4c729c8be) docker-compose.yml version: "3.8" # # WARNING: Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. # name: immich 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 - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - 2283:3001 depends_on: - redis - database restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database 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 redis: container_name: immich_redis image: redis:6.2-alpine@sha256:b6124ab2e45cc332e16398022a411d7e37181f21ff7874835e0180f56a09e82a restart: always database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - pgdata:/var/lib/postgresql/data restart: always volumes: pgdata: model-cache: .env # 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=[REDACTED] # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secrets for postgres and typesense. You should change these to random passwords TYPESENSE_API_KEY=[REDACTED] DB_PASSWORD=[REDACTED] # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=[REDACTED] DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis docker logs immich_server immich@docker:~$ docker logs immich_server [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [SystemConfigService] LogLevel=log (set via system config) [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [AppService] Feature Flags: { "clipEncode": true, "facialRecognition": true, "tagImage": false, "map": true, "reverseGeocoding": true, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "passwordLogin": true, "configFile": false } [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [NestFactory] Starting Nest application... [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] BullModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] ScheduleModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] ConfigModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] BullModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] ScheduleModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] BullModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... QueryFailedError: column "stackParentId" of relation "assets" already exists at PostgresQueryRunner.query (/usr/src/app/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:211:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async AddStackParentIdToAssets1695354433573.up (/usr/src/app/dist/infra/migrations/1695354433573-AddStackParentIdToAssets.js:9:9) at async MigrationExecutor.executePendingMigrations (/usr/src/app/node_modules/typeorm/migration/MigrationExecutor.js:225:17) at async DataSource.runMigrations (/usr/src/app/node_modules/typeorm/data-source/DataSource.js:260:35) [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] InfraModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] AppModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [InstanceLoader] DomainModule dependencies initialized at async DataSource.initialize (/usr/src/app/node_modules/typeorm/data-source/DataSource.js:148:17) [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] ActivityController {/api/activity}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/activity, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/activity/statistics, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/activity, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/activity/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AssetsController {/api/assets}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/assets, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AssetController {/api/asset}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/map-marker, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/memory-lane, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/random, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/download/info, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/download/archive, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/download/:id, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/device/:deviceId, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/statistics, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/time-buckets, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/time-bucket, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/jobs, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/restore, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/trash/empty, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/trash/restore, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/stack/parent, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AssetController {/api/asset}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/upload, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/file/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/thumbnail/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/curated-objects, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/curated-locations, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/search-terms, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/:deviceId, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/assetById/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/exist, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/asset/bulk-upload-check, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AppController {/api}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/.well-known/immich, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/custom.css, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/refresh-config, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AlbumController {/api/album}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/count, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id, PATCH} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id/users, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/album/:id/user/:userId, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] APIKeyController {/api/api-key}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/api-key, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/api-key, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AuditController {/api/audit}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/audit/deletes, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/audit/file-report, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/checksum, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/fix, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] AuthController {/api/auth}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/login, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/devices, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/devices, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/devices/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/validateToken, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/change-password, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/auth/logout, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] FaceController {/api/face}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/face, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/face/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] JobController {/api/jobs}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/jobs, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/jobs/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] LibraryController {/api/library}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library/:id/statistics, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library/:id/scan, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/library/:id/removeOffline, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] OAuthController {/api/oauth}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/oauth/config, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/oauth/authorize, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/oauth/callback, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/oauth/link, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/oauth/unlink, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] PartnerController {/api/partner}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/partner, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/partner/:id, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/partner/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/partner/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] SearchController {/api/search}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/search, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/search/explore, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/search/person, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] ServerInfoController {/api/server-info}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/ping, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/version, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/features, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/theme, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/config, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/statistics, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/server-info/media-types, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] SharedLinkController {/api/shared-link}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link/me, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, PATCH} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] SystemConfigController {/api/system-config}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/system-config, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/system-config/defaults, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/system-config, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/system-config/map/style.json, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] TagController {/api/tag}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag/:id, PATCH} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] UserController {/api/user}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/info/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/me, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/:id, DELETE} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/:id/restore, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/user/profile-image/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RoutesResolver] PersonController {/api/person}: [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id/reassign, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id, PUT} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id/statistics, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id/thumbnail, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id/assets, GET} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [RouterExplorer] Mapped {/api/person/:id/merge, POST} route [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [NestApplication] Nest application successfully started [Nest] 7 - 01/03/2024, 3:17:18 PM LOG [ImmichServer] Immich Server is listening on http://[::1]:3001 [v1.91.4] [PRODUCTION] [Nest] 7 - 01/03/2024, 3:17:20 PM LOG [CommunicationRepository] Websocket Connect: yPeGrMGxceVPKV4yAAAB docker logs immich_microservices immich@docker:~$ docker logs immich_microservices [Nest] 7 - 01/03/2024, 3:17:15 PM LOG [SystemConfigService] LogLevel=log (set via system config) [Nest] 7 - 01/03/2024, 3:17:15 PM LOG [MetadataRepository] Initializing metadata repository [Nest] 7 - 01/03/2024, 3:17:15 PM LOG [MetadataRepository] Importing geodata to database from file [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [MetadataRepository] Geodata import completed [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [MetadataService] Initialized local reverse geocoder [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [NestFactory] Starting Nest application... [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] BullModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] ScheduleModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] ConfigModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] BullModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] BullModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] InfraModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] DomainModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [InstanceLoader] MicroservicesModule dependencies initialized [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [NestApplication] Nest application successfully started [Nest] 7 - 01/03/2024, 3:17:52 PM LOG [ImmichMicroservice] Immich Microservices is listening on http://[::1]:3002 [v1.91.4] [PRODUCTION] docker logs immich_postgres immich@docker:~$ docker logs immich_postgres PostgreSQL Database directory appears to contain a database; Skipping initialization 2024-01-03 15:17:09.719 UTC [1] LOG: starting PostgreSQL 14.10 (Debian 14.10-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit 2024-01-03 15:17:09.719 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 2024-01-03 15:17:09.719 UTC [1] LOG: listening on IPv6 address "::", port 5432 2024-01-03 15:17:09.723 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2024-01-03 15:17:09.728 UTC [28] LOG: database system was shut down at 2024-01-03 15:13:50 UTC 2024-01-03 15:17:09.750 UTC [1] LOG: database system is ready to accept connections 2024-01-03 15:17:14.926 UTC [38] ERROR: column "stackParentId" of relation "assets" already exists 2024-01-03 15:17:14.926 UTC [38] STATEMENT: ALTER TABLE "assets" ADD "stackParentId" uuid 2024-01-03 15:17:52.618 UTC [64] WARNING: you don't own a lock of type ExclusiveLock docker logs immich_redis immich@docker:~$ docker logs immich_redis 1:C 03 Jan 2024 15:17:09.586 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:C 03 Jan 2024 15:17:09.586 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started 1:C 03 Jan 2024 15:17:09.587 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 1:M 03 Jan 2024 15:17:09.588 * monotonic clock: POSIX clock_gettime 1:M 03 Jan 2024 15:17:09.589 * Running mode=standalone, port=6379. 1:M 03 Jan 2024 15:17:09.589 # Server initialized 1:M 03 Jan 2024 15:17:09.589 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 1:M 03 Jan 2024 15:17:09.590 * Ready to accept connections 1:M 03 Jan 2024 15:22:10.022 * 100 changes in 300 seconds. Saving... 1:M 03 Jan 2024 15:22:10.027 * Background saving started by pid 22 22:C 03 Jan 2024 15:22:10.035 * DB saved on disk 22:C 03 Jan 2024 15:22:10.036 * RDB: 0 MB of memory used by copy-on-write 1:M 03 Jan 2024 15:22:10.128 * Background saving terminated with success 1:M 03 Jan 2024 15:27:11.013 * 100 changes in 300 seconds. Saving... 1:M 03 Jan 2024 15:27:11.016 * Background saving started by pid 23 23:C 03 Jan 2024 15:27:11.024 * DB saved on disk 23:C 03 Jan 2024 15:27:11.025 * RDB: 0 MB of memory used by copy-on-write 1:M 03 Jan 2024 15:27:11.117 * Background saving terminated with success docker logs immich_machine_learning immich@docker:~$ docker logs immich_machine_learning [01/03/24 15:17:11] INFO Starting gunicorn 21.2.0 [01/03/24 15:17:11] INFO Listening at: http://0.0.0.0:3003 (8) [01/03/24 15:17:11] INFO Using worker: app.config.CustomUvicornWorker [01/03/24 15:17:11] INFO Booting worker with pid: 16 [01/03/24 15:17:22] INFO Created in-memory cache with unloading after 300s of inactivity. [01/03/24 15:17:22] INFO Initialized request thread pool with 8 threads.
Author
Owner

@vadtec commented on GitHub (Jan 3, 2024):

Turns out it's also happening when trying to update album descriptions.

immich_album_3

@vadtec commented on GitHub (Jan 3, 2024): Turns out it's also happening when trying to update album descriptions. ![immich_album_3](https://github.com/immich-app/immich/assets/228679/1d4f5526-0002-4e2d-953f-49ddbce8ebb6)
Author
Owner

@alextran1502 commented on GitHub (Jan 3, 2024):

@vadtec I cannot reproduce on my prod instance, can you check the browser's console for the error, opening with F12

@alextran1502 commented on GitHub (Jan 3, 2024): @vadtec I cannot reproduce on my prod instance, can you check the browser's console for the error, opening with F12
Author
Owner

@vadtec commented on GitHub (Jan 3, 2024):

@alextran1502 The 403 error code is interesting, considering all relevant software is running within Docker and I haven't changed anything other than relevant security settings.

If you need more info let me know.

immich_album_4

@vadtec commented on GitHub (Jan 3, 2024): @alextran1502 The 403 error code is interesting, considering all relevant software is running within Docker and I haven't changed anything other than relevant security settings. If you need more info let me know. ![immich_album_4](https://github.com/immich-app/immich/assets/228679/f0b9465f-349c-4f65-b09f-5f7b96bc07a0)
Author
Owner

@vadtec commented on GitHub (Jan 3, 2024):

@alextran1502 Also, I am seeing this issue across multiple PCs. Win10 w/Chrome w/Edge w/Firefox, multiple PCs running Win11 w/Chrome w/Edge w/Firefox. Pretty certain this isn't a browser issue. 403 usually isn't.

@vadtec commented on GitHub (Jan 3, 2024): @alextran1502 Also, I am seeing this issue across multiple PCs. Win10 w/Chrome w/Edge w/Firefox, multiple PCs running Win11 w/Chrome w/Edge w/Firefox. Pretty certain this isn't a browser issue. 403 usually isn't.
Author
Owner

@alextran1502 commented on GitHub (Jan 3, 2024):

@vadtec I am suspecting something is ip with your reverse proxy. Try local IP to see if you can perform those operations

@alextran1502 commented on GitHub (Jan 3, 2024): @vadtec I am suspecting something is ip with your reverse proxy. Try local IP to see if you can perform those operations
Author
Owner

@vadtec commented on GitHub (Jan 3, 2024):

@vadtec I am suspecting something is ip with your reverse proxy. Try local IP to see if you can perform those operations

Indeed you are correct. Default config for my reverse proxy blocks most HTTP methods. Turns out, I was blocking PATCH. Was pretty sure I checked the proxy for issues, I just missed that I was still blocking most HTTP methods. ::shrug::

Hopefully this helps someone in the future.

@vadtec commented on GitHub (Jan 3, 2024): > @vadtec I am suspecting something is ip with your reverse proxy. Try local IP to see if you can perform those operations Indeed you are correct. Default config for my reverse proxy blocks most HTTP methods. Turns out, I was blocking PATCH. Was pretty sure I checked the proxy for issues, I just missed that I was still blocking most HTTP methods. ::shrug:: Hopefully this helps someone in the future.
Author
Owner

@vadtec commented on GitHub (Jan 3, 2024):

Also, pretty sure the original error this issue was about isn't related to my issue. Just want to make sure this issue isn't closed if the OP still has issues.

@vadtec commented on GitHub (Jan 3, 2024): Also, pretty sure the original error this issue was about isn't related to my issue. Just want to make sure this issue isn't closed if the OP still has issues.
Author
Owner

@jrasm91 commented on GitHub (Jan 13, 2024):

Is this still an issue?

@jrasm91 commented on GitHub (Jan 13, 2024): Is this still an issue?
Author
Owner

@gtsteffaniak commented on GitHub (Jan 31, 2024):

Yes the issue still occurs - But I think I have steps you can take to reproduce (using immich 1.93.3)

Firstly, the album does update -- its the shared album that doesn't update.

So, to reproduce the issue:

  1. create a new album
  2. share that album
  3. open the shared album link, the information should match the album at the time it was shared
  4. update the album that was shared from the non-shared url (the original album with the /album url, NOT/share). I would expect the album updates to reflect on the shared album link since it should be the same album whether im accessing via shared link or directly.
  5. You should observe that any changes made on the album do not reflect when reloading the shared link.

My logs are the same as my original post

@gtsteffaniak commented on GitHub (Jan 31, 2024): Yes the issue still occurs - But I think I have steps you can take to reproduce (using immich 1.93.3) Firstly, the album does update -- its the shared album that doesn't update. So, to reproduce the issue: 1. create a new album 2. share that album 3. open the shared album link, the information should match the album at the time it was shared 4. update the album that was shared from the non-shared url (the original album with the `/album` url, NOT`/share`). I would expect the album updates to reflect on the shared album link since it should be the same album whether im accessing via shared link or directly. 5. You should observe that any changes made on the album do not reflect when reloading the shared link. My logs are the same as my original post
Author
Owner

@gtsteffaniak commented on GitHub (Jan 31, 2024):

Update: after some time, I later check the shared link and it did eventually update. So there is just a delay in replication between shared url's and the actual album.

@gtsteffaniak commented on GitHub (Jan 31, 2024): Update: after some time, I later check the shared link and it did eventually update. So there is just a delay in replication between shared url's and the actual album.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1683