immich icon indicating copy to clipboard operation
immich copied to clipboard

Immich Does Not Support Nvidia 575

Open novate opened this issue 5 months ago • 2 comments

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

  • [x] Yes

The bug

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: detection error: open failed: /usr/lib/libnvidia-tls.so.570.153.02: no such file or directory: unknown

The OS that Immich Server is running on

Fedora 42

Version of Immich Server

latest as of 06/15/2025

Version of Immich Mobile App

latest as of 06/15/2025

Platform with the issue

  • [x] Server
  • [ ] Web
  • [ ] Mobile

Your docker-compose.yml content

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

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
      file: hwaccel.transcoding.yml
      service: nvenc # 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}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - {redacted}:{redacted}
    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, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
    extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
      file: hwaccel.ml.yml
      service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

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

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1
    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
      - immich-db:/var/lib/postgresql/data
    restart: always

volumes:
  model-cache:
  immich-db:

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={redacted}

# 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={redacted}

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

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

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME={redacted}
DB_DATABASE_NAME={redacted}

Reproduction steps

  1. Update Nvidia version from 570 to 575.
  2. Restart services, immich_machine_learning and immich_server won't work, with the error message as above.
  3. Issue persists after reboot.
  4. Downgrade Nvidia version back to 570, everything works again.

Relevant log output


Additional information

No response

novate avatar Jun 16 '25 04:06 novate

This looks like an error from your docker daemon and/or nvidia-container-cli. I'm not sure Immich has any hand in this.

bo0tzz avatar Jun 16 '25 11:06 bo0tzz

A quick search of the error message yields https://github.com/NVIDIA/nvidia-container-toolkit/issues/297#issuecomment-1903945899, maybe try that?

bo0tzz avatar Jun 16 '25 11:06 bo0tzz

@bo0tzz Thanks for searching! I tried ls /usr/lib/libnvidia-tls but didn't find any old version files.

In this post it mentioned another work around, but seems like we can't simply apply it to immich.

novate avatar Jun 17 '25 06:06 novate

Closing this as this is not an Immich issue.

novate avatar Jun 17 '25 17:06 novate

please

nvidia-smi -pm ENABLED

then change jwaccel.ml.yml

services:
  cuda:
    runtime: nvidia
    environment:
      NVIDIA_VISIBLE_DEVICES: all
      NVIDIA_DRIVER_CAPABILITIES: compute,utility

yuhldr avatar Sep 02 '25 12:09 yuhldr

please

nvidia-smi -pm ENABLED then change jwaccel.ml.yml

services: cuda: runtime: nvidia environment: NVIDIA_VISIBLE_DEVICES: all NVIDIA_DRIVER_CAPABILITIES: compute,utility

thanks, this works for me. After upgrading arch i was unable to start ml container

what is going on?

svonjoi avatar Sep 03 '25 21:09 svonjoi

FYI: these changes require docker compose up -d --force-recreate

maxwase avatar Sep 06 '25 17:09 maxwase