Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Photos in external library that contains accented letters in the file name are not scanned and served. #17072

Closed
4 tasks done
cavaliere78 opened this issue Mar 24, 2025 · 5 comments

Comments

@cavaliere78
Copy link

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

  • Yes

The bug

Photos with accented letters in the name are not displayed by the server

The OS that Immich Server is running on

Windows 11 Docker Desktop

Version of Immich Server

v1.129.0

Version of Immich Mobile App

1.129.0 build.187

Platform with the issue

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

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    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
    healthcheck:
      test: >-
        pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
        Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
        --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
        echo "checksum failure count is $$Chksum";
        [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: >-
      postgres
      -c shared_preload_libraries=vectors.so
      -c 'search_path="$$user", public, vectors'
      -c logging_collector=on
      -c max_wal_size=2GB
      -c shared_buffers=512MB
      -c wal_compression=on
    restart: always

volumes:
  model-cache:
  pgdata:
  arcvideo:
    driver_opts:
      type: cifs
      o: "username=user,password=password"
      device: "//192.168.1.180/Archivio_master_root/Archivi/Archivio_video_personali"
  arcfoto:
    driver_opts:
      type: cifs
      o: "username=user,password=password"
      device: "//192.168.1.180/Archivio_master_root/Archivi/Archivio_foto_per_anno"

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=./library
# The location where your database files are stored
DB_DATA_LOCATION=pgdata

# 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=Europe/Rome

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

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

Reproduction steps

  1. Crearte a volume connected to a samba shared folder tha contains some photos with accented letters in the file name. E.g.: "papà.jpg"
  2. Create an extenal library using the shared folder
  3. Only photos without accented letters in the name will be displayed by the server. File like: "papà.jpg" will be not visible on the server.

Relevant log output

Additional information

No response

@mmomjian
Copy link
Contributor

Please review #17068

Please show the files on the command prompt using the CIFS mount. Are those characters supported?

@cavaliere78
Copy link
Author

Hi,thanks for the support.
Below the file from the command prompt inside immich_server container:

Image

Below the sam file in windows samba connection:

Image

It seems that the "à" characther is not supported.

So it doesn't seem like an Immich issue. But if you can, could you direct me on how to properly connect a CIFS share?

@mmomjian mmomjian closed this as not planned Won't fix, can't repro, duplicate, stale Mar 25, 2025
@mmomjian
Copy link
Contributor

I’m not sure how to connect it. Likely CIFS/Samba doesn’t support this.

@wolvth
Copy link

wolvth commented Mar 25, 2025

When mounting SMB via CIFS, specifying the character set with iocharset=utf8 works universally. While I don’t know the exact character set your language requires, using utf8 resolved similar issues for me. I tested it with Korean and Japanese characters, and both displayed correctly.

@cavaliere78
Copy link
Author

Thanks,
I have solved the issue as you suggested.

I changed my volumes in this way:

arcvideo:
driver_opts:
type: cifs
o: "username=user,password=password,iocharset=utf8"
device: "//192.168.1.180/Archivio_master_root/Archivi/Archivio_video_personali"
arcfoto:
driver_opts:
type: cifs
o: "username=user,password=password,iocharset=utf8"
device: "//192.168.1.180/Archivio_master_root/Archivi/Archivio_foto_per_anno"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants