immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
43.02k stars 2.09k forks source link

Immich (latest)CLI upload fails for large uploads having huge directory tree structure with different reasons when re-run #7836

Closed AbNiks closed 5 months ago

AbNiks commented 5 months ago

The bug

Immich CLI(latest) upload works when uploading few files (usually around 5 GB) but when recursively iterating thru huge directory structure with huge GB of data being uploaded, Immich CLI(latest) fails usually due to one of the below reasons as stated below. When re-run, usually one of the below error comes. It difficult to upload every leaf structure of the directory. Can we have this tested for huge directory structure say of approx 1TB, with different types of files being uploaded pls? 1) Issue 1:- data: { message: 'Failed to upload file', error: 'Internal Server Error', statusCode: 500 } 2) Issue 2:- cause: Error: socket hang up at connResetException (node:internal/errors:787:14) at Socket.socketOnEnd (node:_http_client:519:23) at Socket.emit (node:events:527:35) at endReadableNT (node:internal/streams/readable:1589:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { code: 'ECONNRESET' 3) Issue 3:- cause: [Error: EBADF: bad file descriptor, close] { errno: -9, code: 'EBADF', syscall: 'close' } Stating log for issue 3 here due to character limitation:

Issue 3 Logs:- nitikaagarwal@Nitikas-MBP 2023 % immich upload --recursive --delete 01 █████████████████████░░░░░░░░░░░░░░░░░░░ | 53% | ETA: 3h35m | 11.9 GB/22.3 GB: /Volumes/abhinav/PhotoPrism/originals/2023/01/20230125_090450_BC1C9746.mp4

node:internal/process/promises:289 triggerUncaughtException(err, true / fromPromise /); ^ AxiosError: EBADF: bad file descriptor, close at AxiosError.from (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:837:14) at ClientRequest.handleRequestError (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3087:25) at ClientRequest.emit (node:events:515:28) at Socket.socketErrorListener (node:_http_client:495:9) .......

[Symbol(kUniqueHeaders)]: null,
[Symbol(kError)]: [Error: EBADF: bad file descriptor, close] {
  errno: -9,
  code: 'EBADF',
  syscall: 'close'
}

}, cause: [Error: EBADF: bad file descriptor, close] { errno: -9, code: 'EBADF', syscall: 'close' } }

The OS that Immich Server is running on

Mac Sonoma 14.3.1 (23D60)

Version of Immich Server

v1.98.1

Version of Immich Mobile App

v1.97.0 build.141

Platform with the issue

Your docker-compose.yml content

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: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    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
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  redis:
    container_name: immich_redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
    restart: always

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    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:

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=/Volumes/abhinav/Immich

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

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

# 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

Reproduction steps

1. Try uploading huge directory structure which has blend of different files types(zip, jpeg, gif, all possible formats) with tree structure of n depth where n is huge. Not sure what the maximum value of n i could have due to multiple backups being taken over years.
2. The total size of upload being processed is huge say ~1TB
3. Re-running on the parent folder gives one of the 3 Issues stated above and logs attached for all 3 issues.
4. Note, I have disabled ML during CLI upload and also ensured that all jobs are stopped in Administrator Job. 
5. Docker Resource allocated: 8 Core CPU, Memory Limit: 7 GB, Swap: 3GB
6. command issued:  immich upload --recursive  --delete .

Additional information

1) Issue 1 Logs:-

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 0% | ETA: 13h50m | 5.9 GB/627.0 GB: /Volumes/abhinav/Photos_1/Immich_1/library/thumbs/9f0e446a-99f8-44b2-bced-c0e13baf0251/2b/a8/2ba808ca

