Increased memory consumption after image backup #7992

Closed
opened 2026-02-05 13:27:23 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @JuganD on GitHub (Dec 5, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

The memory when I start the instance is around 500MB after loading is finished, but quickly jumps over 1-2GB when the image back-up is triggered from the mobile app (reproduced this with only 4 new images). Memory never drops after that, not until I restart the server container.

This issue was not observed before, I'm monitoring the instances every few weeks and the version v.2.3.1 so far is the only version with these spikes.

Not sure if this is a memory leak or it's some sort of caching, but given I'm running Immich on a Raspberry PI, memory spikes like this really affect the performance of the system.

The OCR is disabled.

Image

The OS that Immich Server is running on

Raspbian (Debian 12)

Version of Immich Server

2.3.1

Version of Immich Mobile App

2.3.0.236

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

No response

Your docker-compose.yml content

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

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

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    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

# 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=/home/immich/data/library

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

# 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=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis
IMMICH_MACHINE_LEARNING_ENABLED=false

Reproduction steps

  1. Have the immich server running
  2. Have new photos (not backed up)
  3. Enter the mobile app
  4. The backup initiates automatically (as per the configuration)
  5. In the next few minutes, the server memory consumption doubles
    ...

Relevant log output

Initializing Immich v2.3.1
Detected CPU Cores: 4
Missing history for endpoint: Retrieve auth status
(node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Starting api worker
Starting microservices worker
Missing history for endpoint: Retrieve auth status
Missing history for endpoint: Retrieve auth status
(node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:23) ExperimentalWarning: WASI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[Nest] 7  - 12/05/2025, 4:05:43 PM     LOG [Microservices:WebsocketRepository] Initialized websocket server
[Nest] 7  - 12/05/2025, 4:05:43 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows
[Nest] 7  - 12/05/2025, 4:05:43 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountFiles":true,"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:StorageService] Successfully verified system mount folder checks
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:MetadataService] Bootstrapping metadata service
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:MetadataService] Initializing metadata service
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:MapRepository] Initializing metadata repository
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:MetadataService] Initialized local reverse geocoder
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:PluginService] Successfully processed core plugin: immich-core (version 2.0.0)
[Nest] 7  - 12/05/2025, 4:05:44 PM     LOG [Microservices:PluginService] Successfully loaded plugin: immich-core
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:ServerService] Feature Flags: {
  "smartSearch": false,
  "facialRecognition": false,
  "duplicateDetection": false,
  "map": true,
  "reverseGeocoding": true,
  "importFaces": false,
  "sidecar": true,
  "search": true,
  "trash": true,
  "oauth": true,
  "oauthAutoLaunch": true,
  "ocr": false,
  "passwordLogin": false,
  "configFile": false,
  "email": false
}
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:SystemConfigService] LogLevel=log (set via system config)
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:NestFactory] Starting Nest application...
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] ClsModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] ClsCommonModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] KyselyModule$1 dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] OpenTelemetryModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] KyselyCoreModule$1 dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] DiscoveryModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] OpenTelemetryCoreModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] ClsRootModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:InstanceLoader] MicroservicesModule dependencies initialized
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:NestApplication] Nest application successfully started
[Nest] 7  - 12/05/2025, 4:05:45 PM     LOG [Microservices:Bootstrap] Immich Microservices is running [v2.3.1] [production]
[Nest] 23  - 12/05/2025, 4:05:45 PM     LOG [Api:WebsocketRepository] Initialized websocket server
[Nest] 23  - 12/05/2025, 4:05:45 PM     LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows
[Nest] 23  - 12/05/2025, 4:05:45 PM     LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountFiles":true,"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:StorageService] Successfully verified system mount folder checks
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0)
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:PluginService] Successfully loaded plugin: immich-core
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:ServerService] Feature Flags: {
  "smartSearch": false,
  "facialRecognition": false,
  "duplicateDetection": false,
  "map": true,
  "reverseGeocoding": true,
  "importFaces": false,
  "sidecar": true,
  "search": true,
  "trash": true,
  "oauth": true,
  "oauthAutoLaunch": true,
  "ocr": false,
  "passwordLogin": false,
  "configFile": false,
  "email": false
}
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:SystemConfigService] LogLevel=log (set via system config)
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:NestFactory] Starting Nest application...
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] BullModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] ClsModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] ClsCommonModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] KyselyModule$1 dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] OpenTelemetryModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] KyselyCoreModule$1 dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] DiscoveryModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] OpenTelemetryCoreModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] ClsRootModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] ScheduleModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] BullModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] BullModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:InstanceLoader] ApiModule dependencies initialized
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] ApiKeyController {/api/api-keys}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/api-keys, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/api-keys, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/api-keys/me, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] ActivityController {/api/activities}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/activities, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/activities, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/activities/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/activities/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] AlbumController {/api/albums}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id, PATCH} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id/users, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] AppController {/api}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/.well-known/immich, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/custom.css, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] AssetController {/api/assets}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/random, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/device/:deviceId, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/jobs, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/copy, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/ocr, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] AssetMediaController {/api/assets}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/thumbnail, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/playback, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/exist, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/assets/bulk-upload-check, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] AuthController {/api/auth}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/login, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/validateToken, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/change-password, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/logout, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/status, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/session/unlock, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/auth/session/lock, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] AuthAdminController {/api/admin/auth}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/auth/unlink-all, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] DownloadController {/api/download}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/download/info, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/download/archive, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] DuplicateController {/api/duplicates}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/duplicates, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/duplicates, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/duplicates/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] FaceController {/api/faces}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/faces, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/faces, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/faces/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/faces/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] JobController {/api/jobs}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/jobs, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/jobs, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/jobs/:name, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] LibraryController {/api/libraries}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/validate, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/scan, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] MaintenanceController {/api/admin/maintenance}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/login, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] MapController {/api/map}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/map/markers, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/map/reverse-geocode, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] MemoryController {/api/memories}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] NotificationController {/api/notifications}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/notifications, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/notifications, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/notifications, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] NotificationAdminController {/api/admin/notifications}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/notifications, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/test-email, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/templates/:name, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] OAuthController {/api/oauth}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/oauth/authorize, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/oauth/callback, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/oauth/link, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/oauth/unlink, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] PartnerController {/api/partners}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/partners, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/partners, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/partners/:id, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/partners/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/partners/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] PersonController {/api/people}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id/thumbnail, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id/reassign, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/people/:id/merge, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] PluginController {/api/plugins}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/plugins, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/plugins/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] SearchController {/api/search}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/metadata, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/statistics, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/random, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/large-assets, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/smart, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/explore, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/person, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/places, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/cities, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/search/suggestions, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] ServerController {/api/server}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/about, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/apk-links, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/storage, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/ping, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/version, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/version-history, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/features, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/theme, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/config, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/media-types, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/license, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/license, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/license, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/server/version-check, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] SessionController {/api/sessions}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sessions, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sessions, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sessions, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sessions/:id/lock, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] SharedLinkController {/api/shared-links}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links/me, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, PATCH} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] StackController {/api/stacks}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/stacks/:id/assets/:assetId, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] SyncController {/api/sync}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sync/full-sync, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sync/delta-sync, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sync/stream, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sync/ack, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sync/ack, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/sync/ack, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] SystemConfigController {/api/system-config}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-config, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-config/defaults, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-config, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] SystemMetadataController {/api/system-metadata}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-metadata/reverse-geocoding-state, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/system-metadata/version-check-state, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] TagController {/api/tags}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] TimelineController {/api/timeline}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/timeline/buckets, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/timeline/bucket, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] TrashController {/api/trash}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/trash/empty, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/trash/restore, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/trash/restore/assets, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] UserAdminController {/api/admin/users}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/sessions, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/statistics, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/restore, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] UserController {/api/users}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] ViewController {/api/view}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RoutesResolver] WorkflowController {/api/workflows}:
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/workflows, POST} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/workflows, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, GET} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PUT} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, DELETE} route
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:NestApplication] Nest application successfully started
[Nest] 23  - 12/05/2025, 4:05:46 PM     LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v2.3.1] [production]
[Nest] 23  - 12/05/2025, 4:05:54 PM     LOG [Api:WebsocketRepository] Websocket Connect:    4IA75Z_Hk41U_8YUAAAB
[Nest] 23  - 12/05/2025, 4:06:01 PM     LOG [Api:WebsocketRepository] Websocket Connect:    a-yI4z9S49T8Y_AjAAAD
[Nest] 23  - 12/05/2025, 4:06:01 PM     LOG [Api:WebsocketRepository] Websocket Connect:    w6P_VKzIGk6Hn5TKAAAF
Query failed : {
  durationMs: 29.53627399999823,
  error: PostgresError: duplicate key value violates unique constraint "UQ_assets_owner_checksum"
      at ErrorResponse (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:794:26)
      at handle (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:480:6)
      at Socket.data (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:315:9)
      at Socket.emit (node:events:518:28)
      at addChunk (node:internal/streams/readable:561:12)
      at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
      at Readable.push (node:internal/streams/readable:392:5)
      at TCP.onStreamRead (node:internal/stream_base_commons:189:23)
      at TCP.callbackTrampoline (node:internal/async_hooks:130:17) {
    severity_local: 'ERROR',
    severity: 'ERROR',
    code: '23505',
    detail: 'Key ("ownerId", checksum)=(2be662fe-f499-4e92-b8d5-8a82e20be890, \\x0a4af8f556eef32d15a0421091a687f0877a7ceb) already exists.',
    schema_name: 'public',
    table_name: 'asset',
    constraint_name: 'UQ_assets_owner_checksum',
    file: 'nbtinsert.c',
    line: '663',
    routine: '_bt_check_unique'
  },
  sql: 'insert into "asset" ("ownerId", "libraryId", "checksum", "originalPath", "deviceAssetId", "deviceId", "fileCreatedAt", "fileModifiedAt", "localDateTime", "type", "isFavorite", "duration", "visibility", "originalFileName") values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) returning *',
  params: [
    '2be662fe-f499-4e92-b8d5-8a82e20be890',
    null,
    <Buffer 0a 4a f8 f5 56 ee f3 2d 15 a0 42 10 91 a6 87 f0 87 7a 7c eb>,
    '/usr/src/app/upload/upload/2be662fe-f499-4e92-b8d5-8a82e20be890/c0/a3/c0a3ed5f-e165-43de-8663-45ab611e88bd.HEIC',
    '5F02235E-18A3-47A7-9365-A8B62BD14D5F/L0/001',
    '6c6e6133298cb7821b526b391ef9fa59e0299e3d25c5669fb819a1554ca0c751',
    2025-12-05T16:05:33.000Z,
    2025-12-05T16:05:33.000Z,
    2025-12-05T16:05:33.000Z,
    'IMAGE',
    false,
    '0',
    'timeline',
    'IMG_3635.HEIC'
  ]
}
[Nest] 23  - 12/05/2025, 4:06:31 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: w6P_VKzIGk6Hn5TKAAAF
[Nest] 23  - 12/05/2025, 4:06:59 PM     LOG [Api:WebsocketRepository] Websocket Connect:    uMqmUtopkzxGu6F5AAAH
[Nest] 23  - 12/05/2025, 4:07:02 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: uMqmUtopkzxGu6F5AAAH
[Nest] 23  - 12/05/2025, 4:07:11 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: a-yI4z9S49T8Y_AjAAAD
[Nest] 23  - 12/05/2025, 4:07:13 PM     LOG [Api:WebsocketRepository] Websocket Connect:    7O6bEU7-d20oUk9KAAAJ
[Nest] 23  - 12/05/2025, 4:07:14 PM     LOG [Api:WebsocketRepository] Websocket Connect:    Y27T7imFsJCQketaAAAL
[Nest] 23  - 12/05/2025, 4:07:59 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: Y27T7imFsJCQketaAAAL
[Nest] 23  - 12/05/2025, 4:08:23 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: 7O6bEU7-d20oUk9KAAAJ
[Nest] 23  - 12/05/2025, 4:09:56 PM     LOG [Api:WebsocketRepository] Websocket Connect:    pQatcIotQ9-eF5PBAAAN
[Nest] 23  - 12/05/2025, 4:09:57 PM     LOG [Api:WebsocketRepository] Websocket Connect:    Umf0-VQl1xGRDgcxAAAP
[Nest] 23  - 12/05/2025, 4:10:12 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: Umf0-VQl1xGRDgcxAAAP
[Nest] 23  - 12/05/2025, 4:10:41 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: pQatcIotQ9-eF5PBAAAN
[Nest] 23  - 12/05/2025, 4:10:47 PM     LOG [Api:WebsocketRepository] Websocket Connect:    0hffCzDZ36a8LTTzAAAR
[Nest] 23  - 12/05/2025, 4:10:47 PM     LOG [Api:WebsocketRepository] Websocket Connect:    3xK9eephNq8nzn13AAAT
[Nest] 23  - 12/05/2025, 4:10:54 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: 3xK9eephNq8nzn13AAAT
[Nest] 23  - 12/05/2025, 4:11:32 PM     LOG [Api:WebsocketRepository] Websocket Disconnect: 0hffCzDZ36a8LTTzAAAR

