I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
When scanning an external library, Immich successfully crawls and detects all files (11,388 files in my case), but then immediately marks the library as empty and doesn't process any imports. The files remain invisible in the UI, and no import jobs are executed.
- Files are accessible from both containers (ls -la works)
- Permissions allow reading files
- File formats are supported by Immich
The OS that Immich Server is running on
Debian GNU/Linux 13 (trixie)
Version of Immich Server
v2.4.1
Version of Immich Mobile App
v2.5.0
Platform with the issue
Device make and model
No response
Your docker-compose.yml content
#
# 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
# - /media/Armoire/Images_Voyages:/media/Armoire/Images_Voyages
- /media/Armoire/Images/iCloud:/media/Armoire/Images/iCloud
- ./stream:/media/stream
env_file:
- .env
environment:
IMMICH_WORKERS_INCLUDE: 'api'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
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
# - /media/Armoire/Images_Voyages:/media/Armoire/Images_Voyages
- /media/Armoire/Images/iCloud:/media/Armoire/Images/iCloud
- ./stream:/media/stream
env_file:
- .env
environment:
IMMICH_WORKERS_EXCLUDE: 'api'
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:9@sha256:fb8d272e529ea567b9bf1302245796f21a2672b8368ca3fcb938ac334e613c8f
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:
networks:
default:
name: traefik
external: true
Your .env content
# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres
# 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=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v2.1.0"
IMMICH_VERSION=v2.4.1
# 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
volumes:
- /media/Armoire/Images/iCloud:/media/Armoire/Images/iCloud
- Create an external library in the UI pointing to
/media/Armoire/Images/iCloud (from admin panel)
- Trigger a library scan from the UI
Actual Behavior
What happens:
- Crawl succeeds -
immich-microservices logs show:
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Starting disk crawl of 1 import path(s) for library 21b8d080-a504-41e7-8ee0-ea0491409155...
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Crawled 10000 file(s) so far: 10000 of current batch of 10000 will be imported...
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Crawled 11388 file(s) so far: 1388 of current batch of 1388 will be imported...
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Finished disk crawl, 11388 file(s) found on disk and queued 11388 file(s) for import into 21b8d080-a504-41e7-8ee0-ea0491409155
- Immediately marked as empty - Very next line:
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Library 21b8d080-a504-41e7-8ee0-ea0491409155 is empty, no need to check assets
- No further processing - After 24+ hours:
- No files appear in the library folder view
immich-microservices logs show no import activity when triggering scan
immich-server logs only show the scan request:
[Nest] 31 - 02/05/2026, 7:35:20 PM DEBUG [Api:LoggingInterceptor] PUT /api/jobs/library 200 27.61ms
[Nest] 31 - 02/05/2026, 7:35:20 PM VERBOSE [Api:LoggingInterceptor] {"command":"start"}
Relevant log output
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Starting disk crawl of 1 import path(s) for library 21b8d080-a504-41e7-8ee0-ea0491409155...
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Crawled 10000 file(s) so far: 10000 of current batch of 10000 will be imported...
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Crawled 11388 file(s) so far: 1388 of current batch of 1388 will be imported...
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Finished disk crawl, 11388 file(s) found on disk and queued 11388 file(s) for import into 21b8d080-a504-41e7-8ee0-ea0491409155
[Nest] 7 - 02/05/2026, 7:15:37 PM LOG [Microservices:LibraryService] Library 21b8d080-a504-41e7-8ee0-ea0491409155 is empty, no need to check assets
Additional information
No response
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
When scanning an external library, Immich successfully crawls and detects all files (11,388 files in my case), but then immediately marks the library as empty and doesn't process any imports. The files remain invisible in the UI, and no import jobs are executed.
The OS that Immich Server is running on
Debian GNU/Linux 13 (trixie)
Version of Immich Server
v2.4.1
Version of Immich Mobile App
v2.5.0
Platform with the issue
Device make and model
No response
Your docker-compose.yml content
Your .env content
Reproduction steps
/media/Armoire/Images/iCloud(from admin panel)Actual Behavior
What happens:
immich-microserviceslogs show:immich-microserviceslogs show no import activity when triggering scanimmich-serverlogs only show the scan request:Relevant log output
Additional information
No response