node:internal/process/promises:289 triggerUncaughtException(err, true / fromPromise /); ^ AxiosError: Request failed with status code 500 at settle (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:1967:12) at IncomingMessage.handleStreamEnd (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3066:11) at IncomingMessage.emit (node:events:527:35) at endReadableNT (node:internal/streams/readable:1589:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) at Axios.request (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3877:41) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Upload.uploadAsset (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/commands/upload.js:155:21) at async Upload.run (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/commands/upload.js:79:41) at async Command. (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/index.js:43:5) { code: 'ERR_BAD_RESPONSE', config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: Infinity, maxBodyLength: Infinity, env: { FormData: [Function: FormData] { LINE_BREAK: '\r\n', DEFAULT_CONTENT_TYPE: 'application/octet-stream' }, Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: Object [AxiosHeaders] { Accept: 'application/json, text/plain, /', 'Content-Type': 'multipart/form-data; boundary=--------------------------021651844378398580960649', 'x-api-key': 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA', 'User-Agent': 'axios/1.6.7', 'Content-Length': '32660', 'Accept-Encoding': 'gzip, compress, deflate, br' }, method: 'post', maxRedirects: 0, url: 'http://localhost:2283/api/asset/upload', data: FormData { _overheadLength: 741, _valueLength: 103, _valuesToMeasure: [ ReadStream { fd: null, path: '/Volumes/abhinav/Photos_1/Immich_1/library/thumbs/9f0e446a-99f8-44b2-bced-c0e13baf0251/2b/a8/2ba808ca-915e-4b1e-9d23-d25e3bda01e5.webp', flags: 'r', mode: 438, start: undefined, end: Infinity, pos: undefined, bytesRead: 31760, _readableState: ReadableState { highWaterMark: 65536, buffer: [BufferList], length: 0, pipes: [], awaitDrainWriters: null,

      },
      _events: [Object: null prototype] {
        error: [Function (anonymous)],
        data: [Function: bound ]
      },
      _eventsCount: 2,
      _maxListeners: undefined,
      emit: [Function (anonymous)],
      [Symbol(kFs)]: {
        appendFile: [Function: appendFile],
        appendFileSync: [Function: appendFileSync],
        access: [Function: access],
        accessSync: [Function: accessSync],
        chown: [Function: chown],
        chownSync: [Function: chownSync],
        chmod: [Function: chmod],
        chmodSync: [Function: chmodSync],
        close: [Function: close],
        closeSync: [Function: closeSync],
        copyFile: [Function: copyFile],
        copyFileSync: [Function: copyFileSync],
        cp: [Function: cp],
        cpSync: [Function: cpSync],
        createReadStream: [Function: createReadStream],
        createWriteStream: [Function: createWriteStream],
        exists: [Function: exists],
        existsSync: [Function: existsSync],
        fchown: [Function: fchown],
        fchownSync: [Function: fchownSync],
        fchmod: [Function: fchmod],
        fchmodSync: [Function: fchmodSync],
        fdatasync: [Function: fdatasync],
        fdatasyncSync: [Function: fdatasyncSync],
        fstat: [Function: fstat],
        fstatSync: [Function: fstatSync],
        fsync: [Function: fsync],
        fsyncSync: [Function: fsyncSync],
        ftruncate: [Function: ftruncate],
        ftruncateSync: [Function: ftruncateSync],
        futimes: [Function: futimes],
        futimesSync: [Function: futimesSync],
        lchown: [Function: lchown],
        lchownSync: [Function: lchownSync],
        lchmod: [Function: lchmod],
        lchmodSync: [Function: lchmodSync],
        link: [Function: link],
        linkSync: [Function: linkSync],
        lstat: [Function: lstat],
        lstatSync: [Function: lstatSync],
        lutimes: [Function: lutimes],
        lutimesSync: [Function: lutimesSync],
        mkdir: [Function: mkdir],
        mkdirSync: [Function: mkdirSync],
        mkdtemp: [Function: mkdtemp],
        mkdtempSync: [Function: mkdtempSync],
        open: [Function: open],
        openSync: [Function: openSync],
        openAsBlob: [Function: openAsBlob],
        readdir: [Function: readdir],
        readdirSync: [Function: readdirSync],
        read: [Function: read],
        readSync: [Function: readSync],
        readv: [Function: readv],
        readvSync: [Function: readvSync],
        readFile: [Function: readFile],
        readFileSync: [Function: readFileSync],
        readlink: [Function: readlink],
        readlinkSync: [Function: readlinkSync],
        realpath: [Function],
        realpathSync: [Function],
        rename: [Function: rename],
        renameSync: [Function: renameSync],
        rm: [Function: rm],
        rmSync: [Function: rmSync],
        rmdir: [Function: rmdir],
        rmdirSync: [Function: rmdirSync],
        stat: [Function: stat],
        statfs: [Function: statfs],
        statSync: [Function: statSync],
        statfsSync: [Function: statfsSync],
        symlink: [Function: symlink],
        symlinkSync: [Function: symlinkSync],
        truncate: [Function: truncate],
        truncateSync: [Function: truncateSync],
        unwatchFile: [Function: unwatchFile],
        unlink: [Function: unlink],
        unlinkSync: [Function: unlinkSync],
        utimes: [Function: utimes],
        utimesSync: [Function: utimesSync],
        watch: [Function: watch],
        watchFile: [Function: watchFile],
        writeFile: [Function: writeFile],
        writeFileSync: [Function: writeFileSync],
        write: [Function: write],
        writeSync: [Function: writeSync],
        writev: [Function: writev],
        writevSync: [Function: writevSync],
        Dirent: [class Dirent],
        Stats: [Function: Stats],
        ReadStream: [Getter/Setter],
        WriteStream: [Getter/Setter],
        FileReadStream: [Getter/Setter],
        FileWriteStream: [Getter/Setter],
        _toUnixTimestamp: [Function: toUnixTimestamp],
        Dir: [class Dir],
        opendir: [Function: opendir],
        opendirSync: [Function: opendirSync],
        F_OK: 0,
        R_OK: 4,
        W_OK: 2,
        X_OK: 1,
        constants: [Object: null prototype],
        promises: [Getter]
      },
      [Symbol(kIsPerformingIO)]: false,
      [Symbol(kCapture)]: false
    }
  ],
  writable: false,
  readable: true,
  dataSize: 0,
  maxDataSize: 2097152,
  pauseStreams: true,
  _released: true,
  _streams: [],
  _currentStream: null,
  _insideLoop: false,
  _pendingNext: false,
  _boundary: '--------------------------021651844378398580960649',
  _events: [Object: null prototype] {
    end: [Function (anonymous)],
    error: [Function: bound onceWrapper] {
      listener: [Function (anonymous)]
    },
    close: [Function (anonymous)]
  },
  _eventsCount: 3
}

}, request: <ref 4> ClientRequest { _events: [Object: null prototype] { error: [Function: handleRequestError], socket: [Function: handleRequestSocket], finish: [Function: requestOnFinish] }, _eventsCount: 3, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: '32660', _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: true, _header: 'POST /api/asset/upload HTTP/1.1\r\n' + 'Accept: application/json, text/plain, /*\r\n' + 'Content-Type: multipart/form-data; boundary=--------------------------021651844378398580960649\r\n' + 'x-api-key: hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA\r\n' + 'User-Agent: axios/1.6.7\r\n' + 'Content-Length: 32660\r\n' + 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'Host: localhost:2283\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype] { free: [Function (anonymous)], newListener: [Function: maybeEnableKeylog] }, _eventsCount: 2, _maxListeners: undefined, defaultPort: 80, protocol: 'http:', options: [Object: null prototype] { keepAlive: true, scheduling: 'lifo', timeout: 5000, noDelay: true, path: null }, requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype] { 'localhost:2283:': [ Socket { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 6, _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: null, _server: null, timeout: 5000, parser: null, _httpMessage: null, autoSelectFamilyAttemptedAddresses: [Array],

        [Symbol(kHandle)]: [TCP],
        [Symbol(lastWriteQueueSize)]: 0,
        [Symbol(timeout)]: [Timeout],
        [Symbol(kBuffer)]: null,
        [Symbol(kBufferCb)]: null,
        [Symbol(kBufferGen)]: null,
        [Symbol(kCapture)]: false,
        [Symbol(kSetNoDelay)]: true,
        [Symbol(kSetKeepAlive)]: true,
        [Symbol(kSetKeepAliveInitialDelay)]: 1,
        [Symbol(kBytesRead)]: 0,
        [Symbol(kBytesWritten)]: 0
      }
    ]
  },
  keepAliveMsecs: 1000,
  keepAlive: true,
  maxSockets: Infinity,
  maxFreeSockets: 256,
  scheduling: 'lifo',
  maxTotalSockets: Infinity,
  totalSocketCount: 1,
  [Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/api/asset/upload',
_ended: true,
res: IncomingMessage {
  _readableState: ReadableState {
    highWaterMark: 16384,
    buffer: BufferList { head: null, tail: null, length: 0 },
    length: 0,
    pipes: [],
    awaitDrainWriters: null,
    [Symbol(kState)]: 60225590
  },
  _events: [Object: null prototype] {
    end: [ [Function: responseOnEnd], [Function: handleStreamEnd] ],
    error: [Function: handleStreamError],
    data: [Function: handleStreamData],
    aborted: [Function: handlerStreamAborted]
  },
  _eventsCount: 4,
  _maxListeners: undefined,
  socket: null,
  httpVersionMajor: 1,
  httpVersionMinor: 1,
  httpVersion: '1.1',
  complete: true,
  rawHeaders: [
    'X-Powered-By',
    'Express',
    'Content-Type',
    'application/json; charset=utf-8',
    'Content-Length',
    '84',
    'ETag',
    '"54-sQojqNZnpXrSuerOtcfoJmKKJXs"',
    'Date',
    'Sun, 10 Mar 2024 14:57:14 GMT',
    'Connection',
    'keep-alive',
    'Keep-Alive',
    'timeout=5'
  ],
  rawTrailers: [],
  joinDuplicateHeaders: undefined,
  aborted: false,
  upgrade: false,
  url: '',
  method: null,
  statusCode: 500,
  statusMessage: 'Internal Server Error',
  client: <ref *1> Socket {
    connecting: false,
    _hadError: false,
    _parent: null,
    _host: 'localhost',
    _closeAfterHandlingError: false,
    _readableState: ReadableState {
      highWaterMark: 16384,
      buffer: BufferList { head: null, tail: null, length: 0 },
      length: 0,
      pipes: [],
      awaitDrainWriters: null,
      [Symbol(kState)]: 60035160
    },
    _events: [Object: null prototype] {
      end: [Function: onReadableStreamEnd],
      free: [Function: onFree],
      close: [Function: onClose],
      timeout: [Function: onTimeout],
      agentRemove: [Function: onRemove],
      error: [Function: bound onceWrapper] {
        listener: [Function: freeSocketErrorListener]
      }
    },
    _eventsCount: 6,
    _maxListeners: undefined,
    _writableState: WritableState {
      highWaterMark: 16384,
      length: 0,
      corked: 0,
      onwrite: [Function: bound onwrite],
      writelen: 0,
      bufferedIndex: 0,
      pendingcb: 0,
      [Symbol(kState)]: 34340932,
      [Symbol(kBufferedValue)]: null,
      [Symbol(kWriteCbValue)]: [Function (anonymous)],
      [Symbol(kAfterWriteTickInfoValue)]: null
    },
    allowHalfOpen: false,
    _sockname: null,
    _pendingData: null,
    _pendingEncoding: '',
    server: null,
    _server: null,
    timeout: 5000,
    parser: null,
    _httpMessage: null,
    autoSelectFamilyAttemptedAddresses: [ '::1:2283' ],
    [Symbol(async_id_symbol)]: -1,
    [Symbol(kHandle)]: <ref *2> TCP {
      reading: true,
      onconnection: null,
      [Symbol(owner_symbol)]: [Circular *1],
      [Symbol(resource_symbol)]: ReusedHandle { type: 40, handle: [Circular *2] }
    },
    [Symbol(lastWriteQueueSize)]: 0,
    [Symbol(timeout)]: <ref *3> Timeout {
      _idleTimeout: 5000,
      _idlePrev: TimersList {
        _idleNext: [Circular *3],
        _idlePrev: [Circular *3],
        expiry: 19302188,
        id: -9007199254690749,
        msecs: 5000,
        priorityQueuePosition: 1
      },
      _idleNext: TimersList {
        _idleNext: [Circular *3],
        _idlePrev: [Circular *3],
        expiry: 19302188,
        id: -9007199254690749,
        msecs: 5000,
        priorityQueuePosition: 1
      },
      _idleStart: 19299043,
      _onTimeout: [Function: bound ],
      _timerArgs: undefined,
      _repeat: null,
      _destroyed: false,
      [Symbol(refed)]: false,
      [Symbol(kHasPrimitive)]: false,
      [Symbol(asyncId)]: 1643290,
      [Symbol(triggerId)]: 1643288
    },
    [Symbol(kBuffer)]: null,
    [Symbol(kBufferCb)]: null,
    [Symbol(kBufferGen)]: null,
    [Symbol(kCapture)]: false,
    [Symbol(kSetNoDelay)]: true,
    [Symbol(kSetKeepAlive)]: true,
    [Symbol(kSetKeepAliveInitialDelay)]: 1,
    [Symbol(kBytesRead)]: 0,
    [Symbol(kBytesWritten)]: 0
  },
  _consuming: false,
  _dumped: false,
  req: [Circular *4],
  [Symbol(kCapture)]: false,
  [Symbol(kHeaders)]: {
    'x-powered-by': 'Express',
    'content-type': 'application/json; charset=utf-8',
    'content-length': '84',
    etag: '"54-sQojqNZnpXrSuerOtcfoJmKKJXs"',
    date: 'Sun, 10 Mar 2024 14:57:14 GMT',
    connection: 'keep-alive',
    'keep-alive': 'timeout=5'
  },
  [Symbol(kHeadersCount)]: 14,
  [Symbol(kTrailers)]: null,
  [Symbol(kTrailersCount)]: 0
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: true,
host: 'localhost',
protocol: 'http:',
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kChunkedBuffer)]: [],
[Symbol(kChunkedLength)]: 0,
[Symbol(kSocket)]: <ref *1> Socket {
  connecting: false,
  _hadError: false,
  _parent: null,
  _host: 'localhost',
  _closeAfterHandlingError: false,
  _readableState: ReadableState {
    highWaterMark: 16384,
    buffer: BufferList { head: null, tail: null, length: 0 },
    length: 0,
    pipes: [],
    awaitDrainWriters: null,
    [Symbol(kState)]: 60035160
  },
  _events: [Object: null prototype] {
    end: [Function: onReadableStreamEnd],
    free: [Function: onFree],
    close: [Function: onClose],
    timeout: [Function: onTimeout],
    agentRemove: [Function: onRemove],
    error: [Function: bound onceWrapper] {
      listener: [Function: freeSocketErrorListener]
    }
  },
  _eventsCount: 6,
  _maxListeners: undefined,
  _writableState: WritableState {
    highWaterMark: 16384,
    length: 0,
    corked: 0,
    onwrite: [Function: bound onwrite],
    writelen: 0,
    bufferedIndex: 0,
    pendingcb: 0,
    [Symbol(kState)]: 34340932,
    [Symbol(kBufferedValue)]: null,
    [Symbol(kWriteCbValue)]: [Function (anonymous)],
    [Symbol(kAfterWriteTickInfoValue)]: null
  },
  allowHalfOpen: false,
  _sockname: null,
  _pendingData: null,
  _pendingEncoding: '',
  server: null,
  _server: null,
  timeout: 5000,
  parser: null,
  _httpMessage: null,
  autoSelectFamilyAttemptedAddresses: [ '::1:2283' ],
  [Symbol(async_id_symbol)]: -1,
  [Symbol(kHandle)]: <ref *2> TCP {
    reading: true,
    onconnection: null,
    [Symbol(owner_symbol)]: [Circular *1],
    [Symbol(resource_symbol)]: ReusedHandle { type: 40, handle: [Circular *2] }
  },
  [Symbol(lastWriteQueueSize)]: 0,
  [Symbol(timeout)]: <ref *3> Timeout {
    _idleTimeout: 5000,
    _idlePrev: TimersList {
      _idleNext: [Circular *3],
      _idlePrev: [Circular *3],
      expiry: 19302188,
      id: -9007199254690749,
      msecs: 5000,
      priorityQueuePosition: 1
    },
    _idleNext: TimersList {
      _idleNext: [Circular *3],
      _idlePrev: [Circular *3],
      expiry: 19302188,
      id: -9007199254690749,
      msecs: 5000,
      priorityQueuePosition: 1
    },
    _idleStart: 19299043,
    _onTimeout: [Function: bound ],
    _timerArgs: undefined,
    _repeat: null,
    _destroyed: false,
    [Symbol(refed)]: false,
    [Symbol(kHasPrimitive)]: false,
    [Symbol(asyncId)]: 1643290,
    [Symbol(triggerId)]: 1643288
  },
  [Symbol(kBuffer)]: null,
  [Symbol(kBufferCb)]: null,
  [Symbol(kBufferGen)]: null,
  [Symbol(kCapture)]: false,
  [Symbol(kSetNoDelay)]: true,
  [Symbol(kSetKeepAlive)]: true,
  [Symbol(kSetKeepAliveInitialDelay)]: 1,
  [Symbol(kBytesRead)]: 0,
  [Symbol(kBytesWritten)]: 0
},
[Symbol(kOutHeaders)]: [Object: null prototype] {
  accept: [ 'Accept', 'application/json, text/plain, */*' ],
  'content-type': [
    'Content-Type',
    'multipart/form-data; boundary=--------------------------021651844378398580960649'
  ],
  'x-api-key': [ 'x-api-key', 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA' ],
  'user-agent': [ 'User-Agent', 'axios/1.6.7' ],
  'content-length': [ 'Content-Length', '32660' ],
  'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ],
  host: [ 'Host', 'localhost:2283' ]
},
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null

}, response: { status: 500, statusText: 'Internal Server Error', headers: Object [AxiosHeaders] { 'x-powered-by': 'Express', 'content-type': 'application/json; charset=utf-8', 'content-length': '84', etag: '"54-sQojqNZnpXrSuerOtcfoJmKKJXs"', date: 'Sun, 10 Mar 2024 14:57:14 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=5' }, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: Infinity, maxBodyLength: Infinity, env: { FormData: [Function: FormData] { LINE_BREAK: '\r\n', DEFAULT_CONTENT_TYPE: 'application/octet-stream' }, Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: Object [AxiosHeaders] { Accept: 'application/json, text/plain, /', 'Content-Type': 'multipart/form-data; boundary=--------------------------021651844378398580960649', 'x-api-key': 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA', 'User-Agent': 'axios/1.6.7', 'Content-Length': '32660', 'Accept-Encoding': 'gzip, compress, deflate, br' }, method: 'post', maxRedirects: 0, url: 'http://localhost:2283/api/asset/upload', data: FormData { _overheadLength: 741, _valueLength: 103, _valuesToMeasure: [ ReadStream { fd: null, path: '/Volumes/abhinav/Photos_1/Immich_1/library/thumbs/9f0e446a-99f8-44b2-bced-c0e13baf0251/2b/a8/2ba808ca-915e-4b1e-9d23-d25e3bda01e5.webp', flags: 'r', mode: 438, start: undefined, end: Infinity, pos: undefined, bytesRead: 31760, _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, emit: [Function (anonymous)],

        [Symbol(kIsPerformingIO)]: false,
        [Symbol(kCapture)]: false
      }
    ],
    writable: false,
    readable: true,
    dataSize: 0,
    maxDataSize: 2097152,
    pauseStreams: true,
    _released: true,
    _streams: [],
    _currentStream: null,
    _insideLoop: false,
    _pendingNext: false,
    _boundary: '--------------------------021651844378398580960649',
    _events: [Object: null prototype] {
      end: [Function (anonymous)],
      error: [Function: bound onceWrapper] {
        listener: [Function (anonymous)]
      },
      close: [Function (anonymous)]
    },
    _eventsCount: 3
  }
},
request: <ref *4> ClientRequest {
  _events: [Object: null prototype] {
    error: [Function: handleRequestError],
    socket: [Function: handleRequestSocket],
    finish: [Function: requestOnFinish]
  },
  _eventsCount: 3,
  _maxListeners: undefined,
  outputData: [],
  outputSize: 0,
  writable: true,
  destroyed: true,
  _last: false,
  chunkedEncoding: false,
  shouldKeepAlive: true,
  maxRequestsOnConnectionReached: false,
  _defaultKeepAlive: true,
  useChunkedEncodingByDefault: true,
  sendDate: false,
  _removedConnection: false,
  _removedContLen: false,
  _removedTE: false,
  strictContentLength: false,
  _contentLength: '32660',
  _hasBody: true,
  _trailer: '',
  finished: true,
  _headerSent: true,
  _closed: true,
  _header: 'POST /api/asset/upload HTTP/1.1\r\n' +
    'Accept: application/json, text/plain, */*\r\n' +
    'Content-Type: multipart/form-data; boundary=--------------------------021651844378398580960649\r\n' +
    'x-api-key: hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA\r\n' +
    'User-Agent: axios/1.6.7\r\n' +
    'Content-Length: 32660\r\n' +
    'Accept-Encoding: gzip, compress, deflate, br\r\n' +
    'Host: localhost:2283\r\n' +
    'Connection: keep-alive\r\n' +
    '\r\n',
  _keepAliveTimeout: 0,
  _onPendingData: [Function: nop],
  agent: Agent {
    _events: [Object: null prototype] {
      free: [Function (anonymous)],
      newListener: [Function: maybeEnableKeylog]
    },
    _eventsCount: 2,
    _maxListeners: undefined,
    defaultPort: 80,
    protocol: 'http:',
    options: [Object: null prototype] {
      keepAlive: true,
      scheduling: 'lifo',
      timeout: 5000,
      noDelay: true,
      path: null
    },
    requests: [Object: null prototype] {},
    sockets: [Object: null prototype] {},
    freeSockets: [Object: null prototype] { 'localhost:2283:': [ [Socket] ] },
    keepAliveMsecs: 1000,
    keepAlive: true,
    maxSockets: Infinity,
    maxFreeSockets: 256,
    scheduling: 'lifo',
    maxTotalSockets: Infinity,
    totalSocketCount: 1,
    [Symbol(kCapture)]: false
  },
  socketPath: undefined,
  method: 'POST',
  maxHeaderSize: undefined,
  insecureHTTPParser: undefined,
  joinDuplicateHeaders: undefined,
  path: '/api/asset/upload',
  _ended: true,
  res: IncomingMessage {
    _readableState: ReadableState {
      highWaterMark: 16384,
      buffer: BufferList { head: null, tail: null, length: 0 },
      length: 0,
      pipes: [],
      awaitDrainWriters: null,
      [Symbol(kState)]: 60225590
    },
    _events: [Object: null prototype] {
      end: [ [Function: responseOnEnd], [Function: handleStreamEnd] ],
      error: [Function: handleStreamError],
      data: [Function: handleStreamData],
      aborted: [Function: handlerStreamAborted]
    },
    _eventsCount: 4,
    _maxListeners: undefined,
    socket: null,
    httpVersionMajor: 1,
    httpVersionMinor: 1,
    httpVersion: '1.1',
    complete: true,
    rawHeaders: [
      'X-Powered-By',
      'Express',
      'Content-Type',
      'application/json; charset=utf-8',
      'Content-Length',
      '84',
      'ETag',
      '"54-sQojqNZnpXrSuerOtcfoJmKKJXs"',
      'Date',
      'Sun, 10 Mar 2024 14:57:14 GMT',
      'Connection',
      'keep-alive',
      'Keep-Alive',
      'timeout=5'
    ],
    rawTrailers: [],
    joinDuplicateHeaders: undefined,
    aborted: false,
    upgrade: false,
    url: '',
    method: null,
    statusCode: 500,
    statusMessage: 'Internal Server Error',
    client: <ref *1> Socket {
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'localhost',
      _closeAfterHandlingError: false,
      _readableState: ReadableState {
        highWaterMark: 16384,
        buffer: [BufferList],
        length: 0,
        pipes: [],
        awaitDrainWriters: null,
        [Symbol(kState)]: 60035160
      },
      _events: [Object: null prototype] {
        end: [Function: onReadableStreamEnd],
        free: [Function: onFree],
        close: [Function: onClose],
        timeout: [Function: onTimeout],
        agentRemove: [Function: onRemove],
        error: [Function]
      },
      _eventsCount: 6,
      _maxListeners: undefined,
      _writableState: WritableState {
        highWaterMark: 16384,
        length: 0,
        corked: 0,
        onwrite: [Function: bound onwrite],
        writelen: 0,
        bufferedIndex: 0,
        pendingcb: 0,
        [Symbol(kState)]: 34340932,
        [Symbol(kBufferedValue)]: null,
        [Symbol(kWriteCbValue)]: [Function (anonymous)],
        [Symbol(kAfterWriteTickInfoValue)]: null
      },
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: null,
      _server: null,
      timeout: 5000,
      parser: null,
      _httpMessage: null,
      autoSelectFamilyAttemptedAddresses: [ '::1:2283' ],
      [Symbol(async_id_symbol)]: -1,
      [Symbol(kHandle)]: <ref *2> TCP {
        reading: true,
        onconnection: null,
        [Symbol(owner_symbol)]: [Circular *1],
        [Symbol(resource_symbol)]: [ReusedHandle]
      },
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: <ref *3> Timeout {
        _idleTimeout: 5000,
        _idlePrev: [TimersList],
        _idleNext: [TimersList],
        _idleStart: 19299043,
        _onTimeout: [Function: bound ],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: false,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 1643290,
        [Symbol(triggerId)]: 1643288
      },
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kSetNoDelay)]: true,
      [Symbol(kSetKeepAlive)]: true,
      [Symbol(kSetKeepAliveInitialDelay)]: 1,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0
    },
    _consuming: false,
    _dumped: false,
    req: [Circular *4],
    [Symbol(kCapture)]: false,
    [Symbol(kHeaders)]: {
      'x-powered-by': 'Express',
      'content-type': 'application/json; charset=utf-8',
      'content-length': '84',
      etag: '"54-sQojqNZnpXrSuerOtcfoJmKKJXs"',
      date: 'Sun, 10 Mar 2024 14:57:14 GMT',
      connection: 'keep-alive',
      'keep-alive': 'timeout=5'
    },
    [Symbol(kHeadersCount)]: 14,
    [Symbol(kTrailers)]: null,
    [Symbol(kTrailersCount)]: 0
  },
  aborted: false,
  timeoutCb: null,
  upgradeOrConnect: false,
  parser: null,
  maxHeadersCount: null,
  reusedSocket: true,
  host: 'localhost',
  protocol: 'http:',
  [Symbol(kCapture)]: false,
  [Symbol(kBytesWritten)]: 0,
  [Symbol(kNeedDrain)]: false,
  [Symbol(corked)]: 0,
  [Symbol(kChunkedBuffer)]: [],
  [Symbol(kChunkedLength)]: 0,
  [Symbol(kSocket)]: <ref *1> Socket {
    connecting: false,
    _hadError: false,
    _parent: null,
    _host: 'localhost',
    _closeAfterHandlingError: false,
    _readableState: ReadableState {
      highWaterMark: 16384,
      buffer: BufferList { head: null, tail: null, length: 0 },
      length: 0,
      pipes: [],
      awaitDrainWriters: null,
      [Symbol(kState)]: 60035160
    },
    _events: [Object: null prototype] {
      end: [Function: onReadableStreamEnd],
      free: [Function: onFree],
      close: [Function: onClose],
      timeout: [Function: onTimeout],
      agentRemove: [Function: onRemove],
      error: [Function: bound onceWrapper] {
        listener: [Function: freeSocketErrorListener]
      }
    },
    _eventsCount: 6,
    _maxListeners: undefined,
    _writableState: WritableState {
      highWaterMark: 16384,
      length: 0,
      corked: 0,
      onwrite: [Function: bound onwrite],
      writelen: 0,
      bufferedIndex: 0,
      pendingcb: 0,
      [Symbol(kState)]: 34340932,
      [Symbol(kBufferedValue)]: null,
      [Symbol(kWriteCbValue)]: [Function (anonymous)],
      [Symbol(kAfterWriteTickInfoValue)]: null
    },
    allowHalfOpen: false,
    _sockname: null,
    _pendingData: null,
    _pendingEncoding: '',
    server: null,
    _server: null,
    timeout: 5000,
    parser: null,
    _httpMessage: null,
    autoSelectFamilyAttemptedAddresses: [ '::1:2283' ],
    [Symbol(async_id_symbol)]: -1,
    [Symbol(kHandle)]: <ref *2> TCP {
      reading: true,
      onconnection: null,
      [Symbol(owner_symbol)]: [Circular *1],
      [Symbol(resource_symbol)]: ReusedHandle { type: 40, handle: [Circular *2] }
    },
    [Symbol(lastWriteQueueSize)]: 0,
    [Symbol(timeout)]: <ref *3> Timeout {
      _idleTimeout: 5000,
      _idlePrev: TimersList {
        _idleNext: [Circular *3],
        _idlePrev: [Circular *3],
        expiry: 19302188,
        id: -9007199254690749,
        msecs: 5000,
        priorityQueuePosition: 1
      },
      _idleNext: TimersList {
        _idleNext: [Circular *3],
        _idlePrev: [Circular *3],
        expiry: 19302188,
        id: -9007199254690749,
        msecs: 5000,
        priorityQueuePosition: 1
      },
      _idleStart: 19299043,
      _onTimeout: [Function: bound ],
      _timerArgs: undefined,
      _repeat: null,
      _destroyed: false,
      [Symbol(refed)]: false,
      [Symbol(kHasPrimitive)]: false,
      [Symbol(asyncId)]: 1643290,
      [Symbol(triggerId)]: 1643288
    },
    [Symbol(kBuffer)]: null,
    [Symbol(kBufferCb)]: null,
    [Symbol(kBufferGen)]: null,
    [Symbol(kCapture)]: false,
    [Symbol(kSetNoDelay)]: true,
    [Symbol(kSetKeepAlive)]: true,
    [Symbol(kSetKeepAliveInitialDelay)]: 1,
    [Symbol(kBytesRead)]: 0,
    [Symbol(kBytesWritten)]: 0
  },
  [Symbol(kOutHeaders)]: [Object: null prototype] {
    accept: [ 'Accept', 'application/json, text/plain, */*' ],
    'content-type': [
      'Content-Type',
      'multipart/form-data; boundary=--------------------------021651844378398580960649'
    ],
    'x-api-key': [ 'x-api-key', 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA' ],
    'user-agent': [ 'User-Agent', 'axios/1.6.7' ],
    'content-length': [ 'Content-Length', '32660' ],
    'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ],
    host: [ 'Host', 'localhost:2283' ]
  },
  [Symbol(errored)]: null,
  [Symbol(kHighWaterMark)]: 16384,
  [Symbol(kRejectNonStandardBodyWrites)]: false,
  [Symbol(kUniqueHeaders)]: null
},
data: {
  message: 'Failed to upload file',
  error: 'Internal Server Error',
  statusCode: 500
}

} }


