immich_server Loses Container IP Address #7313

Closed
opened 2026-02-20 05:01:52 -05:00 by deekerman · 1 comment
Owner

Originally created by @gnr8shn on GitHub (Nov 8, 2025).

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

  • Yes

The bug

The supporting DB, redis, worker containers start. The immich-server container works for a while (30 seconds) then loses it's IP address. The console is not accessible from Portainer nor the docker exec command.

The OS that Immich Server is running on

Linux rpi05 6.12.47+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1~bookworm (2025-09-16) aarch64 GNU/Linux

Version of Immich Server

v2.2.3

Version of Immich Mobile App

n/a

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

Raspberry Pi 5

Your docker-compose.yml content

Using 2.2.3 docker-compose.yaml.
Contents of docker-compose.override.yaml:

# Override file
name: immich

services:
  immich-server:
    volumes:
      - immich.library:/usr/src/app/upload
      - /mnt/backup/backups/g_gdrive/Pictures:/usr/src/app/g_gdrive
      - type: tmpfs
        target: /usr/src/app/tmpfs
      - /mnt/backup/backups/docker.rpi05/volumes/caddy.config/_data:/certs:ro          # Location of Smallstep CA
      - /etc/ssl/certs:/etc/ssl/certs:ro
      - /usr/share/ca-certificates/:/usr/share/ca-certificates/:ro
      - /usr/local/share/ca-certificates/:/usr/local/share/ca-certificates/:ro
    labels:
      - com.centurylinklabs.watchtower.monitor-only=true
    networks:
      myapps_myBridge:
        ipv4_address: 172.20.0.100


  immich-machine-learning:
    labels:
      - com.centurylinklabs.watchtower.monitor-only=true
    volumes:
      - immich_machine_learning_model.cache:/cache
    networks:
      - myapps_myBridge

  redis:
    volumes:
      - immich_redis.data:/data
    networks:
      - myapps_myBridge
    command: redis-server --loglevel warning

  database:
    container_name: immich_postgres
    environment:
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - immich_db.data:/var/lib/postgresql/data
    networks:
      - myapps_myBridge

volumes:
  immich.data:
    name: immich.data
    external: true
  immich.library:
    name: immich.library
    external: true
  immich_machine_learning_model.cache:
    name: immich_machine_learning_model.cache
    external: true
  immich_redis.data:
    name: immich_redis.data
    external: true
  immich_db.data:
    name: immich_db.data
    external: true

networks:
  myapps_myBridge:
    external: true

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=immich.data

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=immich_db.data

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=Australia/Sydney

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

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=REDACTED

# verbose, debug, log, warn, error
IMMICH_LOG_LEVEL=warn

# With volume mount. Suggested by https://github.com/immich-app/immich/discussions/18614
NODE_EXTRA_CA_CERTS: /certs/Smallstep_Root_CA.cer

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

docker-compose.yaml for 2.2.3

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

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/data
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

volumes:
  model-cache:

Reproduction steps

  1. docker compose -p immich up -d

Relevant log output

Initializing Immich v2.2.3
Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 7  - 11/08/2025, 4:31:26 PM     LOG [Microservices:WebsocketRepository] Initialized websocket server
ReplyError: NOAUTH Authentication required.
    at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'info', args: [] }
}

<repeated lines>

missing 'error' handler on this Redis client
[Nest] 7  - 11/08/2025, 4:31:26 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 3678 rows
[Nest] 7  - 11/08/2025, 4:31:26 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 4542 rows
[Nest] 7  - 11/08/2025, 4:31:26 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] 7  - 11/08/2025, 4:31:26 PM     LOG [Microservices:StorageService] Successfully verified system mount folder checks
[Nest] 7  - 11/08/2025, 4:31:26 PM     LOG [Microservices:MetadataService] Bootstrapping metadata service
[Nest] 7  - 11/08/2025, 4:31:26 PM     LOG [Microservices:MetadataService] Initializing metadata service
ReplyError: NOAUTH Authentication required.
    at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'info', args: [] }
}
[Nest] 23  - 11/08/2025, 4:31:26 PM     LOG [Api:WebsocketRepository] Initialized websocket server
ReplyError: NOAUTH Authentication required.
    at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'info', args: [] }
}

<Repeated lines>

missing 'error' handler on this Redis client
/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179
    return new ReplyError(string)
           ^

ReplyError: NOAUTH Authentication required.
    at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'info', args: [] }
}

Node.js v22.18.0
api worker exited with code 1
Initializing Immich v2.2.3
Detected CPU Cores: 4

Additional information

Seems like an authentication issue with Redis?

  • Tried different versions of Immich back to 2.0.0, using the correct docker-compose.yaml for the release and updating IMMICH_VERSION each time.
  • Tried Docker's recommended version of redis.
  • Tried adding requirepass "" in redis.conf - really guessing here.
  • Does seem like an authentication issue between Immich and Redis?

Edited: added in docker-compose for 2.2.3