Additional information

No response

Originally created by @JuganD on GitHub (Dec 5, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug The memory when I start the instance is around 500MB after loading is finished, but quickly jumps over 1-2GB when the image back-up is triggered from the mobile app (reproduced this with only 4 new images). Memory never drops after that, not until I restart the server container. This issue was not observed before, I'm monitoring the instances every few weeks and the version v.2.3.1 so far is the only version with these spikes. Not sure if this is a memory leak or it's some sort of caching, but given I'm running Immich on a Raspberry PI, memory spikes like this really affect the performance of the system. The OCR is disabled. <img width="920" height="165" alt="Image" src="https://github.com/user-attachments/assets/83fbd77d-7f5c-4884-9ee2-789fcba851b6" /> ### The OS that Immich Server is running on Raspbian (Debian 12) ### Version of Immich Server 2.3.1 ### Version of Immich Mobile App 2.3.0.236 ### Platform with the issue - [x] Server - [ ] Web - [ ] Mobile ### Device make and model _No response_ ### Your docker-compose.yml content ```YAML services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - 2283:2283 depends_on: - redis - database restart: always redis: container_name: immich_redis image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 restart: always database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 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 # 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=/home/immich/data/library # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=v2.3.1 # 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=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis IMMICH_MACHINE_LEARNING_ENABLED=false ``` ### Reproduction steps 1. Have the immich server running 2. Have new photos (not backed up) 3. Enter the mobile app 4. The backup initiates automatically (as per the configuration) 5. In the next few minutes, the server memory consumption doubles ... ### Relevant log output ```shell Initializing Immich v2.3.1 Detected CPU Cores: 4 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:23) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/05/2025, 4:05:43 PM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 7 - 12/05/2025, 4:05:43 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows [Nest] 7 - 12/05/2025, 4:05:43 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountFiles":true,"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:MetadataService] Initialized local reverse geocoder [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 7 - 12/05/2025, 4:05:44 PM LOG [Microservices:PluginService] Successfully loaded plugin: immich-core [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:ServerService] Feature Flags: { "smartSearch": false, "facialRecognition": false, "duplicateDetection": false, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": true, "oauthAutoLaunch": true, "ocr": false, "passwordLogin": false, "configFile": false, "email": false } [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:SystemConfigService] LogLevel=log (set via system config) [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:NestFactory] Starting Nest application... [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] BullModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] ClsModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] ClsCommonModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] KyselyModule$1 dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] OpenTelemetryModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] KyselyCoreModule$1 dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] DiscoveryModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] OpenTelemetryCoreModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] ClsRootModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] BullModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] BullModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:InstanceLoader] MicroservicesModule dependencies initialized [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:NestApplication] Nest application successfully started [Nest] 7 - 12/05/2025, 4:05:45 PM LOG [Microservices:Bootstrap] Immich Microservices is running [v2.3.1] [production] [Nest] 23 - 12/05/2025, 4:05:45 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 23 - 12/05/2025, 4:05:45 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows [Nest] 23 - 12/05/2025, 4:05:45 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountFiles":true,"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:ServerService] Feature Flags: { "smartSearch": false, "facialRecognition": false, "duplicateDetection": false, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": true, "oauthAutoLaunch": true, "ocr": false, "passwordLogin": false, "configFile": false, "email": false } [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:SystemConfigService] LogLevel=log (set via system config) [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:NestFactory] Starting Nest application... [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] ClsModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] ClsCommonModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] KyselyModule$1 dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] OpenTelemetryModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] KyselyCoreModule$1 dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] DiscoveryModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] OpenTelemetryCoreModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] ClsRootModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] ScheduleModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:InstanceLoader] ApiModule dependencies initialized [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] ApiKeyController {/api/api-keys}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/me, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] ActivityController {/api/activities}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/activities, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/activities, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/activities/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/activities/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] AlbumController {/api/albums}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, PATCH} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/users, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] AppController {/api}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/.well-known/immich, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/custom.css, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] AssetController {/api/assets}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/random, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/device/:deviceId, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/jobs, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/copy, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/ocr, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] AssetMediaController {/api/assets}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/thumbnail, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/playback, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/exist, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/assets/bulk-upload-check, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] AuthController {/api/auth}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/login, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/validateToken, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/change-password, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/logout, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/status, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/session/unlock, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/auth/session/lock, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] AuthAdminController {/api/admin/auth}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/auth/unlink-all, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] DownloadController {/api/download}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/download/info, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/download/archive, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] DuplicateController {/api/duplicates}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/duplicates, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/duplicates, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/duplicates/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] FaceController {/api/faces}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/faces, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/faces, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/faces/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/faces/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] JobController {/api/jobs}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/jobs, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/jobs, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/jobs/:name, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] LibraryController {/api/libraries}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/validate, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/scan, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] MaintenanceController {/api/admin/maintenance}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/login, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] MapController {/api/map}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/map/markers, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/map/reverse-geocode, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] MemoryController {/api/memories}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] NotificationController {/api/notifications}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/notifications, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/notifications, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/notifications, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] NotificationAdminController {/api/admin/notifications}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/test-email, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/templates/:name, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] OAuthController {/api/oauth}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/authorize, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/callback, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/link, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/unlink, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] PartnerController {/api/partners}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/partners, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/partners, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] PersonController {/api/people}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/thumbnail, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/reassign, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/merge, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] PluginController {/api/plugins}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/plugins, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/plugins/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] SearchController {/api/search}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/metadata, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/statistics, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/random, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/large-assets, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/smart, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/explore, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/person, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/places, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/cities, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/search/suggestions, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] ServerController {/api/server}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/about, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/apk-links, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/storage, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/ping, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/version, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/version-history, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/features, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/theme, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/config, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/media-types, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/license, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/license, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/license, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/server/version-check, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] SessionController {/api/sessions}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sessions, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sessions, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sessions, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id/lock, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] SharedLinkController {/api/shared-links}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/me, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, PATCH} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] StackController {/api/stacks}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id/assets/:assetId, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] SyncController {/api/sync}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sync/full-sync, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sync/delta-sync, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sync/stream, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] SystemConfigController {/api/system-config}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-config, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-config/defaults, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-config, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] SystemMetadataController {/api/system-metadata}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/reverse-geocoding-state, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/version-check-state, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] TagController {/api/tags}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] TimelineController {/api/timeline}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/timeline/buckets, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/timeline/bucket, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] TrashController {/api/trash}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/trash/empty, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/trash/restore, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/trash/restore/assets, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] UserAdminController {/api/admin/users}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/sessions, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/statistics, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/restore, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] UserController {/api/users}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] ViewController {/api/view}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RoutesResolver] WorkflowController {/api/workflows}: [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/workflows, POST} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/workflows, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, GET} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PUT} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, DELETE} route [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:NestApplication] Nest application successfully started [Nest] 23 - 12/05/2025, 4:05:46 PM LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v2.3.1] [production] [Nest] 23 - 12/05/2025, 4:05:54 PM LOG [Api:WebsocketRepository] Websocket Connect: 4IA75Z_Hk41U_8YUAAAB [Nest] 23 - 12/05/2025, 4:06:01 PM LOG [Api:WebsocketRepository] Websocket Connect: a-yI4z9S49T8Y_AjAAAD [Nest] 23 - 12/05/2025, 4:06:01 PM LOG [Api:WebsocketRepository] Websocket Connect: w6P_VKzIGk6Hn5TKAAAF Query failed : { durationMs: 29.53627399999823, error: PostgresError: duplicate key value violates unique constraint "UQ_assets_owner_checksum" at ErrorResponse (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:794:26) at handle (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:480:6) at Socket.data (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:315:9) at Socket.emit (node:events:518:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at TCP.onStreamRead (node:internal/stream_base_commons:189:23) at TCP.callbackTrampoline (node:internal/async_hooks:130:17) { severity_local: 'ERROR', severity: 'ERROR', code: '23505', detail: 'Key ("ownerId", checksum)=(2be662fe-f499-4e92-b8d5-8a82e20be890, \\x0a4af8f556eef32d15a0421091a687f0877a7ceb) already exists.', schema_name: 'public', table_name: 'asset', constraint_name: 'UQ_assets_owner_checksum', file: 'nbtinsert.c', line: '663', routine: '_bt_check_unique' }, sql: 'insert into "asset" ("ownerId", "libraryId", "checksum", "originalPath", "deviceAssetId", "deviceId", "fileCreatedAt", "fileModifiedAt", "localDateTime", "type", "isFavorite", "duration", "visibility", "originalFileName") values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) returning *', params: [ '2be662fe-f499-4e92-b8d5-8a82e20be890', null, <Buffer 0a 4a f8 f5 56 ee f3 2d 15 a0 42 10 91 a6 87 f0 87 7a 7c eb>, '/usr/src/app/upload/upload/2be662fe-f499-4e92-b8d5-8a82e20be890/c0/a3/c0a3ed5f-e165-43de-8663-45ab611e88bd.HEIC', '5F02235E-18A3-47A7-9365-A8B62BD14D5F/L0/001', '6c6e6133298cb7821b526b391ef9fa59e0299e3d25c5669fb819a1554ca0c751', 2025-12-05T16:05:33.000Z, 2025-12-05T16:05:33.000Z, 2025-12-05T16:05:33.000Z, 'IMAGE', false, '0', 'timeline', 'IMG_3635.HEIC' ] } [Nest] 23 - 12/05/2025, 4:06:31 PM LOG [Api:WebsocketRepository] Websocket Disconnect: w6P_VKzIGk6Hn5TKAAAF [Nest] 23 - 12/05/2025, 4:06:59 PM LOG [Api:WebsocketRepository] Websocket Connect: uMqmUtopkzxGu6F5AAAH [Nest] 23 - 12/05/2025, 4:07:02 PM LOG [Api:WebsocketRepository] Websocket Disconnect: uMqmUtopkzxGu6F5AAAH [Nest] 23 - 12/05/2025, 4:07:11 PM LOG [Api:WebsocketRepository] Websocket Disconnect: a-yI4z9S49T8Y_AjAAAD [Nest] 23 - 12/05/2025, 4:07:13 PM LOG [Api:WebsocketRepository] Websocket Connect: 7O6bEU7-d20oUk9KAAAJ [Nest] 23 - 12/05/2025, 4:07:14 PM LOG [Api:WebsocketRepository] Websocket Connect: Y27T7imFsJCQketaAAAL [Nest] 23 - 12/05/2025, 4:07:59 PM LOG [Api:WebsocketRepository] Websocket Disconnect: Y27T7imFsJCQketaAAAL [Nest] 23 - 12/05/2025, 4:08:23 PM LOG [Api:WebsocketRepository] Websocket Disconnect: 7O6bEU7-d20oUk9KAAAJ [Nest] 23 - 12/05/2025, 4:09:56 PM LOG [Api:WebsocketRepository] Websocket Connect: pQatcIotQ9-eF5PBAAAN [Nest] 23 - 12/05/2025, 4:09:57 PM LOG [Api:WebsocketRepository] Websocket Connect: Umf0-VQl1xGRDgcxAAAP [Nest] 23 - 12/05/2025, 4:10:12 PM LOG [Api:WebsocketRepository] Websocket Disconnect: Umf0-VQl1xGRDgcxAAAP [Nest] 23 - 12/05/2025, 4:10:41 PM LOG [Api:WebsocketRepository] Websocket Disconnect: pQatcIotQ9-eF5PBAAAN [Nest] 23 - 12/05/2025, 4:10:47 PM LOG [Api:WebsocketRepository] Websocket Connect: 0hffCzDZ36a8LTTzAAAR [Nest] 23 - 12/05/2025, 4:10:47 PM LOG [Api:WebsocketRepository] Websocket Connect: 3xK9eephNq8nzn13AAAT [Nest] 23 - 12/05/2025, 4:10:54 PM LOG [Api:WebsocketRepository] Websocket Disconnect: 3xK9eephNq8nzn13AAAT [Nest] 23 - 12/05/2025, 4:11:32 PM LOG [Api:WebsocketRepository] Websocket Disconnect: 0hffCzDZ36a8LTTzAAAR ``` ### Additional information _No response_
Author
Owner