2) Issue 2 Logs:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 0% | ETA: 12h60m | 4.3 GB/627.0 GB: /Volumes/abhinav/Photos_1/Immich_1/library/thumbs/9f0e446a-99f8-44b2-bced-c0e13baf0251/2170cf54-f1fc-

node:internal/process/promises:289 triggerUncaughtException(err, true / fromPromise /); ^ AxiosError: socket hang up at AxiosError.from (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:837:14) at RedirectableRequest.handleRequestError (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3087:25) at RedirectableRequest.emit (node:events:515:28) at eventHandlers. (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/follow-redirects/index.js:38:24) at ClientRequest.emit (node:events:515:28) at Socket.socketOnEnd (node:_http_client:519:9) at Socket.emit (node:events:527:35) at endReadableNT (node:internal/streams/readable:1589:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) at Axios.request (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3877:41) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Upload.run (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/commands/upload.js:65:43) at async Command. (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/index.js:43:5) { code: 'ECONNRESET', config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function: FormData] { LINE_BREAK: '\r\n', DEFAULT_CONTENT_TYPE: 'application/octet-stream' }, Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: Object [AxiosHeaders] { Accept: 'application/json, text/plain, /', 'Content-Type': 'application/json', 'x-api-key': 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA', 'User-Agent': 'axios/1.6.7', 'Content-Length': '204', 'Accept-Encoding': 'gzip, compress, deflate, br' }, method: 'post', data: '{"assets":[{"id":"/Volumes/abhinav/Photos_1/Immich_1/library/thumbs/9f0e446a-99f8-44b2-bced-c0e13baf0251/2170cf54-f1fc-4cd3-ae96-545a32cfd6fa.jpeg","checksum":"746aef08137c4d1ff46ce12eb8d2ae998460aa1d"}]}', url: 'http://localhost:2283/api/asset/bulk-upload-check' }, request: <ref *1> Writable { _writableState: WritableState { highWaterMark: 16384, length: 0, corked: 0, onwrite: [Function: bound onwrite], writelen: 0, bufferedIndex: 0, pendingcb: 0,

  [Symbol(kBufferedValue)]: null
},
_events: [Object: null prototype] {
  response: [Function: handleResponse],
  error: [Function: handleRequestError],
  socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
  maxRedirects: 21,
  maxBodyLength: Infinity,
  protocol: 'http:',
  path: '/api/asset/bulk-upload-check',
  method: 'POST',
  headers: [Object: null prototype] {
    Accept: 'application/json, text/plain, */*',
    'Content-Type': 'application/json',
    'x-api-key': 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA',
    'User-Agent': 'axios/1.6.7',
    'Content-Length': '204',
    'Accept-Encoding': 'gzip, compress, deflate, br'
  },
  agents: { http: undefined, https: undefined },
  auth: undefined,
  family: undefined,
  beforeRedirect: [Function: dispatchBeforeRedirect],
  beforeRedirects: { proxy: [Function: beforeRedirect] },
  hostname: 'localhost',
  port: '2283',
  agent: undefined,
  nativeProtocols: {
    'http:': {
      _connectionListener: [Function: connectionListener],
      METHODS: [
        'ACL',         'BIND',       'CHECKOUT',
        'CONNECT',     'COPY',       'DELETE',
        'GET',         'HEAD',       'LINK',
        'LOCK',        'M-SEARCH',   'MERGE',
        'MKACTIVITY',  'MKCALENDAR', 'MKCOL',
        'MOVE',        'NOTIFY',     'OPTIONS',
        'PATCH',       'POST',       'PROPFIND',
        'PROPPATCH',   'PURGE',      'PUT',
        'REBIND',      'REPORT',     'SEARCH',
        'SOURCE',      'SUBSCRIBE',  'TRACE',
        'UNBIND',      'UNLINK',     'UNLOCK',
        'UNSUBSCRIBE'
      ],
      STATUS_CODES: {
        '100': 'Continue',
        '101': 'Switching Protocols',
        '102': 'Processing',
        '103': 'Early Hints',
        '200': 'OK',
        '201': 'Created',
        '202': 'Accepted',
        '203': 'Non-Authoritative Information',
        '204': 'No Content',
        '205': 'Reset Content',
        '206': 'Partial Content',
        '207': 'Multi-Status',
        '208': 'Already Reported',
        '226': 'IM Used',
        '300': 'Multiple Choices',
        '301': 'Moved Permanently',
        '302': 'Found',
        '303': 'See Other',
        '304': 'Not Modified',
        '305': 'Use Proxy',
        '307': 'Temporary Redirect',
        '308': 'Permanent Redirect',
        '400': 'Bad Request',
        '401': 'Unauthorized',
        '402': 'Payment Required',
        '403': 'Forbidden',
        '404': 'Not Found',
        '405': 'Method Not Allowed',
        '406': 'Not Acceptable',
        '407': 'Proxy Authentication Required',
        '408': 'Request Timeout',
        '409': 'Conflict',
        '410': 'Gone',
        '411': 'Length Required',
        '412': 'Precondition Failed',
        '413': 'Payload Too Large',
        '414': 'URI Too Long',
        '415': 'Unsupported Media Type',
        '416': 'Range Not Satisfiable',
        '417': 'Expectation Failed',
        '418': "I'm a Teapot",
        '421': 'Misdirected Request',
        '422': 'Unprocessable Entity',
        '423': 'Locked',
        '424': 'Failed Dependency',
        '425': 'Too Early',
        '426': 'Upgrade Required',
        '428': 'Precondition Required',
        '429': 'Too Many Requests',
        '431': 'Request Header Fields Too Large',
        '451': 'Unavailable For Legal Reasons',
        '500': 'Internal Server Error',
        '501': 'Not Implemented',
        '502': 'Bad Gateway',
        '503': 'Service Unavailable',
        '504': 'Gateway Timeout',
        '505': 'HTTP Version Not Supported',
        '506': 'Variant Also Negotiates',
        '507': 'Insufficient Storage',
        '508': 'Loop Detected',
        '509': 'Bandwidth Limit Exceeded',
        '510': 'Not Extended',
        '511': 'Network Authentication Required'
      },
      Agent: [Function: Agent] { defaultMaxSockets: Infinity },
      ClientRequest: [Function: ClientRequest],
      IncomingMessage: [Function: IncomingMessage],
      OutgoingMessage: [Function: OutgoingMessage],
      Server: [Function: Server],
      ServerResponse: [Function: ServerResponse],
      createServer: [Function: createServer],
      validateHeaderName: [Function: __node_internal_],
      validateHeaderValue: [Function: __node_internal_],
      get: [Function: get],
      request: [Function: request],
      setMaxIdleHTTPParsers: [Function: setMaxIdleHTTPParsers],
      maxHeaderSize: [Getter],
      globalAgent: [Getter/Setter]
    },
    'https:': {
      Agent: [Function: Agent],
      globalAgent: Agent {
        _events: [Object: null prototype],
        _eventsCount: 2,
        _maxListeners: undefined,
        defaultPort: 443,
        protocol: 'https:',
        options: [Object: null prototype],
        requests: [Object: null prototype] {},
        sockets: [Object: null prototype] {},
        freeSockets: [Object: null prototype] {},
        keepAliveMsecs: 1000,
        keepAlive: true,
        maxSockets: Infinity,
        maxFreeSockets: 256,
        scheduling: 'lifo',
        maxTotalSockets: Infinity,
        totalSocketCount: 0,
        maxCachedSessions: 100,
        _sessionCache: [Object],
        [Symbol(kCapture)]: false
      },
      Server: [Function: Server],
      createServer: [Function: createServer],
      get: [Function: get],
      request: [Function: request]
    }
  },
  pathname: '/api/asset/bulk-upload-check'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 204,
_requestBodyBuffers: [
  {
    data: Buffer(204) [Uint8Array] [
      123,  34,  97, 115, 115, 101, 116, 115,  34,  58,  91, 123,
       34, 105, 100,  34,  58,  34,  47,  86, 111, 108, 117, 109,
      101, 115,  47,  97,  98, 104, 105, 110,  97, 118,  47,  80,
      104, 111, 116, 111, 115,  95,  49,  47,  73, 109, 109, 105,
       99, 104,  95,  49,  47, 108, 105,  98, 114,  97, 114, 121,
       47, 116, 104, 117, 109,  98, 115,  47,  57, 102,  48, 101,
       52,  52,  54,  97,  45,  57,  57, 102,  56,  45,  52,  52,
       98,  50,  45,  98,  99, 101, 100,  45,  99,  48, 101,  49,
       51,  98,  97, 102,
      ... 104 more items
    ],
    encoding: undefined
  }
],
_onNativeResponse: [Function (anonymous)],
_currentRequest: <ref *2> ClientRequest {
  _events: [Object: null prototype] {
    response: [Function: bound onceWrapper] {
      listener: [Function (anonymous)]
    },
    abort: [Function (anonymous)],
    aborted: [Function (anonymous)],
    connect: [Function (anonymous)],
    error: [Function (anonymous)],
    socket: [Function (anonymous)],
    timeout: [Function (anonymous)]
  },
  _eventsCount: 7,
  _maxListeners: undefined,
  outputData: [],
  outputSize: 0,
  writable: true,
  destroyed: false,
  _last: false,
  chunkedEncoding: false,
  shouldKeepAlive: true,
  maxRequestsOnConnectionReached: false,
  _defaultKeepAlive: true,
  useChunkedEncodingByDefault: true,
  sendDate: false,
  _removedConnection: false,
  _removedContLen: false,
  _removedTE: false,
  strictContentLength: false,
  _contentLength: '204',
  _hasBody: true,
  _trailer: '',
  finished: true,
  _headerSent: true,
  _closed: false,
  _header: 'POST /api/asset/bulk-upload-check HTTP/1.1\r\n' +
    'Accept: application/json, text/plain, */*\r\n' +
    'Content-Type: application/json\r\n' +
    'x-api-key: hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA\r\n' +
    'User-Agent: axios/1.6.7\r\n' +
    'Content-Length: 204\r\n' +
    'Accept-Encoding: gzip, compress, deflate, br\r\n' +
    'Host: localhost:2283\r\n' +
    'Connection: keep-alive\r\n' +
    '\r\n',
  _keepAliveTimeout: 0,
  _onPendingData: [Function: nop],
  agent: Agent {
    _events: [Object: null prototype] {
      free: [Function (anonymous)],
      newListener: [Function: maybeEnableKeylog]
    },
    _eventsCount: 2,
    _maxListeners: undefined,
    defaultPort: 80,
    protocol: 'http:',
    options: [Object: null prototype] {
      keepAlive: true,
      scheduling: 'lifo',
      timeout: 5000,
      noDelay: true,
      path: null
    },
    requests: [Object: null prototype] {},
    sockets: [Object: null prototype] { 'localhost:2283:': [ [Socket] ] },
    freeSockets: [Object: null prototype] {},
    keepAliveMsecs: 1000,
    keepAlive: true,
    maxSockets: Infinity,
    maxFreeSockets: 256,
    scheduling: 'lifo',
    maxTotalSockets: Infinity,
    totalSocketCount: 1,
    [Symbol(kCapture)]: false
  },
  socketPath: undefined,
  method: 'POST',
  maxHeaderSize: undefined,
  insecureHTTPParser: undefined,
  joinDuplicateHeaders: undefined,
  path: '/api/asset/bulk-upload-check',
  _ended: false,
  res: null,
  aborted: false,
  timeoutCb: [Function: emitRequestTimeout],
  upgradeOrConnect: false,
  parser: null,
  maxHeadersCount: null,
  reusedSocket: true,
  host: 'localhost',
  protocol: 'http:',
  _redirectable: [Circular *1],
  [Symbol(kCapture)]: false,
  [Symbol(kBytesWritten)]: 0,
  [Symbol(kNeedDrain)]: false,
  [Symbol(corked)]: 0,
  [Symbol(kChunkedBuffer)]: [],
  [Symbol(kChunkedLength)]: 0,
  [Symbol(kSocket)]: Socket {
    connecting: false,
    _hadError: true,
    _parent: null,
    _host: 'localhost',
    _closeAfterHandlingError: false,
    _readableState: ReadableState {
      highWaterMark: 16384,
      buffer: BufferList { head: null, tail: null, length: 0 },
      length: 0,
      pipes: [],
      awaitDrainWriters: null,
      [Symbol(kState)]: 60092438
    },
    _events: [Object: null prototype] {
      end: [ [Function: onReadableStreamEnd], [Function: socketOnEnd] ],
      free: [Function: onFree],
      close: [ [Function: onClose], [Function: socketCloseListener] ],
      timeout: [ [Function: onTimeout], [Function] ],
      agentRemove: [Function: onRemove],
      error: [Function: socketErrorListener],
      data: [Function: socketOnData],
      drain: [Function: ondrain]
    },
    _eventsCount: 8,
    _maxListeners: undefined,
    _writableState: WritableState {
      highWaterMark: 16384,
      length: 0,
      corked: 0,
      onwrite: [Function: bound onwrite],
      writelen: 0,
      bufferedIndex: 0,
      pendingcb: 0,
      [Symbol(kState)]: 34341828,
      [Symbol(kBufferedValue)]: null,
      [Symbol(kWriteCbValue)]: [Function (anonymous)],
      [Symbol(kAfterWriteTickInfoValue)]: null
    },
    allowHalfOpen: false,
    _sockname: null,
    _pendingData: null,
    _pendingEncoding: '',
    server: null,
    _server: null,
    timeout: 5000,
    parser: null,
    _httpMessage: [Circular *2],
    autoSelectFamilyAttemptedAddresses: [ '::1:2283' ],
    write: [Function: writeAfterFIN],
    [Symbol(async_id_symbol)]: 980493,
    [Symbol(kHandle)]: null,
    [Symbol(lastWriteQueueSize)]: 0,
    [Symbol(timeout)]: Timeout {
      _idleTimeout: -1,
      _idlePrev: null,
      _idleNext: null,
      _idleStart: 22670145,
      _onTimeout: null,
      _timerArgs: undefined,
      _repeat: null,
      _destroyed: true,
      [Symbol(refed)]: false,
      [Symbol(kHasPrimitive)]: false,
      [Symbol(asyncId)]: 980442,
      [Symbol(triggerId)]: 980440
    },
    [Symbol(kBuffer)]: null,
    [Symbol(kBufferCb)]: null,
    [Symbol(kBufferGen)]: null,
    [Symbol(kCapture)]: false,
    [Symbol(kSetNoDelay)]: true,
    [Symbol(kSetKeepAlive)]: true,
    [Symbol(kSetKeepAliveInitialDelay)]: 60,
    [Symbol(kBytesRead)]: 2939264,
    [Symbol(kBytesWritten)]: 3205520
  },
  [Symbol(kOutHeaders)]: [Object: null prototype] {
    accept: [ 'Accept', 'application/json, text/plain, */*' ],
    'content-type': [ 'Content-Type', 'application/json' ],
    'x-api-key': [ 'x-api-key', 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA' ],
    'user-agent': [ 'User-Agent', 'axios/1.6.7' ],
    'content-length': [ 'Content-Length', '204' ],
    'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ],
    host: [ 'Host', 'localhost:2283' ]
  },
  [Symbol(errored)]: null,
  [Symbol(kHighWaterMark)]: 16384,
  [Symbol(kRejectNonStandardBodyWrites)]: false,
  [Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://localhost:2283/api/asset/bulk-upload-check',
[Symbol(kCapture)]: false

}, cause: Error: socket hang up at connResetException (node:internal/errors:787:14) at Socket.socketOnEnd (node:_http_client:519:23) at Socket.emit (node:events:527:35) at endReadableNT (node:internal/streams/readable:1589:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { code: 'ECONNRESET' } }

AbNiks commented 5 months ago

Stating log for issue 3 here due to character limitation:

Issue 3 Logs:- nitikaagarwal@Nitikas-MBP 2023 % immich upload --recursive --delete 01 █████████████████████░░░░░░░░░░░░░░░░░░░ | 53% | ETA: 3h35m | 11.9 GB/22.3 GB: /Volumes/abhinav/PhotoPrism/originals/2023/01/20230125_090450_BC1C9746.mp4

node:internal/process/promises:289 triggerUncaughtException(err, true / fromPromise /); ^ AxiosError: EBADF: bad file descriptor, close at AxiosError.from (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:837:14) at ClientRequest.handleRequestError (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3087:25) at ClientRequest.emit (node:events:515:28) at Socket.socketErrorListener (node:_http_client:495:9) at Socket.emit (node:events:515:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) at Axios.request (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/node_modules/axios/dist/node/axios.cjs:3877:41) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Upload.uploadAsset (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/commands/upload.js:155:21) at async Upload.run (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/commands/upload.js:79:41) at async Command. (/Users/nitikaagarwal/.nvm/versions/node/v21.1.0/lib/node_modules/@immich/cli/dist/src/index.js:43:5) { syscall: 'close', code: 'EBADF', errno: -9, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: Infinity, maxBodyLength: Infinity, env: { FormData: [Function: FormData] { LINE_BREAK: '\r\n', DEFAULT_CONTENT_TYPE: 'application/octet-stream' }, Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: Object [AxiosHeaders] { Accept: 'application/json, text/plain, /', 'Content-Type': 'multipart/form-data; boundary=--------------------------062416673896096442523079', 'x-api-key': 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA', 'User-Agent': 'axios/1.6.7', 'Content-Length': '258684777', 'Accept-Encoding': 'gzip, compress, deflate, br' }, method: 'post', maxRedirects: 0, url: 'http://localhost:2283/api/asset/upload', data: FormData { _overheadLength: 727, _valueLength: 94, _valuesToMeasure: [ ReadStream { fd: null, path: '/Volumes/abhinav/PhotoPrism/originals/2023/01/20230125_090450_BC1C9746.mp4', flags: 'r', mode: 438, start: undefined, end: Infinity, pos: undefined, bytesRead: 258683900, _readableState: ReadableState { highWaterMark: 65536, buffer: [BufferList], length: 0, pipes: [], awaitDrainWriters: null,

        [Symbol(kErroredValue)]: [Error]
      },
      _events: [Object: null prototype] {
        error: [Function (anonymous)],
        data: [Function: bound ]
      },
      _eventsCount: 2,
      _maxListeners: undefined,
      emit: [Function (anonymous)],
      [Symbol(kFs)]: {
        appendFile: [Function: appendFile],
        appendFileSync: [Function: appendFileSync],
        access: [Function: access],
        accessSync: [Function: accessSync],
        chown: [Function: chown],
        chownSync: [Function: chownSync],
        chmod: [Function: chmod],
        chmodSync: [Function: chmodSync],
        close: [Function: close],
        closeSync: [Function: closeSync],
        copyFile: [Function: copyFile],
        copyFileSync: [Function: copyFileSync],
        cp: [Function: cp],
        cpSync: [Function: cpSync],
        createReadStream: [Function: createReadStream],
        createWriteStream: [Function: createWriteStream],
        exists: [Function: exists],
        existsSync: [Function: existsSync],
        fchown: [Function: fchown],
        fchownSync: [Function: fchownSync],
        fchmod: [Function: fchmod],
        fchmodSync: [Function: fchmodSync],
        fdatasync: [Function: fdatasync],
        fdatasyncSync: [Function: fdatasyncSync],
        fstat: [Function: fstat],
        fstatSync: [Function: fstatSync],
        fsync: [Function: fsync],
        fsyncSync: [Function: fsyncSync],
        ftruncate: [Function: ftruncate],
        ftruncateSync: [Function: ftruncateSync],
        futimes: [Function: futimes],
        futimesSync: [Function: futimesSync],
        lchown: [Function: lchown],
        lchownSync: [Function: lchownSync],
        lchmod: [Function: lchmod],
        lchmodSync: [Function: lchmodSync],
        link: [Function: link],
        linkSync: [Function: linkSync],
        lstat: [Function: lstat],
        lstatSync: [Function: lstatSync],
        lutimes: [Function: lutimes],
        lutimesSync: [Function: lutimesSync],
        mkdir: [Function: mkdir],
        mkdirSync: [Function: mkdirSync],
        mkdtemp: [Function: mkdtemp],
        mkdtempSync: [Function: mkdtempSync],
        open: [Function: open],
        openSync: [Function: openSync],
        openAsBlob: [Function: openAsBlob],
        readdir: [Function: readdir],
        readdirSync: [Function: readdirSync],
        read: [Function: read],
        readSync: [Function: readSync],
        readv: [Function: readv],
        readvSync: [Function: readvSync],
        readFile: [Function: readFile],
        readFileSync: [Function: readFileSync],
        readlink: [Function: readlink],
        readlinkSync: [Function: readlinkSync],
        realpath: [Function],
        realpathSync: [Function],
        rename: [Function: rename],
        renameSync: [Function: renameSync],
        rm: [Function: rm],
        rmSync: [Function: rmSync],
        rmdir: [Function: rmdir],
        rmdirSync: [Function: rmdirSync],
        stat: [Function: stat],
        statfs: [Function: statfs],
        statSync: [Function: statSync],
        statfsSync: [Function: statfsSync],
        symlink: [Function: symlink],
        symlinkSync: [Function: symlinkSync],
        truncate: [Function: truncate],
        truncateSync: [Function: truncateSync],
        unwatchFile: [Function: unwatchFile],
        unlink: [Function: unlink],
        unlinkSync: [Function: unlinkSync],
        utimes: [Function: utimes],
        utimesSync: [Function: utimesSync],
        watch: [Function: watch],
        watchFile: [Function: watchFile],
        writeFile: [Function: writeFile],
        writeFileSync: [Function: writeFileSync],
        write: [Function: write],
        writeSync: [Function: writeSync],
        writev: [Function: writev],
        writevSync: [Function: writevSync],
        Dirent: [class Dirent],
        Stats: [Function: Stats],
        ReadStream: [Getter/Setter],
        WriteStream: [Getter/Setter],
        FileReadStream: [Getter/Setter],
        FileWriteStream: [Getter/Setter],
        _toUnixTimestamp: [Function: toUnixTimestamp],
        Dir: [class Dir],
        opendir: [Function: opendir],
        opendirSync: [Function: opendirSync],
        F_OK: 0,
        R_OK: 4,
        W_OK: 2,
        X_OK: 1,
        constants: [Object: null prototype],
        promises: [Getter]
      },
      [Symbol(kIsPerformingIO)]: false,
      [Symbol(kCapture)]: false
    }
  ],
  writable: false,
  readable: true,
  dataSize: 0,
  maxDataSize: 2097152,
  pauseStreams: true,
  _released: true,
  _streams: [],
  _currentStream: null,
  _insideLoop: false,
  _pendingNext: false,
  _boundary: '--------------------------062416673896096442523079',
  _events: [Object: null prototype] {
    end: [Function (anonymous)],
    close: [Function (anonymous)]
  },
  _eventsCount: 2
}

}, request: <ref 1> ClientRequest { _events: [Object: null prototype] { response: [Function: bound onceWrapper] { listener: [Function: handleResponse] }, error: [Function: handleRequestError], socket: [Function: handleRequestSocket] }, _eventsCount: 3, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: '258684777', _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, _header: 'POST /api/asset/upload HTTP/1.1\r\n' + 'Accept: application/json, text/plain, /\r\n' + 'Content-Type: multipart/form-data; boundary=--------------------------062416673896096442523079\r\n' + 'x-api-key: hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA\r\n' + 'User-Agent: axios/1.6.7\r\n' + 'Content-Length: 258684777\r\n' + 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'Host: localhost:2283\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype] { free: [Function (anonymous)], newListener: [Function: maybeEnableKeylog] }, _eventsCount: 2, _maxListeners: undefined, defaultPort: 80, protocol: 'http:', options: [Object: null prototype] { keepAlive: true, scheduling: 'lifo', timeout: 5000, noDelay: true, path: null }, requests: [Object: null prototype] {}, sockets: [Object: null prototype] { 'localhost:2283:': [ Socket { connecting: false, _hadError: true, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: null, _server: null, timeout: 5000, parser: null, _httpMessage: [Circular 1], autoSelectFamilyAttemptedAddresses: [Array],

        [Symbol(kHandle)]: null,
        [Symbol(lastWriteQueueSize)]: 0,
        [Symbol(timeout)]: [Timeout],
        [Symbol(kBuffer)]: null,
        [Symbol(kBufferCb)]: null,
        [Symbol(kBufferGen)]: null,
        [Symbol(kCapture)]: false,
        [Symbol(kSetNoDelay)]: true,
        [Symbol(kSetKeepAlive)]: true,
        [Symbol(kSetKeepAliveInitialDelay)]: 60,
        [Symbol(kBytesRead)]: 349,
        [Symbol(kBytesWritten)]: 258685610
      }
    ]
  },
  freeSockets: [Object: null prototype] {},
  keepAliveMsecs: 1000,
  keepAlive: true,
  maxSockets: Infinity,
  maxFreeSockets: 256,
  scheduling: 'lifo',
  maxTotalSockets: Infinity,
  totalSocketCount: 1,
  [Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/api/asset/upload',
_ended: false,
res: null,
aborted: false,
timeoutCb: [Function: emitRequestTimeout],
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: true,
host: 'localhost',
protocol: 'http:',
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kChunkedBuffer)]: [],
[Symbol(kChunkedLength)]: 0,
[Symbol(kSocket)]: Socket {
  connecting: false,
  _hadError: true,
  _parent: null,
  _host: 'localhost',
  _closeAfterHandlingError: false,
  _readableState: ReadableState {
    highWaterMark: 16384,
    buffer: BufferList { head: null, tail: null, length: 0 },
    length: 0,
    pipes: [],
    awaitDrainWriters: null,
    [Symbol(kState)]: 60617816,
    [Symbol(kErroredValue)]: [Error: EBADF: bad file descriptor, close] {
      errno: -9,
      code: 'EBADF',
      syscall: 'close'
    }
  },
  _events: [Object: null prototype] {
    end: [Function: onReadableStreamEnd],
    free: [Function: onFree],
    close: [ [Function: onClose], [Function: socketCloseListener] ],
    timeout: [Function: onTimeout],
    agentRemove: [Function: onRemove],
    error: [Function: socketErrorListener],
    drain: [Function: ondrain]
  },
  _eventsCount: 7,
  _maxListeners: undefined,
  _writableState: WritableState {
    highWaterMark: 16384,
    length: 0,
    corked: 0,
    onwrite: [Function: bound onwrite],
    writelen: 0,
    bufferedIndex: 0,
    pendingcb: 0,
    [Symbol(kState)]: 36438996,
    [Symbol(kBufferedValue)]: null,
    [Symbol(kWriteCbValue)]: [Function (anonymous)],
    [Symbol(kAfterWriteTickInfoValue)]: null,
    [Symbol(kErroredValue)]: [Error: EBADF: bad file descriptor, close] {
      errno: -9,
      code: 'EBADF',
      syscall: 'close'
    }
  },
  allowHalfOpen: false,
  _sockname: null,
  _pendingData: null,
  _pendingEncoding: '',
  server: null,
  _server: null,
  timeout: 5000,
  parser: null,
  _httpMessage: [Circular *1],
  autoSelectFamilyAttemptedAddresses: [ '::1:2283' ],
  [Symbol(async_id_symbol)]: 1389824,
  [Symbol(kHandle)]: null,
  [Symbol(lastWriteQueueSize)]: 0,
  [Symbol(timeout)]: Timeout {
    _idleTimeout: -1,
    _idlePrev: null,
    _idleNext: null,
    _idleStart: 12935134,
    _onTimeout: null,
    _timerArgs: undefined,
    _repeat: null,
    _destroyed: true,
    [Symbol(refed)]: false,
    [Symbol(kHasPrimitive)]: false,
    [Symbol(asyncId)]: 1411342,
    [Symbol(triggerId)]: 1411340
  },
  [Symbol(kBuffer)]: null,
  [Symbol(kBufferCb)]: null,
  [Symbol(kBufferGen)]: null,
  [Symbol(kCapture)]: false,
  [Symbol(kSetNoDelay)]: true,
  [Symbol(kSetKeepAlive)]: true,
  [Symbol(kSetKeepAliveInitialDelay)]: 60,
  [Symbol(kBytesRead)]: 349,
  [Symbol(kBytesWritten)]: 258685610
},
[Symbol(kOutHeaders)]: [Object: null prototype] {
  accept: [ 'Accept', 'application/json, text/plain, */*' ],
  'content-type': [
    'Content-Type',
    'multipart/form-data; boundary=--------------------------062416673896096442523079'
  ],
  'x-api-key': [ 'x-api-key', 'hhFt9xANBIeyL9QVurHiGJowcfD1FmsWFpA23OqA' ],
  'user-agent': [ 'User-Agent', 'axios/1.6.7' ],
  'content-length': [ 'Content-Length', '258684777' ],
  'accept-encoding': [ 'Accept-Encoding', 'gzip, compress, deflate, br' ],
  host: [ 'Host', 'localhost:2283' ]
},
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null,
[Symbol(kError)]: [Error: EBADF: bad file descriptor, close] {
  errno: -9,
  code: 'EBADF',
  syscall: 'close'
}

}, cause: [Error: EBADF: bad file descriptor, close] { errno: -9, code: 'EBADF', syscall: 'close' } }

