External libraries - Externally removed assets are moved to Trash by IMMICH and can't be emptied #13771
The bugI have an external library that is read-only for IMICH and the adding and removing assests is handled externally. When assets are removed and the library is re-scanned, the removed assets disapear from Home page as expected, but they show in Trash, which is not expected. Because what I see in Trash is simply a thumbnail, the actual asset is already gone. I believe that externally managed asset shouldn't show in Trash. Furthermore, when I click on "Empty Trash" in the Web UI, it doesn't work and Trash can't be cleaned. It is now forever building up... The OS that Immich Server is running onFedora Version of Immich Serverv1.118.2 Version of Immich Mobile Appv1.118.2 Platform with the issue
Your docker-compose.yml contentname: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- <mylibrary>:/usr/src/app/external:ro
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
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:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
healthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --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: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=./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 "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=immichReproduction steps
Relevant log output0d50f4619b4e [Nest] 12 - 10/28/2024, 12:44:34 PM ERROR [Api:GlobalExceptionFilter~wn5sz5xf] Unknown error: Error: ENOENT: no such file or directory, access '/usr/src/app/external/video [dDPAANARsHM].mp4'Additional informationNo response |
Replies: 7 comments 25 replies
|
This is working as expected. Displaying them in trash is currently a placeholder, eventually there'll be a dedicated page for them. |
|
I have the same issue, is there a way to empty my trash to get rid of the assets I deleted from the external library outside of Immich? |
|
I have written a script to empty the trash for immich in docker. Just run this on the host. It will remove all assets from the trash including deleted files from read only external libraries. |
|
Happy you found it useful :) |
|
Great, you did the work for me. public.assets → public.asset public.asset_files → public.asset_file Easy fix. |
|
I had the same issue. What worked for me is to manually select all images (select one, then upper right corner select all) and then trash them. Note: this works even though "trash all" does not work. |
The patch was rejected with:
In the meantime you can use this suggested workaround by @nielstron