Originally created by @gnr8shn on GitHub (Nov 8, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug The supporting DB, redis, worker containers start. The immich-server container works for a while (30 seconds) then loses it's IP address. The console is not accessible from Portainer nor the `docker exec` command. ### The OS that Immich Server is running on Linux rpi05 6.12.47+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1~bookworm (2025-09-16) aarch64 GNU/Linux ### Version of Immich Server v2.2.3 ### Version of Immich Mobile App n/a ### Platform with the issue - [x] Server - [ ] Web - [ ] Mobile ### Device make and model Raspberry Pi 5 ### Your docker-compose.yml content ```YAML Using 2.2.3 docker-compose.yaml. Contents of docker-compose.override.yaml: # Override file name: immich services: immich-server: volumes: - immich.library:/usr/src/app/upload - /mnt/backup/backups/g_gdrive/Pictures:/usr/src/app/g_gdrive - type: tmpfs target: /usr/src/app/tmpfs - /mnt/backup/backups/docker.rpi05/volumes/caddy.config/_data:/certs:ro # Location of Smallstep CA - /etc/ssl/certs:/etc/ssl/certs:ro - /usr/share/ca-certificates/:/usr/share/ca-certificates/:ro - /usr/local/share/ca-certificates/:/usr/local/share/ca-certificates/:ro labels: - com.centurylinklabs.watchtower.monitor-only=true networks: myapps_myBridge: ipv4_address: 172.20.0.100 immich-machine-learning: labels: - com.centurylinklabs.watchtower.monitor-only=true volumes: - immich_machine_learning_model.cache:/cache networks: - myapps_myBridge redis: volumes: - immich_redis.data:/data networks: - myapps_myBridge command: redis-server --loglevel warning database: container_name: immich_postgres environment: volumes: # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - immich_db.data:/var/lib/postgresql/data networks: - myapps_myBridge volumes: immich.data: name: immich.data external: true immich.library: name: immich.library external: true immich_machine_learning_model.cache: name: immich_machine_learning_model.cache external: true immich_redis.data: name: immich_redis.data external: true immich_db.data: name: immich_db.data external: true networks: myapps_myBridge: external: true ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=immich.data # The location where your database files are stored. Network shares are not supported for the database DB_DATA_LOCATION=immich_db.data # To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List TZ=Australia/Sydney # The Immich version to use. You can pin this to a specific version like "v1.71.0" # IMMICH_VERSION=release IMMICH_VERSION=v2.2.3 # Connection secret for postgres. You should change it to a random password # Please use only the characters `A-Za-z0-9`, without special characters or spaces DB_PASSWORD=REDACTED # verbose, debug, log, warn, error IMMICH_LOG_LEVEL=warn # With volume mount. Suggested by https://github.com/immich-app/immich/discussions/18614 NODE_EXTRA_CA_CERTS: /certs/Smallstep_Root_CA.cer # The values below this line do not need to be changed ################################################################################### DB_USERNAME=postgres DB_DATABASE_NAME=immich ``` ### docker-compose.yaml for 2.2.3 ``` # # WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose # # Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding volumes: # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file - ${UPLOAD_LOCATION}:/data - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - '2283:2283' depends_on: - redis - database restart: always healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. # Example tag: ${IMMICH_VERSION:-release}-cuda image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration # file: hwaccel.ml.yml # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - model-cache:/cache env_file: - .env restart: always healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa healthcheck: test: redis-cli ping || exit 1 restart: always database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs # DB_STORAGE_TYPE: 'HDD' volumes: # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - ${DB_DATA_LOCATION}:/var/lib/postgresql/data shm_size: 128mb restart: always volumes: model-cache: ``` ### Reproduction steps 1. `docker compose -p immich up -d` ### Relevant log output ```shell Initializing Immich v2.2.3 Detected CPU Cores: 4 Starting api worker Starting microservices worker [Nest] 7 - 11/08/2025, 4:31:26 PM LOG [Microservices:WebsocketRepository] Initialized websocket server ReplyError: NOAUTH Authentication required. at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12) at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) { command: { name: 'info', args: [] } } <repeated lines> missing 'error' handler on this Redis client [Nest] 7 - 11/08/2025, 4:31:26 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 3678 rows [Nest] 7 - 11/08/2025, 4:31:26 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 4542 rows [Nest] 7 - 11/08/2025, 4:31:26 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] 7 - 11/08/2025, 4:31:26 PM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 11/08/2025, 4:31:26 PM LOG [Microservices:MetadataService] Bootstrapping metadata service [Nest] 7 - 11/08/2025, 4:31:26 PM LOG [Microservices:MetadataService] Initializing metadata service ReplyError: NOAUTH Authentication required. at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12) at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) { command: { name: 'info', args: [] } } [Nest] 23 - 11/08/2025, 4:31:26 PM LOG [Api:WebsocketRepository] Initialized websocket server ReplyError: NOAUTH Authentication required. at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12) at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) { command: { name: 'info', args: [] } } <Repeated lines> missing 'error' handler on this Redis client /usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179 return new ReplyError(string) ^ ReplyError: NOAUTH Authentication required. at parseError (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12) at parseType (/usr/src/app/server/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14) { command: { name: 'info', args: [] } } Node.js v22.18.0 api worker exited with code 1 Initializing Immich v2.2.3 Detected CPU Cores: 4 ``` ### Additional information Seems like an authentication issue with Redis? - Tried different versions of Immich back to 2.0.0, using the correct `docker-compose.yaml` for the release and updating `IMMICH_VERSION` each time. - Tried Docker's recommended version of redis. - Tried adding `requirepass ""` in `redis.conf` - really guessing here. - Does seem like an authentication issue between Immich and Redis? Edited: added in docker-compose for 2.2.3
Author
Owner

@gnr8shn commented on GitHub (Nov 8, 2025):

Decided to rebuild from scratch and stop wasting people's time :-)

@gnr8shn commented on GitHub (Nov 8, 2025): Decided to rebuild from scratch and stop wasting people's time :-)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#7313
No description provided.