@bo0tzz commented on GitHub (Dec 5, 2025):

Is there anything that needs this RAM? https://www.linuxatemyram.com/

@bo0tzz commented on GitHub (Dec 5, 2025): Is there anything that needs this RAM? https://www.linuxatemyram.com/
Author
Owner

@JuganD commented on GitHub (Dec 5, 2025):

Yes, I have a few other containers, such as Nextcloud, which become painfully slow when Immich memory rises. I've spent few days troubleshooting the cause to pinpoint the backing up, as my other container web apps became practically unusable, until I restart the Immich server container. By all means it looks like this is not a disk cache, which would've been reclaimed, as the need for memory certainly was there.

@JuganD commented on GitHub (Dec 5, 2025): Yes, I have a few other containers, such as Nextcloud, which become painfully slow when Immich memory rises. I've spent few days troubleshooting the cause to pinpoint the backing up, as my other container web apps became practically unusable, until I restart the Immich server container. By all means it looks like this is not a disk cache, which would've been reclaimed, as the need for memory certainly was there.
Author
Owner

@bo0tzz commented on GitHub (Dec 5, 2025):

You can limit the RAM available to Immich, see https://docs.immich.app/faq#can-i-limit-cpu-and-ram-usage

@bo0tzz commented on GitHub (Dec 5, 2025): You can limit the RAM available to Immich, see https://docs.immich.app/faq#can-i-limit-cpu-and-ram-usage
Author
Owner

@JuganD commented on GitHub (Dec 5, 2025):

... which breaks any pending image upload completely at the time of container termination.
Just throw the memory leaks under the rug, good job.

@JuganD commented on GitHub (Dec 5, 2025): ... which breaks any pending image upload completely at the time of container termination. Just throw the memory leaks under the rug, good job.
Author
Owner

@mmomjian commented on GitHub (Dec 5, 2025):

I think calling this a memory leak is a stretch unless we have evidence of continued, unconstrained memory growth. How much memory are you expecting the Immich stack to use? Our documentation specifies minimum 4GB (which is pretty tight TBH with machine learning), recommended 6GB+.

@mmomjian commented on GitHub (Dec 5, 2025): I think calling this a memory leak is a stretch unless we have evidence of continued, unconstrained memory growth. How much memory are you expecting the Immich stack to use? Our documentation specifies minimum 4GB (which is pretty tight TBH with machine learning), recommended 6GB+.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#7992