bo0tzz commented 5 months ago

This mostly seems to indicate server-side problems. Can you post the matching logs from immich-server? Also, please use code formatting to make the logs more readable.

pkking commented 5 months ago

Meet the same issue, upload failed with:

root@openmediavault:# immich upload --recursive .
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 0% | ETA: 0s | 0/740.6 MB: /srv/dev-disk-by-uuid-3e3a920e-9cb9-4cc6-9c7b-722002224697/pho
file:///root/.nvm/versions/node/v20.11.1/lib/node_modules/@immich/cli/dist/index.js:9775
    throw new ResponseError(response, "Response returned an error code");
          ^

ResponseError: Response returned an error code
    at AssetApi.request (file:///root/.nvm/versions/node/v20.11.1/lib/node_modules/@immich/cli/dist/index.js:9775:11)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async AssetApi.uploadFileRaw (file:///root/.nvm/versions/node/v20.11.1/lib/node_modules/@immich/cli/dist/index.js:13469:22)
    at async AssetApi.uploadFile (file:///root/.nvm/versions/node/v20.11.1/lib/node_modules/@immich/cli/dist/index.js:13481:22)
    at async UploadCommand.run (file:///root/.nvm/versions/node/v20.11.1/lib/node_modules/@immich/cli/dist/index.js:22389:30)
    at async Command.<anonymous> (file:///root/.nvm/versions/node/v20.11.1/lib/node_modules/@immich/cli/dist/index.js:22454:3) {
  response: Response {
    [Symbol(realm)]: null,
    [Symbol(state)]: {
      aborted: false,
      rangeRequested: false,
      timingAllowPassed: true,
      requestIncludesCredentials: true,
      type: 'default',
      status: 400,
      timingInfo: {
        startTime: 2634.559496,
        redirectStartTime: 0,
        redirectEndTime: 0,
        postRedirectStartTime: 2634.559496,
        finalServiceWorkerStartTime: 0,
        finalNetworkResponseStartTime: 0,
        finalNetworkRequestStartTime: 0,
        endTime: 0,
        encodedBodySize: 88,
        decodedBodySize: 88,
        finalConnectionTimingInfo: null
      },
      cacheState: '',
      statusText: 'Bad Request',
      headersList: HeadersList {
        cookies: null,
        [Symbol(headers map)]: Map(7) {
          'x-powered-by' => { name: 'X-Powered-By', value: 'Express' },
          'content-type' => {
            name: 'Content-Type',
            value: 'application/json; charset=utf-8'
          },
          'content-length' => { name: 'Content-Length', value: '88' },
          'etag' => { name: 'ETag', value: '"58-5QQXk1t2mYvr0HnfqRVVS1X3EY8"' },
          'date' => { name: 'Date', value: 'Mon, 11 Mar 2024 15:47:25 GMT' },
          'connection' => { name: 'Connection', value: 'keep-alive' },
          'keep-alive' => { name: 'Keep-Alive', value: 'timeout=5' }
        },
        [Symbol(headers map sorted)]: null
      },
      urlList: [ URL {} ],
      body: {
        stream: ReadableStream {
          [Symbol(kType)]: 'ReadableStream',
          [Symbol(kState)]: {
            disturbed: false,
            reader: undefined,
            state: 'readable',
            storedError: undefined,
            stream: undefined,
            transfer: [Object],
            controller: [ReadableStreamDefaultController]
          },
          [Symbol(nodejs.webstream.isClosedPromise)]: {
            promise: [Promise],
            resolve: [Function (anonymous)],
            reject: [Function (anonymous)]
          },
          [Symbol(nodejs.webstream.controllerErrorFunction)]: [Function: bound error]
        }
      }
    },
    [Symbol(headers)]: Headers {
      [Symbol(headers list)]: HeadersList {
        cookies: null,
        [Symbol(headers map)]: Map(7) {
          'x-powered-by' => { name: 'X-Powered-By', value: 'Express' },
          'content-type' => {
            name: 'Content-Type',
            value: 'application/json; charset=utf-8'
          },
          'content-length' => { name: 'Content-Length', value: '88' },
          'etag' => { name: 'ETag', value: '"58-5QQXk1t2mYvr0HnfqRVVS1X3EY8"' },
          'date' => { name: 'Date', value: 'Mon, 11 Mar 2024 15:47:25 GMT' },
          'connection' => { name: 'Connection', value: 'keep-alive' },
          'keep-alive' => { name: 'Keep-Alive', value: 'timeout=5' }
        },
        [Symbol(headers map sorted)]: null
      },
      [Symbol(guard)]: 'immutable',
      [Symbol(realm)]: null
    }
  }
}

Node.js v20.11.1

but server/microservices logs nothing even i change the loglevel to verbose

GitHorsting commented 5 months ago

I'm having the same problem. I added the --dry-run variable before, which ran just fine. When I tried to actually upload it spat out a very similar error.

Even when trying to upload a single picture.

B0PE commented 5 months ago

Same problem here. No matter whether it is 1 picture or several.

bo0tzz commented 5 months ago

Can you try with the latest version (2.1.0) of the CLI?

pkking commented 5 months ago

Can you try with the latest version (2.1.0) of the CLI?

Works now with version 2.1.0! Thanks!

# immich upload --recursive .
Crawling for assets...
Checking assets | ████████████████████████████████████████ | 100% | ETA: 0s | 125/125 assets
Uploading assets | ████████████████████████████████████████ | 100% | ETA: 0s | 740.6 MB/740.6 MB
Successfully uploaded 125 assets (740.6 MB)
root@openmediavault:~#
GitHorsting commented 5 months ago

Uploading right now. Looks promising.

GitHorsting commented 5 months ago

It uploaded the pictures successfully. I did use the --album variable and while it did create the albums according to the folder the names, it didn't associate any pictures with them. Now all my albums are empty.

reypm commented 5 months ago

It is still not working for me with 2.1.0:

Crawling for assets...
Checking assets | ████████████████████████████████████████ | 100% | ETA: 0s | 1908/1908 assets
Uploading assets | ████████████████████████████████████████ | 100% | ETA: 0s | 236.2 MB/236.2 MB
Successfully uploaded 2 assets (236.2 MB)
Creating albums | ████████████████████████████████████████ | 100% | ETA: 0s | 1/1 albums
Adding assets to albums | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 0% | ETA: 0s | 0/1908 assets
file:///Users/reypm/.nvm/versions/node/v20.10.0/lib/node_modules/@immich/cli/dist/index.js:9798
  throw new y(e.status, e.data, e.headers);
        ^

y [Error]: Error: 500
    at Object.l [as ok] (file:///Users/reypm/.nvm/versions/node/v20.10.0/lib/node_modules/@immich/cli/dist/index.js:9798:9)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async UploadCommand.updateAlbums (file:///Users/reypm/.nvm/versions/node/v20.10.0/lib/node_modules/@immich/cli/dist/index.js:18394:11)
    at async UploadCommand.run (file:///Users/reypm/.nvm/versions/node/v20.10.0/lib/node_modules/@immich/cli/dist/index.js:18230:56)
    at async Command.<anonymous> (file:///Users/reypm/.nvm/versions/node/v20.10.0/lib/node_modules/@immich/cli/dist/index.js:18501:3) {
  status: 500,
  data: {
    message: 'Failed to add assets to album',
    error: 'Internal Server Error',
    statusCode: 500
  },
  headers: Headers {
    [Symbol(headers list)]: HeadersList {
      cookies: null,
      [Symbol(headers map)]: Map(7) {
        'x-powered-by' => { name: 'X-Powered-By', value: 'Express' },
        'content-type' => {
          name: 'Content-Type',
          value: 'application/json; charset=utf-8'
        },
        'content-length' => { name: 'Content-Length', value: '92' },
        'etag' => { name: 'ETag', value: '"5c-lyaVQAHBg1LfX0s5U5+HqLAWa+A"' },
        'date' => { name: 'Date', value: 'Sat, 16 Mar 2024 10:58:33 GMT' },
        'connection' => { name: 'Connection', value: 'keep-alive' },
        'keep-alive' => { name: 'Keep-Alive', value: 'timeout=5' }
      },
      [Symbol(headers map sorted)]: null
    },
    [Symbol(guard)]: 'immutable',
    [Symbol(realm)]: null
  }
}

Do you think I should do anything extra besides removing the package and installing it back? 🤔

bo0tzz commented 5 months ago

That indicates a serverside error, so it's probably a different issue and would need the server logs to troubleshoot.

reypm commented 5 months ago

@bo0tzz how do I get the server logs to open a new issue? I have logs enabled but not sure how to download them so I can attach it here

bo0tzz commented 5 months ago

https://immich.app/docs/guides/docker-help

lonewolfpk commented 5 months ago

2024-03-15 23:33:14 [Nest] 7 - 03/15/2024, 8:33:14 PM LOG [CommunicationRepository] Initialized websocket server 2024-03-15 23:33:15 [Nest] 7 - 03/15/2024, 8:33:15 PM LOG [SystemConfigService] LogLevel=log (set via system config) 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [AppService] Feature Flags: { 2024-03-15 23:33:16 "smartSearch": true, 2024-03-15 23:33:16 "facialRecognition": true, 2024-03-15 23:33:16 "map": true, 2024-03-15 23:33:16 "reverseGeocoding": true, 2024-03-15 23:33:16 "sidecar": true, 2024-03-15 23:33:16 "search": true, 2024-03-15 23:33:16 "trash": true, 2024-03-15 23:33:16 "oauth": false, 2024-03-15 23:33:16 "oauthAutoLaunch": false, 2024-03-15 23:33:16 "passwordLogin": true, 2024-03-15 23:33:16 "configFile": false 2024-03-15 23:33:16 } 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [NestFactory] Starting Nest application... 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] ConfigModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] InfraModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] DomainModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [InstanceLoader] AppModule dependencies initialized 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] ActivityController {/api/activity}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/activity, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/activity/statistics, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/activity, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/activity/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AssetsController {/api/assets}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/assets, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/upload, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/file/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/thumbnail/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/curated-objects, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/curated-locations, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/search-terms, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/exist, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/bulk-upload-check, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/map-marker, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/memory-lane, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/random, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/device/:deviceId, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/statistics, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/time-buckets, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/time-bucket, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/jobs, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/stack/parent, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/asset/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AppController {/api}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/.well-known/immich, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/custom.css, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AlbumController {/api/album}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/count, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id, PATCH} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id/users, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/album/:id/user/:userId, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] APIKeyController {/api/api-key}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/api-key, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/api-key, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AuditController {/api/audit}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/audit/deletes, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/audit/file-report, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/checksum, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/fix, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] AuthController {/api/auth}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/login, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/devices, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/devices, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/devices/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/validateToken, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/change-password, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/auth/logout, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] DownloadController {/api/download}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/download/info, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/download/archive, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/download/asset/:id, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] FaceController {/api/face}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/face, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/face/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] JobController {/api/jobs}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/jobs, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/jobs/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] LibraryController {/api/library}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id/validate, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id/statistics, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id/scan, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/library/:id/removeOffline, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] OAuthController {/api/oauth}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/oauth/authorize, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/oauth/callback, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/oauth/link, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/oauth/unlink, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] PartnerController {/api/partner}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/partner, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/partner/:id, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/partner/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/partner/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] SearchController {/api/search}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search/metadata, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search/smart, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search/explore, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search/person, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search/places, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/search/suggestions, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] ServerInfoController {/api/server-info}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/ping, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/version, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/features, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/theme, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/config, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/statistics, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/media-types, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/server-info/admin-onboarding, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] SharedLinkController {/api/shared-link}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link/me, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, PATCH} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] SystemConfigController {/api/system-config}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/system-config, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/system-config/defaults, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/system-config, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/system-config/map/style.json, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] TagController {/api/tag}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag/:id, PATCH} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] TrashController {/api/trash}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/trash/empty, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/trash/restore, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/trash/restore/assets, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] UserController {/api/user}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/info/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/me, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/:id, DELETE} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/:id/restore, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/user/profile-image/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RoutesResolver] PersonController {/api/person}: 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id/statistics, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id/thumbnail, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id/assets, GET} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id/reassign, PUT} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [RouterExplorer] Mapped {/api/person/:id/merge, POST} route 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [NestApplication] Nest application successfully started 2024-03-15 23:33:16 [Nest] 7 - 03/15/2024, 8:33:16 PM LOG [ImmichServer] Immich Server is listening on http://[::1]:3001 [v1.98.2] [PRODUCTION] 2024-03-15 23:33:36 [Nest] 7 - 03/15/2024, 8:33:36 PM LOG [CommunicationRepository] Websocket Connect: J_uCDTH4JCu2P9vQAAAB 2024-03-15 23:33:49 [Nest] 7 - 03/15/2024, 8:33:49 PM LOG [SystemConfigService] LogLevel=log (set via system config) 2024-03-16 00:03:16 [Nest] 7 - 03/15/2024, 9:03:16 PM LOG [CommunicationRepository] Websocket Disconnect: J_uCDTH4JCu2P9vQAAAB 2024-03-16 00:03:17 [Nest] 7 - 03/15/2024, 9:03:17 PM LOG [CommunicationRepository] Websocket Connect: 1H8NS3xuHAgDR5LfAAAG 2024-03-16 00:03:28 [Nest] 7 - 03/15/2024, 9:03:28 PM LOG [CommunicationRepository] Websocket Disconnect: 1H8NS3xuHAgDR5LfAAAG 2024-03-16 00:03:29 [Nest] 7 - 03/15/2024, 9:03:29 PM LOG [CommunicationRepository] Websocket Connect: atDCbGY21fny2c66AAAI 2024-03-16 00:03:38 [Nest] 7 - 03/15/2024, 9:03:38 PM LOG [CommunicationRepository] Websocket Disconnect: atDCbGY21fny2c66AAAI 2024-03-16 00:03:38 [Nest] 7 - 03/15/2024, 9:03:38 PM LOG [CommunicationRepository] Websocket Connect: HILX1UZ5KMYNJFBKAAAK 2024-03-16 00:03:38 [Nest] 7 - 03/15/2024, 9:03:38 PM LOG [CommunicationRepository] Websocket Disconnect: HILX1UZ5KMYNJFBKAAAK 2024-03-16 00:03:39 [Nest] 7 - 03/15/2024, 9:03:39 PM LOG [CommunicationRepository] Websocket Connect: PynP4hMKKf4pVLTZAAAM 2024-03-16 00:03:40 [Nest] 7 - 03/15/2024, 9:03:40 PM LOG [CommunicationRepository] Websocket Disconnect: PynP4hMKKf4pVLTZAAAM 2024-03-16 00:03:40 [Nest] 7 - 03/15/2024, 9:03:40 PM LOG [CommunicationRepository] Websocket Connect: I1r0iAY4RziZfVueAAAO 2024-03-16 00:03:41 [Nest] 7 - 03/15/2024, 9:03:41 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:03:41 [Nest] 7 - 03/15/2024, 9:03:41 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:03:41 [Nest] 7 - 03/15/2024, 9:03:41 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:03:45 [Nest] 7 - 03/15/2024, 9:03:45 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:03:45 [Nest] 7 - 03/15/2024, 9:03:45 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:03:47 [Nest] 7 - 03/15/2024, 9:03:47 PM LOG [CommunicationRepository] Websocket Disconnect: I1r0iAY4RziZfVueAAAO 2024-03-16 00:03:47 [Nest] 7 - 03/15/2024, 9:03:47 PM LOG [CommunicationRepository] Websocket Connect: wsgbS3IOf-SCkZSvAAAQ 2024-03-16 00:03:50 [Nest] 7 - 03/15/2024, 9:03:50 PM LOG [CommunicationRepository] Websocket Disconnect: wsgbS3IOf-SCkZSvAAAQ 2024-03-16 00:03:50 [Nest] 7 - 03/15/2024, 9:03:50 PM LOG [CommunicationRepository] Websocket Connect: 8SiHMi2LIC5idaQWAAAS 2024-03-16 00:03:51 [Nest] 7 - 03/15/2024, 9:03:51 PM LOG [CommunicationRepository] Websocket Disconnect: 8SiHMi2LIC5idaQWAAAS 2024-03-16 00:03:51 [Nest] 7 - 03/15/2024, 9:03:51 PM LOG [CommunicationRepository] Websocket Connect: 0Y0-impFIH4tIFrJAAAU 2024-03-16 00:04:06 [Nest] 7 - 03/15/2024, 9:04:06 PM LOG [CommunicationRepository] Websocket Disconnect: 0Y0-impFIH4tIFrJAAAU 2024-03-16 00:04:06 [Nest] 7 - 03/15/2024, 9:04:06 PM LOG [CommunicationRepository] Websocket Connect: la7BPO3-iE34lKJmAAAW 2024-03-16 00:04:15 [Nest] 7 - 03/15/2024, 9:04:15 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:02:22 [Nest] 7 - 03/15/2024, 9:02:22 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/2a/8d' 2024-03-16 00:02:22 at mkdirSync (node:fs:1380:26) 2024-03-16 00:02:22 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:02:22 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:02:22 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:02:22 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:02:22 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:02:22 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:02:22 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:02:22 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:02:22 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-16 00:02:22 [Nest] 7 - 03/15/2024, 9:02:22 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/2a/8d' 2024-03-16 00:02:22 at mkdirSync (node:fs:1380:26) 2024-03-16 00:02:22 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:02:22 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:02:22 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:02:22 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:02:22 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:02:22 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:02:22 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:02:22 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:02:22 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/2a/8d' 2024-03-16 00:02:22 [Nest] 7 - 03/15/2024, 9:02:22 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:02:22 Error: Connection terminated due to connection timeout 2024-03-16 00:02:22 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:02:22 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:02:22 at Connection.emit (node:events:518:28) 2024-03-16 00:02:22 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:02:22 at Socket.emit (node:events:518:28) 2024-03-16 00:02:22 at TCP. (node:net:337:12) 2024-03-16 00:02:22 [Nest] 7 - 03/15/2024, 9:02:22 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:02:22 Error: Connection terminated due to connection timeout 2024-03-16 00:02:22 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:02:22 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:02:22 at Connection.emit (node:events:518:28) 2024-03-16 00:02:22 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:02:22 at Socket.emit (node:events:518:28) 2024-03-16 00:02:22 at TCP. (node:net:337:12) 2024-03-16 00:03:16 [Nest] 7 - 03/15/2024, 9:03:16 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/51/3b' 2024-03-16 00:03:16 at mkdirSync (node:fs:1380:26) 2024-03-16 00:03:16 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:03:16 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:03:16 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:03:16 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:03:16 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:03:16 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:03:16 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:03:16 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:03:16 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-16 00:03:16 [Nest] 7 - 03/15/2024, 9:03:16 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/51/3b' 2024-03-16 00:03:16 at mkdirSync (node:fs:1380:26) 2024-03-16 00:03:16 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:03:16 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:03:16 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:03:16 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:03:16 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:03:16 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:03:16 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:03:16 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:03:16 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/51/3b' 2024-03-16 00:03:38 [Nest] 7 - 03/15/2024, 9:03:38 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:03:38 Error: Connection terminated due to connection timeout 2024-03-16 00:03:38 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:03:38 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:03:38 at Connection.emit (node:events:518:28) 2024-03-16 00:03:38 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:03:38 at Socket.emit (node:events:518:28) 2024-03-16 00:03:38 at TCP. (node:net:337:12) 2024-03-16 00:03:48 [Nest] 7 - 03/15/2024, 9:03:48 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:03:48 Error: Connection terminated due to connection timeout 2024-03-16 00:03:48 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:03:48 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:03:48 at Connection.emit (node:events:518:28) 2024-03-16 00:03:48 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:03:48 at Socket.emit (node:events:518:28) 2024-03-16 00:03:48 at TCP. (node:net:337:12) 2024-03-16 00:03:50 [Nest] 7 - 03/15/2024, 9:03:50 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:03:50 Error: Connection terminated due to connection timeout 2024-03-16 00:03:50 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:03:50 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:03:50 at Connection.emit (node:events:518:28) 2024-03-16 00:03:50 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:03:50 at Socket.emit (node:events:518:28) 2024-03-16 00:03:50 at TCP. (node:net:337:12) 2024-03-16 00:03:57 [Nest] 7 - 03/15/2024, 9:03:57 PM ERROR [Error: Connection terminated due to connection timeout 2024-03-16 00:03:57 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:03:57 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:03:57 at Connection.emit (node:events:518:28) 2024-03-16 00:03:57 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:03:57 at Socket.emit (node:events:518:28) 2024-03-16 00:03:57 at TCP. (node:net:337:12)] Websocket connection error: Error: Connection terminated due to connection timeout 2024-03-16 00:04:00 [Nest] 7 - 03/15/2024, 9:04:00 PM ERROR [Error: Connection terminated due to connection timeout 2024-03-16 00:04:00 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:00 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:00 at Connection.emit (node:events:518:28) 2024-03-16 00:04:00 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:00 at Socket.emit (node:events:518:28) 2024-03-16 00:04:00 at TCP. (node:net:337:12)] Failed to get server features 2024-03-16 00:04:00 [Nest] 7 - 03/15/2024, 9:04:00 PM ERROR [Error: Connection terminated due to connection timeout 2024-03-16 00:04:00 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:00 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:00 at Connection.emit (node:events:518:28) 2024-03-16 00:04:00 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:00 at Socket.emit (node:events:518:28) 2024-03-16 00:04:00 at TCP. (node:net:337:12)] Error: Connection terminated due to connection timeout 2024-03-16 00:04:01 [Nest] 7 - 03/15/2024, 9:04:01 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:04:01 Error: Connection terminated due to connection timeout 2024-03-16 00:04:01 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:01 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:01 at Connection.emit (node:events:518:28) 2024-03-16 00:04:01 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:01 at Socket.emit (node:events:518:28) 2024-03-16 00:04:01 at TCP. (node:net:337:12) 2024-03-16 00:04:14 [Nest] 7 - 03/15/2024, 9:04:14 PM ERROR [Error: timeout exceeded when trying to connect 2024-03-16 00:04:14 at Timeout._onTimeout (/usr/src/app/node_modules/pg-pool/index.js:205:27) 2024-03-16 00:04:14 at listOnTimeout (node:internal/timers:573:17) 2024-03-16 00:04:14 at process.processTimers (node:internal/timers:514:7)] Failed to get album count 2024-03-16 00:04:14 [Nest] 7 - 03/15/2024, 9:04:14 PM ERROR [Error: timeout exceeded when trying to connect 2024-03-16 00:04:14 at Timeout._onTimeout (/usr/src/app/node_modules/pg-pool/index.js:205:27) 2024-03-16 00:04:14 at listOnTimeout (node:internal/timers:573:17) 2024-03-16 00:04:14 at process.processTimers (node:internal/timers:514:7)] Error: timeout exceeded when trying to connect 2024-03-16 00:04:16 [Nest] 7 - 03/15/2024, 9:04:16 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:04:16 Error: Connection terminated due to connection timeout 2024-03-16 00:04:16 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:16 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:16 at Connection.emit (node:events:518:28) 2024-03-16 00:04:16 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:16 at Socket.emit (node:events:518:28) 2024-03-16 00:04:16 at TCP. (node:net:337:12) 2024-03-16 00:04:16 [Nest] 7 - 03/15/2024, 9:04:16 PM ERROR [Error: Connection terminated due to connection timeout 2024-03-16 00:04:16 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:16 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:16 at Connection.emit (node:events:518:28) 2024-03-16 00:04:16 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:16 at Socket.emit (node:events:518:28) 2024-03-16 00:04:16 at TCP. (node:net:337:12)] Failed to get server config 2024-03-16 00:04:16 [Nest] 7 - 03/15/2024, 9:04:16 PM ERROR [Error: Connection terminated due to connection timeout 2024-03-16 00:04:16 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:16 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:16 at Connection.emit (node:events:518:28) 2024-03-16 00:04:16 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:16 at Socket.emit (node:events:518:28) 2024-03-16 00:04:16 at TCP. (node:net:337:12)] Error: Connection terminated due to connection timeout 2024-03-16 00:04:16 [Nest] 7 - 03/15/2024, 9:04:16 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:04:16 Error: Connection terminated due to connection timeout 2024-03-16 00:04:16 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:04:16 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:04:16 at Connection.emit (node:events:518:28) 2024-03-16 00:04:16 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:04:16 at Socket.emit (node:events:518:28) 2024-03-16 00:04:16 at TCP. (node:net:337:12) 2024-03-16 00:09:02 [Nest] 7 - 03/15/2024, 9:09:02 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/d9/b4' 2024-03-16 00:09:02 at mkdirSync (node:fs:1380:26) 2024-03-16 00:09:02 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:09:02 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:09:02 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:09:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:09:02 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:09:02 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:09:02 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:09:02 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:09:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-16 00:09:02 [Nest] 7 - 03/15/2024, 9:09:02 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/d9/b4' 2024-03-16 00:09:02 at mkdirSync (node:fs:1380:26) 2024-03-16 00:09:02 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:09:02 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:09:02 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:09:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:09:02 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:09:02 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:09:02 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:09:02 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:09:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/d9/b4' 2024-03-16 00:09:02 [Nest] 7 - 03/15/2024, 9:09:02 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:09:02 Error: Connection terminated due to connection timeout 2024-03-16 00:09:02 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:09:02 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:09:02 at Connection.emit (node:events:518:28) 2024-03-16 00:09:02 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:09:02 at Socket.emit (node:events:518:28) 2024-03-16 00:09:02 at TCP. (node:net:337:12) 2024-03-16 00:09:03 [Nest] 7 - 03/15/2024, 9:09:03 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:09:03 Error: Connection terminated due to connection timeout 2024-03-16 00:09:03 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:09:03 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:09:03 at Connection.emit (node:events:518:28) 2024-03-16 00:09:03 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:09:03 at Socket.emit (node:events:518:28) 2024-03-16 00:09:03 at TCP. (node:net:337:12) 2024-03-16 00:09:03 [Nest] 7 - 03/15/2024, 9:09:03 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:09:03 Error: Connection terminated due to connection timeout 2024-03-16 00:09:03 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:09:03 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:09:03 at Connection.emit (node:events:518:28) 2024-03-16 00:09:03 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:09:03 at Socket.emit (node:events:518:28) 2024-03-16 00:09:03 at TCP. (node:net:337:12) 2024-03-16 00:13:58 [Nest] 7 - 03/15/2024, 9:13:58 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/d6/16' 2024-03-16 00:13:58 at mkdirSync (node:fs:1380:26) 2024-03-16 00:13:58 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:13:58 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:13:58 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:13:58 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:13:58 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:13:58 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:13:58 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:13:58 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:13:58 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-16 00:13:58 [Nest] 7 - 03/15/2024, 9:13:58 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/d6/16' 2024-03-16 00:13:58 at mkdirSync (node:fs:1380:26) 2024-03-16 00:13:58 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-16 00:13:58 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-16 00:13:58 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-16 00:13:58 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-16 00:13:58 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-16 00:13:58 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-16 00:13:58 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-16 00:13:58 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-16 00:13:58 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/d6/16' 2024-03-16 00:13:58 [Nest] 7 - 03/15/2024, 9:13:58 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:13:58 Error: Connection terminated due to connection timeout 2024-03-16 00:13:58 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:13:58 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:13:58 at Connection.emit (node:events:518:28) 2024-03-16 00:13:58 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:13:58 at Socket.emit (node:events:518:28) 2024-03-16 00:13:58 at TCP. (node:net:337:12) 2024-03-16 00:13:58 [Nest] 7 - 03/15/2024, 9:13:58 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:13:58 Error: Connection terminated due to connection timeout 2024-03-16 00:13:58 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:13:58 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:13:58 at Connection.emit (node:events:518:28) 2024-03-16 00:13:58 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:13:58 at Socket.emit (node:events:518:28) 2024-03-16 00:13:58 at TCP. (node:net:337:12) 2024-03-16 00:13:58 [Nest] 7 - 03/15/2024, 9:13:58 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-16 00:13:58 Error: Connection terminated due to connection timeout 2024-03-16 00:13:58 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-16 00:13:58 at Object.onceWrapper (node:events:632:28) 2024-03-16 00:13:58 at Connection.emit (node:events:518:28) 2024-03-16 00:13:58 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-16 00:13:58 at Socket.emit (node:events:518:28) 2024-03-16 00:13:58 at TCP. (node:net:337:12) 2024-03-18 00:02:50 [Nest] 7 - 03/17/2024, 9:02:50 PM ERROR [Error: EROFS: read-only file system, utime 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4e/b4/4eb49df1-fed5-4568-b41c-ee0b071ef168.mp4'] Error uploading file Error: EROFS: read-only file system, utime 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4e/b4/4eb49df1-fed5-4568-b41c-ee0b071ef168.mp4' 2024-03-18 00:02:50 [Nest] 7 - 03/17/2024, 9:02:50 PM ERROR [Error: EROFS: read-only file system, utime 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4e/b4/4eb49df1-fed5-4568-b41c-ee0b071ef168.mp4'] Failed to upload file 2024-03-18 00:02:50 [Nest] 7 - 03/17/2024, 9:02:50 PM ERROR [Error: EROFS: read-only file system, utime 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4e/b4/4eb49df1-fed5-4568-b41c-ee0b071ef168.mp4'] Error: EROFS: read-only file system, utime 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4e/b4/4eb49df1-fed5-4568-b41c-ee0b071ef168.mp4' 2024-03-18 01:06:18 [Nest] 7 - 03/17/2024, 10:06:18 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/c3/3b' 2024-03-18 01:06:18 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:18 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:18 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:18 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:18 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:18 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:18 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:18 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:18 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:18 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:06:18 [Nest] 7 - 03/17/2024, 10:06:18 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/c3/3b' 2024-03-18 01:06:18 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:18 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:18 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:18 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:18 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:18 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:18 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:18 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:18 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:18 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/c3/3b' 2024-03-18 01:06:28 [Nest] 7 - 03/17/2024, 10:06:28 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/fb/97' 2024-03-18 01:06:28 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:28 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:28 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:28 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:28 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:28 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:28 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:28 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:06:28 [Nest] 7 - 03/17/2024, 10:06:28 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/fb/97' 2024-03-16 00:06:34 [Nest] 7 - 03/15/2024, 9:06:34 PM LOG [CommunicationRepository] Websocket Disconnect: la7BPO3-iE34lKJmAAAW 2024-03-16 00:06:34 [Nest] 7 - 03/15/2024, 9:06:34 PM LOG [CommunicationRepository] Websocket Connect: G-yTmKRtEiVxOi90AAAY 2024-03-16 00:07:19 [Nest] 7 - 03/15/2024, 9:07:19 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:07:19 [Nest] 7 - 03/15/2024, 9:07:19 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:07:27 [Nest] 7 - 03/15/2024, 9:07:27 PM WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses 2024-03-16 00:09:03 [Nest] 7 - 03/15/2024, 9:09:03 PM LOG [CommunicationRepository] Websocket Disconnect: G-yTmKRtEiVxOi90AAAY 2024-03-16 00:09:03 [Nest] 7 - 03/15/2024, 9:09:03 PM LOG [CommunicationRepository] Websocket Connect: h9E06d_danal73GlAAAb 2024-03-17 23:45:42 [Nest] 7 - 03/17/2024, 8:45:42 PM LOG [CommunicationRepository] Initialized websocket server 2024-03-17 23:45:42 [Nest] 7 - 03/17/2024, 8:45:42 PM LOG [SystemConfigService] LogLevel=log (set via system config) 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [AppService] Feature Flags: { 2024-03-17 23:45:43 "smartSearch": true, 2024-03-17 23:45:43 "facialRecognition": true, 2024-03-17 23:45:43 "map": true, 2024-03-17 23:45:43 "reverseGeocoding": true, 2024-03-17 23:45:43 "sidecar": true, 2024-03-17 23:45:43 "search": true, 2024-03-17 23:45:43 "trash": true, 2024-03-17 23:45:43 "oauth": false, 2024-03-17 23:45:43 "oauthAutoLaunch": false, 2024-03-17 23:45:43 "passwordLogin": true, 2024-03-17 23:45:43 "configFile": false 2024-03-17 23:45:43 } 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [NestFactory] Starting Nest application... 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] ConfigModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] InfraModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] DomainModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [InstanceLoader] AppModule dependencies initialized 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] ActivityController {/api/activity}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/activity, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/activity/statistics, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/activity, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/activity/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AssetsController {/api/assets}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/assets, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/upload, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/file/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/thumbnail/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/curated-objects, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/curated-locations, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/search-terms, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/exist, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/bulk-upload-check, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/map-marker, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/memory-lane, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/random, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/device/:deviceId, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/statistics, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/time-buckets, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/time-bucket, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/jobs, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/stack/parent, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/asset/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AppController {/api}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/.well-known/immich, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/custom.css, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AlbumController {/api/album}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/count, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id, PATCH} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/users, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/user/:userId, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] APIKeyController {/api/api-key}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/api-key, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/api-key, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AuditController {/api/audit}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/audit/deletes, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/audit/file-report, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/checksum, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/fix, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] AuthController {/api/auth}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/login, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/devices, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/devices, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/devices/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/validateToken, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/change-password, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/auth/logout, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] DownloadController {/api/download}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/download/info, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/download/archive, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/download/asset/:id, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] FaceController {/api/face}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/face, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/face/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] JobController {/api/jobs}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/jobs, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/jobs/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] LibraryController {/api/library}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/validate, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/statistics, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/scan, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/removeOffline, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] OAuthController {/api/oauth}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/oauth/authorize, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/oauth/callback, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/oauth/link, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/oauth/unlink, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] PartnerController {/api/partner}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/partner, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/partner/:id, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/partner/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/partner/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] SearchController {/api/search}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search/metadata, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search/smart, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search/explore, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search/person, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search/places, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/search/suggestions, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] ServerInfoController {/api/server-info}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/ping, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/version, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/features, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/theme, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/config, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/statistics, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/media-types, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/server-info/admin-onboarding, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] SharedLinkController {/api/shared-link}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/me, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, PATCH} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] SystemConfigController {/api/system-config}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/system-config, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/system-config/defaults, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/system-config, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/system-config/map/style.json, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] TagController {/api/tag}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id, PATCH} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] TrashController {/api/trash}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/trash/empty, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/trash/restore, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/trash/restore/assets, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] UserController {/api/user}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/info/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/me, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/:id, DELETE} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/:id/restore, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/user/profile-image/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RoutesResolver] PersonController {/api/person}: 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/statistics, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/thumbnail, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/assets, GET} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/reassign, PUT} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/merge, POST} route 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [NestApplication] Nest application successfully started 2024-03-17 23:45:43 [Nest] 7 - 03/17/2024, 8:45:43 PM LOG [ImmichServer] Immich Server is listening on http://[::1]:3001 [v1.98.2] [PRODUCTION] 2024-03-17 23:45:53 [Nest] 7 - 03/17/2024, 8:45:53 PM LOG [CommunicationRepository] Websocket Connect: 3N_KbHecS4qW5DyCAAAB 2024-03-17 23:45:55 [Nest] 7 - 03/17/2024, 8:45:55 PM LOG [CommunicationRepository] Websocket Disconnect: 3N_KbHecS4qW5DyCAAAB 2024-03-17 23:45:55 [Nest] 7 - 03/17/2024, 8:45:55 PM LOG [CommunicationRepository] Websocket Connect: NOLoXlWld7-Le6m8AAAD 2024-03-17 23:52:28 [Nest] 7 - 03/17/2024, 8:52:28 PM LOG [CommunicationRepository] Websocket Disconnect: NOLoXlWld7-Le6m8AAAD 2024-03-18 01:11:56 [Nest] 7 - 03/17/2024, 10:11:56 PM LOG [CommunicationRepository] Websocket Connect: jNFbrjexUY3AocY2AAAF 2024-03-18 01:22:50 [Nest] 7 - 03/17/2024, 10:22:50 PM LOG [CommunicationRepository] Initialized websocket server 2024-03-18 01:22:50 [Nest] 7 - 03/17/2024, 10:22:50 PM LOG [SystemConfigService] LogLevel=log (set via system config) 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [AppService] Feature Flags: { 2024-03-18 01:22:51 "smartSearch": true, 2024-03-18 01:22:51 "facialRecognition": true, 2024-03-18 01:22:51 "map": true, 2024-03-18 01:22:51 "reverseGeocoding": true, 2024-03-18 01:22:51 "sidecar": true, 2024-03-18 01:22:51 "search": true, 2024-03-18 01:22:51 "trash": true, 2024-03-18 01:22:51 "oauth": false, 2024-03-18 01:22:51 "oauthAutoLaunch": false, 2024-03-18 01:22:51 "passwordLogin": true, 2024-03-18 01:22:51 "configFile": false 2024-03-18 01:22:51 } 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [NestFactory] Starting Nest application... 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] ConfigModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] InfraModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] DomainModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [InstanceLoader] AppModule dependencies initialized 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] ActivityController {/api/activity}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/activity, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/activity/statistics, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/activity, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/activity/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AssetsController {/api/assets}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/assets, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/upload, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/file/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/thumbnail/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/curated-objects, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/curated-locations, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/search-terms, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/exist, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/bulk-upload-check, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/map-marker, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/memory-lane, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/random, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/device/:deviceId, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/statistics, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/time-buckets, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/time-bucket, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/jobs, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/stack/parent, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/asset/:id, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AppController {/api}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/.well-known/immich, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/custom.css, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AlbumController {/api/album}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/count, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id, PATCH} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id/users, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/album/:id/user/:userId, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] APIKeyController {/api/api-key}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/api-key, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/api-key, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AuditController {/api/audit}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/audit/deletes, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/audit/file-report, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/checksum, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/fix, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] AuthController {/api/auth}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/login, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/devices, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/devices, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/devices/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/validateToken, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/change-password, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/auth/logout, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] DownloadController {/api/download}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/download/info, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/download/archive, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/download/asset/:id, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] FaceController {/api/face}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/face, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/face/:id, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] JobController {/api/jobs}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/jobs, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/jobs/:id, PUT} route 2024-03-18 01:06:28 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:28 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:28 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:28 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:28 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:28 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:28 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:28 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/fb/97' 2024-03-18 01:06:28 [Nest] 7 - 03/17/2024, 10:06:28 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/f0/f1' 2024-03-18 01:06:28 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:28 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:28 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:28 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:28 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:28 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:28 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:28 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:06:28 [Nest] 7 - 03/17/2024, 10:06:28 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/f0/f1' 2024-03-18 01:06:28 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:28 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:28 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:28 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:28 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:28 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:28 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:28 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/f0/f1' 2024-03-18 01:06:28 [Nest] 7 - 03/17/2024, 10:06:28 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/8f/86' 2024-03-18 01:06:28 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:28 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:28 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:28 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:28 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:28 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:28 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:28 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:06:28 [Nest] 7 - 03/17/2024, 10:06:28 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/8f/86' 2024-03-18 01:06:28 at mkdirSync (node:fs:1380:26) 2024-03-18 01:06:28 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:06:28 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:06:28 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:06:28 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:06:28 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:06:28 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:06:28 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:06:28 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/8f/86' 2024-03-18 01:16:03 [Nest] 7 - 03/17/2024, 10:16:03 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/0d/07' 2024-03-18 01:16:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:16:03 [Nest] 7 - 03/17/2024, 10:16:03 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/0d/07' 2024-03-18 01:16:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/0d/07' 2024-03-18 01:16:03 [Nest] 7 - 03/17/2024, 10:16:03 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/45/1f' 2024-03-18 01:16:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:16:03 [Nest] 7 - 03/17/2024, 10:16:03 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/45/1f' 2024-03-18 01:16:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/45/1f' 2024-03-18 01:16:24 [Nest] 7 - 03/17/2024, 10:16:24 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/87/15' 2024-03-18 01:16:24 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:24 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:24 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:24 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:24 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:24 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:24 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:24 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:16:24 [Nest] 7 - 03/17/2024, 10:16:24 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/87/15' 2024-03-18 01:16:24 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:24 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:24 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:24 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:24 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:24 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:24 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:24 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/87/15' 2024-03-18 01:16:24 [Nest] 7 - 03/17/2024, 10:16:24 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/33/26' 2024-03-18 01:16:24 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:24 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:24 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:24 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:24 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:24 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:24 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:24 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:16:24 [Nest] 7 - 03/17/2024, 10:16:24 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/33/26' 2024-03-18 01:16:24 at mkdirSync (node:fs:1380:26) 2024-03-18 01:16:24 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:16:24 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:16:24 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:16:24 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:16:24 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:16:24 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:16:24 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:16:24 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/33/26' 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/3c/57' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/3c/57' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/3c/57' 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/92/4f' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/92/4f' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/92/4f' 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/ba/75' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/ba/75' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/ba/75' 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/1b/d4' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:22:03 [Nest] 7 - 03/17/2024, 10:22:03 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/1b/d4' 2024-03-18 01:22:03 at mkdirSync (node:fs:1380:26) 2024-03-18 01:22:03 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:22:03 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:22:03 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:22:03 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:22:03 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:22:03 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:03 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:22:03 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/1b/d4' 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/25/f6' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/25/f6' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/25/f6' 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4f/b0' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] LibraryController {/api/library}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id/validate, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id/statistics, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id/scan, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/library/:id/removeOffline, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] OAuthController {/api/oauth}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/oauth/authorize, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/oauth/callback, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/oauth/link, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/oauth/unlink, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] PartnerController {/api/partner}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/partner, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/partner/:id, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/partner/:id, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/partner/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] SearchController {/api/search}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search/metadata, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search/smart, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search/explore, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search/person, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search/places, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/search/suggestions, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] ServerInfoController {/api/server-info}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/ping, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/version, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/features, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/theme, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/config, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/statistics, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/media-types, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/server-info/admin-onboarding, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] SharedLinkController {/api/shared-link}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link/me, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, PATCH} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] SystemConfigController {/api/system-config}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/system-config, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/system-config/defaults, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/system-config, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/system-config/map/style.json, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] TagController {/api/tag}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag/:id, PATCH} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] TrashController {/api/trash}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/trash/empty, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/trash/restore, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/trash/restore/assets, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] UserController {/api/user}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/info/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/me, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/:id, DELETE} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/:id/restore, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/user/profile-image/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RoutesResolver] PersonController {/api/person}: 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id/statistics, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id/thumbnail, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id/assets, GET} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id/reassign, PUT} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [RouterExplorer] Mapped {/api/person/:id/merge, POST} route 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [NestApplication] Nest application successfully started 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [ImmichServer] Immich Server is listening on http://[::1]:3001 [v1.98.2] [PRODUCTION] 2024-03-18 01:22:51 [Nest] 7 - 03/17/2024, 10:22:51 PM LOG [CommunicationRepository] Websocket Connect: 4rmDbnryDI2G84eeAAAB 2024-03-18 01:28:42 [Nest] 7 - 03/17/2024, 10:28:42 PM LOG [CommunicationRepository] Initialized websocket server 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [SystemConfigService] LogLevel=log (set via system config) 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [AppService] Feature Flags: { 2024-03-18 01:28:43 "smartSearch": true, 2024-03-18 01:28:43 "facialRecognition": true, 2024-03-18 01:28:43 "map": true, 2024-03-18 01:28:43 "reverseGeocoding": true, 2024-03-18 01:28:43 "sidecar": true, 2024-03-18 01:28:43 "search": true, 2024-03-18 01:28:43 "trash": true, 2024-03-18 01:28:43 "oauth": false, 2024-03-18 01:28:43 "oauthAutoLaunch": false, 2024-03-18 01:28:43 "passwordLogin": true, 2024-03-18 01:28:43 "configFile": false 2024-03-18 01:28:43 } 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [NestFactory] Starting Nest application... 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] ConfigModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] ScheduleModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] BullModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] TypeOrmCoreModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] TypeOrmModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] InfraModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] DomainModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [InstanceLoader] AppModule dependencies initialized 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] ActivityController {/api/activity}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/activity, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/activity/statistics, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/activity, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/activity/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AssetsController {/api/assets}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/assets, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/upload, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/file/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/thumbnail/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/curated-objects, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/curated-locations, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/search-terms, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/exist, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/bulk-upload-check, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AssetController {/api/asset}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/map-marker, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/memory-lane, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/random, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/device/:deviceId, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/statistics, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/time-buckets, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/time-bucket, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/jobs, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/stack/parent, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/asset/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AppController {/api}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/.well-known/immich, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/custom.css, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AlbumController {/api/album}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/count, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id, PATCH} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/assets, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/users, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/album/:id/user/:userId, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] APIKeyController {/api/api-key}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/api-key, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/api-key, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/api-key/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AuditController {/api/audit}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/audit/deletes, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/audit/file-report, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/checksum, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/audit/file-report/fix, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] AuthController {/api/auth}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/login, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/devices, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/devices, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/devices/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/validateToken, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/change-password, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/auth/logout, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] DownloadController {/api/download}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/download/info, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/download/archive, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/download/asset/:id, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] FaceController {/api/face}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/face, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/face/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] JobController {/api/jobs}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/jobs, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/jobs/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] LibraryController {/api/library}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/validate, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/statistics, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/scan, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/library/:id/removeOffline, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] OAuthController {/api/oauth}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/oauth/authorize, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/oauth/callback, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/oauth/link, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/oauth/unlink, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] PartnerController {/api/partner}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/partner, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/partner/:id, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/partner/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/partner/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] SearchController {/api/search}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search/metadata, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search/smart, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search/explore, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search/person, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search/places, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/search/suggestions, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] ServerInfoController {/api/server-info}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/ping, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/version, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/features, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/theme, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/config, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/statistics, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/media-types, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/server-info/admin-onboarding, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] SharedLinkController {/api/shared-link}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/me, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, PATCH} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/shared-link/:id/assets, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] SystemConfigController {/api/system-config}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/system-config, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/system-config/defaults, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/system-config, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/system-config/map/style.json, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] TagController {/api/tag}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id, PATCH} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/tag/:id/assets, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] TrashController {/api/trash}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/trash/empty, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/trash/restore, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/trash/restore/assets, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] UserController {/api/user}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/info/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/me, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/:id, DELETE} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/:id/restore, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/profile-image, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/user/profile-image/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RoutesResolver] PersonController {/api/person}: 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/statistics, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/thumbnail, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/assets, GET} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/reassign, PUT} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [RouterExplorer] Mapped {/api/person/:id/merge, POST} route 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [NestApplication] Nest application successfully started 2024-03-18 01:28:43 [Nest] 7 - 03/17/2024, 10:28:43 PM LOG [ImmichServer] Immich Server is listening on http://[::1]:3001 [v1.98.2] [PRODUCTION] 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4f/b0' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/4f/b0' 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/91/de' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/91/de' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/91/de' 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/41/29' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:26:19 [Nest] 7 - 03/17/2024, 10:26:19 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/41/29' 2024-03-18 01:26:19 at mkdirSync (node:fs:1380:26) 2024-03-18 01:26:19 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:26:19 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:26:19 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:26:19 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:26:19 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:26:19 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:26:19 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:26:19 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/41/29' 2024-03-18 01:32:34 [Nest] 7 - 03/17/2024, 10:32:34 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-18 01:32:34 Error: Connection terminated due to connection timeout 2024-03-18 01:32:34 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-18 01:32:34 at Object.onceWrapper (node:events:632:28) 2024-03-18 01:32:34 at Connection.emit (node:events:518:28) 2024-03-18 01:32:34 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-18 01:32:34 at Socket.emit (node:events:518:28) 2024-03-18 01:32:34 at TCP. (node:net:337:12) 2024-03-18 01:32:34 [Nest] 7 - 03/17/2024, 10:32:34 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-18 01:32:34 Error: Connection terminated due to connection timeout 2024-03-18 01:32:34 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-18 01:32:34 at Object.onceWrapper (node:events:632:28) 2024-03-18 01:32:34 at Connection.emit (node:events:518:28) 2024-03-18 01:32:34 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-18 01:32:34 at Socket.emit (node:events:518:28) 2024-03-18 01:32:34 at TCP. (node:net:337:12) 2024-03-18 01:32:34 [Nest] 7 - 03/17/2024, 10:32:34 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-18 01:32:34 Error: Connection terminated due to connection timeout 2024-03-18 01:32:34 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-18 01:32:34 at Object.onceWrapper (node:events:632:28) 2024-03-18 01:32:34 at Connection.emit (node:events:518:28) 2024-03-18 01:32:34 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-18 01:32:34 at Socket.emit (node:events:518:28) 2024-03-18 01:32:34 at TCP. (node:net:337:12) 2024-03-18 01:37:07 [Nest] 7 - 03/17/2024, 10:37:07 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/a1/10' 2024-03-18 01:37:07 at mkdirSync (node:fs:1380:26) 2024-03-18 01:37:07 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:37:07 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:37:07 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:37:07 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:37:07 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:37:07 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:37:07 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:37:07 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:37:07 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:37:07 [Nest] 7 - 03/17/2024, 10:37:07 PM ERROR [Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/a1/10' 2024-03-18 01:37:07 at mkdirSync (node:fs:1380:26) 2024-03-18 01:37:07 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:37:07 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:37:07 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:37:07 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:37:07 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:37:07 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:37:07 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:37:07 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:37:07 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: EIO: i/o error, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/a1/10' 2024-03-18 01:37:07 [Nest] 7 - 03/17/2024, 10:37:07 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-18 01:37:07 Error: Connection terminated due to connection timeout 2024-03-18 01:37:07 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-18 01:37:07 at Object.onceWrapper (node:events:632:28) 2024-03-18 01:37:07 at Connection.emit (node:events:518:28) 2024-03-18 01:37:07 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-18 01:37:07 at Socket.emit (node:events:518:28) 2024-03-18 01:37:07 at TCP. (node:net:337:12) 2024-03-18 01:37:07 [Nest] 7 - 03/17/2024, 10:37:07 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-18 01:37:07 Error: Connection terminated due to connection timeout 2024-03-18 01:37:07 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-18 01:37:07 at Object.onceWrapper (node:events:632:28) 2024-03-18 01:37:07 at Connection.emit (node:events:518:28) 2024-03-18 01:37:07 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-18 01:37:07 at Socket.emit (node:events:518:28) 2024-03-18 01:37:07 at TCP. (node:net:337:12) 2024-03-18 01:37:07 [Nest] 7 - 03/17/2024, 10:37:07 PM ERROR [ExceptionsHandler] Connection terminated due to connection timeout 2024-03-18 01:37:07 Error: Connection terminated due to connection timeout 2024-03-18 01:37:07 at Connection. (/usr/src/app/node_modules/pg/lib/client.js:132:73) 2024-03-18 01:37:07 at Object.onceWrapper (node:events:632:28) 2024-03-18 01:37:07 at Connection.emit (node:events:518:28) 2024-03-18 01:37:07 at Socket. (/usr/src/app/node_modules/pg/lib/connection.js:63:12) 2024-03-18 01:37:07 at Socket.emit (node:events:518:28) 2024-03-18 01:37:07 at TCP. (node:net:337:12) 2024-03-18 01:39:11 [Nest] 7 - 03/17/2024, 10:39:11 PM LOG [CommunicationRepository] Websocket Connect: QVeuY8HAJ9FJSK2IAAAB 2024-03-18 01:39:17 [Nest] 7 - 03/17/2024, 10:39:17 PM LOG [CommunicationRepository] Websocket Disconnect: QVeuY8HAJ9FJSK2IAAAB 2024-03-18 01:39:17 [Nest] 7 - 03/17/2024, 10:39:17 PM LOG [CommunicationRepository] Websocket Connect: lop1ILZG303peW6rAAAD 2024-03-18 01:47:53 [Nest] 7 - 03/17/2024, 10:47:53 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/c4/de' 2024-03-18 01:47:53 at mkdirSync (node:fs:1380:26) 2024-03-18 01:47:53 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:47:53 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:47:53 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:47:53 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:47:53 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:47:53 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:47:53 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:47:53 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:47:53 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:47:53 [Nest] 7 - 03/17/2024, 10:47:53 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/c4/de' 2024-03-18 01:47:53 at mkdirSync (node:fs:1380:26) 2024-03-18 01:47:53 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:47:53 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:47:53 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:47:53 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:47:53 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:47:53 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:47:53 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:47:53 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:47:53 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/c4/de' 2024-03-18 01:48:02 [Nest] 7 - 03/17/2024, 10:48:02 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/2d/09' 2024-03-18 01:48:02 at mkdirSync (node:fs:1380:26) 2024-03-18 01:48:02 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:48:02 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:48:02 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:48:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:48:02 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:48:02 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:48:02 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:48:02 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:48:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:48:02 [Nest] 7 - 03/17/2024, 10:48:02 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/2d/09' 2024-03-18 01:48:02 at mkdirSync (node:fs:1380:26) 2024-03-18 01:48:02 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:48:02 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:48:02 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:48:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:48:02 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:48:02 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:48:02 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:48:02 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:48:02 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/2d/09' 2024-03-18 01:48:12 [Nest] 7 - 03/17/2024, 10:48:12 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/6c/17' 2024-03-18 01:48:12 at mkdirSync (node:fs:1380:26) 2024-03-18 01:48:12 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:48:12 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:48:12 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:48:12 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:48:12 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:48:12 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:48:12 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:48:12 [Nest] 7 - 03/17/2024, 10:48:12 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/6c/17' 2024-03-18 01:48:12 at mkdirSync (node:fs:1380:26) 2024-03-18 01:48:12 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:48:12 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:48:12 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:48:12 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:48:12 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:48:12 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:48:12 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/6c/17' 2024-03-18 01:48:12 [Nest] 7 - 03/17/2024, 10:48:12 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/e2/ca' 2024-03-18 01:48:12 at mkdirSync (node:fs:1380:26) 2024-03-18 01:48:12 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:48:12 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:48:12 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:48:12 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:48:12 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:48:12 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:48:12 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Failed to upload file 2024-03-18 01:48:12 [Nest] 7 - 03/17/2024, 10:48:12 PM ERROR [Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/e2/ca' 2024-03-18 01:48:12 at mkdirSync (node:fs:1380:26) 2024-03-18 01:48:12 at FilesystemProvider.mkdirSync (/usr/src/app/dist/infra/repositories/filesystem.provider.js:114:37) 2024-03-18 01:48:12 at AssetService.getUploadFolder (/usr/src/app/dist/domain/asset/asset.service.js:114:32) 2024-03-18 01:48:12 at /usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:52 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:31) 2024-03-18 01:48:12 at FileUploadInterceptor.destination (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:126:16) 2024-03-18 01:48:12 at DiskStorage._handleFile (/usr/src/app/node_modules/multer/storage/disk.js:31:8) 2024-03-18 01:48:12 at FileUploadInterceptor.handleFile (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:136:29) 2024-03-18 01:48:12 at /usr/src/app/node_modules/multer/lib/make-middleware.js:137:17 2024-03-18 01:48:12 at callbackify (/usr/src/app/dist/immich/interceptors/file-upload.interceptor.js:62:16)] Error: ENOENT: no such file or directory, mkdir 'upload/upload/01ccd6a6-464d-4481-bff8-7db976f017a2/e2/ca'