sudo docker logs immich_server Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:39) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 6 - 12/19/2025, 11:53:35 PM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 39 - 12/19/2025, 11:53:40 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 6 - 12/19/2025, 11:54:10 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 6 - 12/19/2025, 11:54:10 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1758705774125-CreateAssetOCRTable" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1758705789125-CreateOCRSearchTable" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1758705804128-UpsertOcrAssetJobStatus" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1761078763279-AddAppVersionColumnToSession" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1761755618862-FixColumnNames" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1762297277677-AddPluginAndWorkflowTables" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1764483051488-OCRBigramsForCJK" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1764698859174-SidecarInAssetFile" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1764705680041-ChangeWorkflowTableColumnsName" succeeded [Nest] 6 - 12/19/2025, 11:55:02 PM LOG [Microservices:DatabaseRepository] Migration "1764957138636-AddLockedPropertiesToAssetExif" succeeded [Nest] 6 - 12/19/2025, 11:55:04 PM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 6 - 12/19/2025, 11:55:06 PM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 6 - 12/19/2025, 11:55:11 PM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 6 - 12/19/2025, 11:55:11 PM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 6 - 12/19/2025, 11:55:20 PM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 39 - 12/19/2025, 11:55:29 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 39 - 12/19/2025, 11:55:30 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:23) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 23 - 12/20/2025, 12:05:15 AM LOG [Api:WebsocketRepository] Initialized websocket server (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 12:05:20 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 23 - 12/20/2025, 12:05:23 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 23 - 12/20/2025, 12:05:23 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 23 - 12/20/2025, 12:06:00 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 23 - 12/20/2025, 12:06:05 AM LOG [Api:StorageService] Successfully verified system mount folder checks Error: getaddrinfo EAI_AGAIN database at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'database' } microservices worker error: Error: getaddrinfo EAI_AGAIN database, stack: Error: getaddrinfo EAI_AGAIN database at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) microservices worker exited with code 1 Killing api process Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 12:08:42 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 12:12:09 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 7 - 12/20/2025, 12:12:08 AM LOG [Microservices:WebsocketRepository] Initialized websocket server /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:30) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 6 - 12/20/2025, 12:15:53 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 30 - 12/20/2025, 12:16:03 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client [Nest] 6 - 12/20/2025, 12:16:47 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 6 - 12/20/2025, 12:16:48 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 6 - 12/20/2025, 12:17:21 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 6 - 12/20/2025, 12:17:25 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 30 - 12/20/2025, 12:17:29 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 30 - 12/20/2025, 12:17:29 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 6 - 12/20/2025, 12:17:32 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 6 - 12/20/2025, 12:17:32 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 6 - 12/20/2025, 12:17:34 AM LOG [Microservices:MapRepository] Initializing metadata repository Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 30 - 12/20/2025, 12:17:43 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 30 - 12/20/2025, 12:17:45 AM LOG [Api:StorageService] Successfully verified system mount folder checks Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 1:14:34 AM LOG [Api:WebsocketRepository] Initialized websocket server (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 1:15:50 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 1:15:51 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 8 - 12/20/2025, 1:15:49 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 1:16:04 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 32 - 12/20/2025, 1:16:07 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 8 - 12/20/2025, 1:16:16 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 8 - 12/20/2025, 1:16:16 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 1:16:36 AM LOG [Api:PluginService] Upserted plugin: immich-core (ID: 0f5e1053-4ba2-4c83-a670-4c64cf41464b, version: 2.0.0) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Upserted plugin filter: filterFileName (ID: 86b12abd-f6c9-4cac-9f68-067bbf2d919a) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Upserted plugin filter: filterFileType (ID: 9ea8d0f8-be30-4998-81a3-d5337286341f) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Upserted plugin filter: filterPerson (ID: e75ea9d6-efc8-4c6f-9966-2b88e982ff10) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Upserted plugin action: actionArchive (ID: 422ad261-7e5c-424b-b39b-eb5726c20e43) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Upserted plugin action: actionFavorite (ID: 483bd61f-9353-4aea-b0d4-242b79a69821) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Upserted plugin action: actionAddToAlbum (ID: 991e253b-eb53-408e-ab0d-0fe01c1a4469) [Nest] 32 - 12/20/2025, 1:16:38 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 32 - 12/20/2025, 1:17:08 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 8 - 12/20/2025, 1:17:26 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 8 - 12/20/2025, 1:17:30 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 32 - 12/20/2025, 1:17:31 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 8 - 12/20/2025, 1:17:32 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 8 - 12/20/2025, 1:17:32 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 8 - 12/20/2025, 1:17:33 AM LOG [Microservices:MapRepository] Initializing metadata repository Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 32 - 12/20/2025, 1:18:02 AM WARN [Api:VersionService] Unable to run version check: Error: Failed to fetch GitHub release: TypeError: fetch failed Error: Failed to fetch GitHub release: TypeError: fetch failed at ServerInfoRepository.getGitHubRelease (/usr/src/app/server/dist/repositories/server-info.repository.js:60:19) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async VersionService.handleVersionCheck (/usr/src/app/server/dist/services/version.service.js:111:77) at async VersionService.onBootstrap (/usr/src/app/server/dist/services/version.service.js:64:9) at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:91:13) at async ApiModule.onModuleInit (/usr/src/app/server/dist/app.module.js:90:9) at async callModuleInitHook (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/hooks/on-module-init.hook.js:51:9) at async NestApplication.callInitHook (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/nest-application-context.js:242:13) at async NestApplication.init (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/nest-application.js:103:9) at async NestApplication.listen (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/nest-application.js:175:13) Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 32 - 12/20/2025, 1:18:10 AM LOG [Api:VersionService] Adding 2.4.1 to upgrade history [Nest] 32 - 12/20/2025, 1:18:25 AM LOG [Api:SystemConfigService] LogLevel=log (set via system config) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 1:21:20 AM LOG [Api:WebsocketRepository] Initialized websocket server missing 'error' handler on this Redis client missing 'error' handler on this Redis client (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 1:21:40 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 1:21:51 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 1:21:52 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 1:22:15 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 1:22:22 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 31 - 12/20/2025, 1:22:33 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 1:22:34 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 7 - 12/20/2025, 1:22:33 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 7 - 12/20/2025, 1:22:34 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 1:22:35 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 31 - 12/20/2025, 1:22:43 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 7 - 12/20/2025, 1:22:56 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/20/2025, 1:23:02 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 12/20/2025, 1:23:09 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 7 - 12/20/2025, 1:23:09 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 7 - 12/20/2025, 1:23:18 AM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 31 - 12/20/2025, 1:23:25 AM LOG [Api:SystemConfigService] LogLevel=log (set via system config) [Nest] 31 - 12/20/2025, 1:23:28 AM LOG [Api:MachineLearningRepository] Machine learning server became unhealthy (http://immich-machine-learning:3003). Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 1:25:31 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 1:25:36 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 1:25:36 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 1:25:37 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 1:25:38 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 31 - 12/20/2025, 1:25:38 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 1:25:38 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 31 - 12/20/2025, 1:25:40 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 31 - 12/20/2025, 1:25:40 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 31 - 12/20/2025, 1:25:40 AM LOG [Api:SystemConfigService] LogLevel=log (set via system config) [Nest] 31 - 12/20/2025, 1:25:42 AM LOG [Api:MachineLearningRepository] Machine learning server became unhealthy (http://immich-machine-learning:3003). [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:NestFactory] Starting Nest application... [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] ClsModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] ClsCommonModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] KyselyModule$1 dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] OpenTelemetryModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] KyselyCoreModule$1 dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] DiscoveryModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] OpenTelemetryCoreModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] ClsRootModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] ScheduleModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:InstanceLoader] ApiModule dependencies initialized [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] ApiKeyController {/api/api-keys}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/api-keys, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/api-keys, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/api-keys/me, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] ActivityController {/api/activities}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/activities, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/activities, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/activities/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/activities/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] AlbumController {/api/albums}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, PATCH} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/users, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] AppController {/api}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/.well-known/immich, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/custom.css, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] AssetController {/api/assets}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/random, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/device/:deviceId, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/jobs, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/copy, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/ocr, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] AssetMediaController {/api/assets}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/thumbnail, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/playback, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/exist, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/assets/bulk-upload-check, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] AuthController {/api/auth}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/login, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/validateToken, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/change-password, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/logout, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/status, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/session/unlock, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/auth/session/lock, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] AuthAdminController {/api/admin/auth}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/auth/unlink-all, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] DownloadController {/api/download}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/download/info, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/download/archive, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] DuplicateController {/api/duplicates}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/duplicates, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/duplicates, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/duplicates/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] FaceController {/api/faces}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/faces, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/faces, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/faces/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/faces/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] JobController {/api/jobs}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/jobs, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/jobs, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/jobs/:name, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] LibraryController {/api/libraries}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/validate, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/scan, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] MaintenanceController {/api/admin/maintenance}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/login, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] MapController {/api/map}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/map/markers, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/map/reverse-geocode, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] MemoryController {/api/memories}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] NotificationController {/api/notifications}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/notifications, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/notifications, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/notifications, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] NotificationAdminController {/api/admin/notifications}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/test-email, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/templates/:name, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] OAuthController {/api/oauth}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/oauth/authorize, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/oauth/callback, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/oauth/link, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/oauth/unlink, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] PartnerController {/api/partners}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/partners, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/partners, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] PersonController {/api/people}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id/thumbnail, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id/reassign, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/people/:id/merge, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] PluginController {/api/plugins}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/plugins, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/plugins/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] QueueController {/api/queues}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/queues, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/queues/:name, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/queues/:name, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] SearchController {/api/search}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/metadata, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/statistics, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/random, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/large-assets, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/smart, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/explore, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/person, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/places, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/cities, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/search/suggestions, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] ServerController {/api/server}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/about, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/apk-links, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/storage, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/ping, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/version, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/version-history, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/features, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/theme, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/config, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/media-types, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/license, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/license, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/license, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/server/version-check, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] SessionController {/api/sessions}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sessions, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sessions, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sessions, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id/lock, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] SharedLinkController {/api/shared-links}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links/me, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, PATCH} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] StackController {/api/stacks}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id/assets/:assetId, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] SyncController {/api/sync}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sync/full-sync, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sync/delta-sync, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sync/stream, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] SystemConfigController {/api/system-config}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-config, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-config/defaults, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-config, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] SystemMetadataController {/api/system-metadata}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/reverse-geocoding-state, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/version-check-state, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] TagController {/api/tags}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] TimelineController {/api/timeline}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/timeline/buckets, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/timeline/bucket, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] TrashController {/api/trash}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/trash/empty, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/trash/restore, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/trash/restore/assets, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] UserAdminController {/api/admin/users}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/sessions, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/statistics, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/restore, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] UserController {/api/users}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] ViewController {/api/view}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RoutesResolver] WorkflowController {/api/workflows}: [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/workflows, POST} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/workflows, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, GET} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PUT} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, DELETE} route [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:NestApplication] Nest application successfully started [Nest] 31 - 12/20/2025, 1:25:43 AM LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v2.4.1] [production] (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 1:25:51 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 7 - 12/20/2025, 1:26:54 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 7 - 12/20/2025, 1:26:57 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 7 - 12/20/2025, 1:27:28 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/20/2025, 1:27:32 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 12/20/2025, 1:27:38 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 7 - 12/20/2025, 1:27:38 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 7 - 12/20/2025, 1:27:42 AM LOG [Microservices:MapRepository] Initializing metadata repository Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 2:46:28 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 2:46:36 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 7 - 12/20/2025, 2:46:58 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 7 - 12/20/2025, 2:46:59 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 7 - 12/20/2025, 2:47:23 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/20/2025, 2:47:27 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 12/20/2025, 2:47:32 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 7 - 12/20/2025, 2:47:33 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 7 - 12/20/2025, 2:47:35 AM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 31 - 12/20/2025, 2:47:53 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 2:47:54 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 31 - 12/20/2025, 2:48:13 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) [Nest] 31 - 12/20/2025, 2:48:20 AM LOG [Api:StorageService] Successfully verified system mount folder checks at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:30) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 6 - 12/20/2025, 2:54:24 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 30 - 12/20/2025, 2:54:28 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 6 - 12/20/2025, 2:54:31 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 6 - 12/20/2025, 2:54:31 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 6 - 12/20/2025, 2:54:38 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 6 - 12/20/2025, 2:54:40 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 6 - 12/20/2025, 2:54:51 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 6 - 12/20/2025, 2:54:52 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 6 - 12/20/2025, 2:54:54 AM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 30 - 12/20/2025, 2:55:03 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 30 - 12/20/2025, 2:55:04 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 2:57:23 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 2:57:27 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 7 - 12/20/2025, 2:57:32 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 7 - 12/20/2025, 2:57:32 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 7 - 12/20/2025, 2:57:47 AM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/20/2025, 2:57:49 AM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 12/20/2025, 2:57:53 AM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 7 - 12/20/2025, 2:57:53 AM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 7 - 12/20/2025, 2:57:56 AM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 31 - 12/20/2025, 2:58:04 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 2:58:05 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 2:58:35 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } [Nest] 31 - 12/20/2025, 3:50:56 AM LOG [Api:StorageService] Successfully verified system mount folder checks Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } node:internal/process/promises:394 triggerUncaughtException(err, true /* fromPromise */); ^ Error: getaddrinfo EAI_AGAIN database at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'database' } Node.js v22.18.0 Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:30) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 30 - 12/20/2025, 4:37:05 AM LOG [Api:WebsocketRepository] Initialized websocket server (node:6) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 6 - 12/20/2025, 4:37:56 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 30 - 12/20/2025, 5:00:05 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 30 - 12/20/2025, 5:08:52 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 32 - 12/20/2025, 5:32:08 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 5:32:42 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 5:32:42 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 5:32:45 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 32 - 12/20/2025, 5:32:47 AM LOG [Api:StorageService] Successfully verified system mount folder checks (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 5:32:52 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 32 - 12/20/2025, 5:32:52 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 7 - 12/20/2025, 5:32:59 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 5:33:07 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } microservices worker error: Error: write CONNECT_TIMEOUT database:5432, stack: Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) [Nest] 32 - 12/20/2025, 5:33:39 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } microservices worker exited with code 1 Killing api process Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 5:36:49 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 5:40:12 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 5:41:09 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 5:41:10 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 5:41:17 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 32 - 12/20/2025, 5:41:32 AM LOG [Api:StorageService] Successfully verified system mount folder checks (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 5:41:52 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 32 - 12/20/2025, 5:41:53 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 8 - 12/20/2025, 5:42:00 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 5:42:09 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 32 - 12/20/2025, 5:42:18 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 32 - 12/20/2025, 5:44:02 AM LOG [Api:SystemConfigService] LogLevel=log (set via system config) Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } microservices worker error: Error: write CONNECT_TIMEOUT database:5432, stack: Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) [Nest] 32 - 12/20/2025, 5:44:05 AM LOG [Api:MachineLearningRepository] Machine learning server became unhealthy (http://immich-machine-learning:3003). microservices worker exited with code 1 Killing api process Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 5:47:03 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 5:47:30 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 5:47:30 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 5:47:41 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/20/2025, 5:47:41 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 5:47:44 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 31 - 12/20/2025, 5:47:48 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 5:47:48 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 31 - 12/20/2025, 5:47:52 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 31 - 12/20/2025, 5:47:57 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 7 - 12/20/2025, 6:11:00 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 7 - 12/20/2025, 6:19:37 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 6:23:04 AM LOG [Api:SystemConfigService] LogLevel=log (set via system config) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 32 - 12/20/2025, 6:50:41 AM LOG [Api:WebsocketRepository] Initialized websocket server /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 6:54:55 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 6:55:53 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 6:55:55 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 6:56:12 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 6:56:22 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 6:56:31 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 31 - 12/20/2025, 6:56:49 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 6:56:50 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 31 - 12/20/2025, 6:57:02 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 7 - 12/20/2025, 6:57:12 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 6:57:13 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 7 - 12/20/2025, 6:57:13 AM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 8:03:02 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 8:04:20 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 8:04:21 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 8:04:29 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 8:04:32 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 7 - 12/20/2025, 8:04:37 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 8:04:41 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 8:04:41 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 31 - 12/20/2025, 8:04:51 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 31 - 12/20/2025, 8:05:10 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } microservices worker error: Error: write CONNECT_TIMEOUT database:5432, stack: Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) microservices worker exited with code 1 Killing api process Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 32 - 12/20/2025, 8:10:08 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client missing 'error' handler on this Redis client missing 'error' handler on this Redis client Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 32 - 12/20/2025, 8:13:29 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client [Nest] 32 - 12/20/2025, 8:15:07 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 8:15:08 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 8:15:26 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 32 - 12/20/2025, 8:15:42 AM LOG [Api:StorageService] Successfully verified system mount folder checks (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 8:16:10 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 32 - 12/20/2025, 8:16:11 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 7 - 12/20/2025, 8:16:13 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 8:16:21 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 32 - 12/20/2025, 8:16:37 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 9:16:39 AM LOG [Api:WebsocketRepository] Initialized websocket server Missing history for endpoint: Retrieve auth status Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client [Nest] 32 - 12/20/2025, 9:17:35 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 9:17:37 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 9:17:44 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 32 - 12/20/2025, 9:17:48 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 32 - 12/20/2025, 9:17:53 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 32 - 12/20/2025, 9:17:53 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 32 - 12/20/2025, 9:17:57 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 32 - 12/20/2025, 9:18:05 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 9:41:10 AM WARN [Api:VersionService] Unable to run version check: Error: Failed to fetch GitHub release: TypeError: fetch failed Error: Failed to fetch GitHub release: TypeError: fetch failed at ServerInfoRepository.getGitHubRelease (/usr/src/app/server/dist/repositories/server-info.repository.js:60:19) at async VersionService.handleVersionCheck (/usr/src/app/server/dist/services/version.service.js:111:77) at async VersionService.onBootstrap (/usr/src/app/server/dist/services/version.service.js:64:9) at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:91:13) at async ApiModule.onModuleInit (/usr/src/app/server/dist/app.module.js:90:9) at async callModuleInitHook (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/hooks/on-module-init.hook.js:51:9) at async NestApplication.callInitHook (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/nest-application-context.js:242:13) at async NestApplication.init (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/nest-application.js:103:9) at async NestApplication.listen (/usr/src/app/server/node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs+common@11.1.9_class-transformer@0.5.1_class-validator@0.14._89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/nest-application.js:175:13) at async configureExpress (/usr/src/app/server/dist/app.common.js:56:20) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 10:26:01 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 10:26:44 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 10:26:45 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 11:14:46 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 11:19:08 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 31 - 12/20/2025, 11:20:39 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 11:20:41 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 11:25:45 AM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:33) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 33 - 12/20/2025, 11:30:04 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 33 - 12/20/2025, 11:31:36 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 33 - 12/20/2025, 11:31:37 AM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 33 - 12/20/2025, 11:32:05 AM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 33 - 12/20/2025, 11:32:09 AM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 33 - 12/20/2025, 11:32:30 AM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 33 - 12/20/2025, 11:32:30 AM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 33 - 12/20/2025, 11:32:32 AM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 8 - 12/20/2025, 11:32:32 AM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 33 - 12/20/2025, 11:32:39 AM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 11:59:39 AM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 12:00:23 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 12:00:24 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 12:00:34 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 12:00:36 PM LOG [Api:StorageService] Successfully verified system mount folder checks (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 12:00:43 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 12:00:43 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 7 - 12/20/2025, 12:00:42 PM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 12:00:49 PM LOG [Api:PluginService] Successfully loaded plugin: immich-core Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } microservices worker error: Error: write CONNECT_TIMEOUT database:5432, stack: Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 1:13:30 PM LOG [Microservices:WebsocketRepository] Initialized websocket server Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } microservices worker error: Error: write CONNECT_TIMEOUT database:5432, stack: Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) microservices worker exited with code 1 Killing api process Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 1:17:58 PM LOG [Microservices:WebsocketRepository] Initialized websocket server Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 2:08:22 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 2:08:57 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 2:08:58 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 2:09:07 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 2:09:10 PM LOG [Api:StorageService] Successfully verified system mount folder checks (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 2:56:55 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 2:57:09 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 3:53:08 PM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 3:57:17 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 3:59:02 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 3:59:05 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 3:59:36 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 32 - 12/20/2025, 3:59:43 PM LOG [Api:StorageService] Successfully verified system mount folder checks (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 4:00:11 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 32 - 12/20/2025, 4:00:11 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 32 - 12/20/2025, 4:00:19 PM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 7 - 12/20/2025, 4:00:17 PM LOG [Microservices:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client missing 'error' handler on this Redis client missing 'error' handler on this Redis client Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } [Nest] 32 - 12/20/2025, 4:00:50 PM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } microservices worker error: Error: write CONNECT_TIMEOUT database:5432, stack: Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) microservices worker exited with code 1 Killing api process Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 4:04:24 PM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 4:05:30 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 4:05:31 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 32 - 12/20/2025, 4:05:41 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 7 - 12/20/2025, 4:05:38 PM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 4:05:43 PM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 32 - 12/20/2025, 4:05:52 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 32 - 12/20/2025, 4:05:53 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 32 - 12/20/2025, 4:15:32 PM LOG [Api:PluginService] Successfully loaded plugin: immich-core Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 4:46:38 PM LOG [Api:WebsocketRepository] Initialized websocket server Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:32) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 32 - 12/20/2025, 4:57:26 PM LOG [Api:WebsocketRepository] Initialized websocket server (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 7 - 12/20/2025, 4:57:34 PM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 32 - 12/20/2025, 4:57:42 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 32 - 12/20/2025, 4:57:43 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 5:34:38 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 5:34:47 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 5:34:48 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 6:27:27 PM LOG [Api:WebsocketRepository] Initialized websocket server Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 7:26:19 PM LOG [Api:WebsocketRepository] Initialized websocket server Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } Error: connect ETIMEDOUT at Socket. (/usr/src/app/server/node_modules/.pnpm/ioredis@5.8.2/node_modules/ioredis/built/Redis.js:171:41) at Object.onceWrapper (node:events:632:28) at Socket.emit (node:events:518:28) at Socket._onTimeout (node:net:604:8) at listOnTimeout (node:internal/timers:588:17) at process.processTimers (node:internal/timers:523:7) { errorno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect' } missing 'error' handler on this Redis client missing 'error' handler on this Redis client /usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257 errored(Errors.connection('CONNECT_TIMEOUT', options, socket)) ^ Error: write CONNECT_TIMEOUT database:5432 at connectTimedOut (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:257:20) at Timeout.done [as _onTimeout] (/usr/src/app/server/node_modules/.pnpm/postgres@3.4.7/node_modules/postgres/cjs/src/connection.js:1039:8) at listOnTimeout (node:internal/timers:590:11) at process.processTimers (node:internal/timers:523:7) { code: 'CONNECT_TIMEOUT', errno: 'CONNECT_TIMEOUT', address: 'database', port: 5432 } Node.js v22.18.0 (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) api worker exited with code 1 Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 7:32:12 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 7:32:56 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 7:32:56 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 7:33:07 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 31 - 12/20/2025, 7:33:09 PM LOG [Api:StorageService] Successfully verified system mount folder checks Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status (node:31) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Missing history for endpoint: Retrieve auth status [Nest] 31 - 12/20/2025, 8:12:12 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 31 - 12/20/2025, 8:12:55 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 31 - 12/20/2025, 8:12:56 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 31 - 12/20/2025, 8:13:02 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 31 - 12/20/2025, 8:13:08 PM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 31 - 12/20/2025, 8:13:19 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 31 - 12/20/2025, 8:13:20 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) Initializing Immich v2.4.1 Detected CPU Cores: 2 Missing history for endpoint: Retrieve auth status (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) Starting api worker Starting microservices worker Missing history for endpoint: Retrieve auth status Missing history for endpoint: Retrieve auth status (node:41) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8) ExperimentalWarning: WASI is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [Nest] 8 - 12/20/2025, 8:49:29 PM LOG [Microservices:WebsocketRepository] Initialized websocket server [Nest] 41 - 12/20/2025, 8:49:32 PM LOG [Api:WebsocketRepository] Initialized websocket server [Nest] 41 - 12/20/2025, 8:49:38 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 41 - 12/20/2025, 8:49:39 PM LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 41 - 12/20/2025, 8:50:00 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 41 - 12/20/2025, 8:50:03 PM LOG [Api:StorageService] Successfully verified system mount folder checks [Nest] 41 - 12/20/2025, 8:50:07 PM LOG [Api:PluginService] Plugin immich-core is up to date (version 2.0.0). Skipping [Nest] 41 - 12/20/2025, 8:50:07 PM LOG [Api:PluginService] Successfully processed core plugin: immich-core (version 2.0.0) [Nest] 8 - 12/20/2025, 8:50:07 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 6832 rows [Nest] 8 - 12/20/2025, 8:50:08 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 3530 rows [Nest] 41 - 12/20/2025, 8:50:09 PM LOG [Api:PluginService] Successfully loaded plugin: immich-core [Nest] 41 - 12/20/2025, 8:50:10 PM LOG [Api:ServerService] Feature Flags: { "smartSearch": true, "facialRecognition": true, "duplicateDetection": true, "map": true, "reverseGeocoding": true, "importFaces": false, "sidecar": true, "search": true, "trash": true, "oauth": false, "oauthAutoLaunch": false, "ocr": true, "passwordLogin": true, "configFile": false, "email": false } [Nest] 8 - 12/20/2025, 8:50:16 PM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} [Nest] 8 - 12/20/2025, 8:50:21 PM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 8 - 12/20/2025, 8:50:22 PM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 8 - 12/20/2025, 8:50:22 PM LOG [Microservices:MetadataService] Initializing metadata service [Nest] 41 - 12/20/2025, 8:50:24 PM LOG [Api:SystemConfigService] LogLevel=log (set via system config) [Nest] 8 - 12/20/2025, 8:50:25 PM LOG [Microservices:MapRepository] Initializing metadata repository [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:NestFactory] Starting Nest application... [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] ClsModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] ClsCommonModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] KyselyModule$1 dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] OpenTelemetryModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] KyselyCoreModule$1 dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] DiscoveryModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] OpenTelemetryCoreModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] ClsRootModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] ScheduleModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] BullModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:InstanceLoader] ApiModule dependencies initialized [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] ApiKeyController {/api/api-keys}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/me, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] ActivityController {/api/activities}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/activities, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/activities, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/activities/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/activities/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] AlbumController {/api/albums}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, PATCH} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/users, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] AppController {/api}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/.well-known/immich, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/custom.css, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] AssetController {/api/assets}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/random, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/device/:deviceId, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/jobs, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/copy, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/ocr, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] AssetMediaController {/api/assets}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/thumbnail, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/playback, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/exist, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/assets/bulk-upload-check, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] AuthController {/api/auth}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/login, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/validateToken, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/change-password, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/logout, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/status, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/session/unlock, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/auth/session/lock, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] AuthAdminController {/api/admin/auth}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/auth/unlink-all, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] DownloadController {/api/download}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/download/info, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/download/archive, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] DuplicateController {/api/duplicates}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/duplicates, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/duplicates, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/duplicates/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] FaceController {/api/faces}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/faces, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/faces, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/faces/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/faces/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] JobController {/api/jobs}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/jobs, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/jobs, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/jobs/:name, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] LibraryController {/api/libraries}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/validate, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/scan, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] MaintenanceController {/api/admin/maintenance}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/login, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] MapController {/api/map}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/map/markers, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/map/reverse-geocode, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] MemoryController {/api/memories}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] NotificationController {/api/notifications}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/notifications, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/notifications, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/notifications, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] NotificationAdminController {/api/admin/notifications}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/test-email, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/templates/:name, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] OAuthController {/api/oauth}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/authorize, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/callback, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/link, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/oauth/unlink, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] PartnerController {/api/partners}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/partners, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/partners, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/partners/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] PersonController {/api/people}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/thumbnail, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/reassign, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/people/:id/merge, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] PluginController {/api/plugins}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/plugins, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/plugins/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] QueueController {/api/queues}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/queues, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/queues/:name, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/queues/:name, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] SearchController {/api/search}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/metadata, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/statistics, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/random, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/large-assets, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/smart, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/explore, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/person, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/places, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/cities, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/search/suggestions, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] ServerController {/api/server}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/about, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/apk-links, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/storage, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/ping, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/version, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/version-history, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/features, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/theme, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/config, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/media-types, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/license, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/license, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/license, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/server/version-check, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] SessionController {/api/sessions}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sessions, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sessions, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sessions, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sessions/:id/lock, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] SharedLinkController {/api/shared-links}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/me, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, PATCH} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] StackController {/api/stacks}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/stacks/:id/assets/:assetId, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] SyncController {/api/sync}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sync/full-sync, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sync/delta-sync, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sync/stream, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/sync/ack, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] SystemConfigController {/api/system-config}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-config, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-config/defaults, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-config, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] SystemMetadataController {/api/system-metadata}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/reverse-geocoding-state, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/system-metadata/version-check-state, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] TagController {/api/tags}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] TimelineController {/api/timeline}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/timeline/buckets, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/timeline/bucket, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] TrashController {/api/trash}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/trash/empty, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/trash/restore, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/trash/restore/assets, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] UserAdminController {/api/admin/users}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/sessions, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/statistics, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/restore, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] UserController {/api/users}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] ViewController {/api/view}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RoutesResolver] WorkflowController {/api/workflows}: [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/workflows, POST} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/workflows, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, GET} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PUT} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, DELETE} route [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:NestApplication] Nest application successfully started [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v2.4.1] [production] [Nest] 41 - 12/20/2025, 8:50:28 PM LOG [Api:MachineLearningRepository] Machine learning server became unhealthy (http://immich-machine-learning:3003). Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' } Error: getaddrinfo EAI_AGAIN redis at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:122:26) { errno: -3001, code: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'redis' }