[BUG] Immich does not sync libraries nor does it update the default library if items are deleted #1510

Closed
opened 2026-02-05 02:10:05 +03:00 by OVERLORD · 27 comments
Owner

Originally created by @AllenSikorski on GitHub (Oct 25, 2023).

Originally assigned to: @etnoy on GitHub.

The bug

Here's the first half of my docker-compose file that contains the mounting instructions for the library:

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ["start.sh", "immich"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: ["start.sh", "microservices"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

Here's the .env file:

UPLOAD_LOCATION=/mnt/12Bay/Pictures/MobileUploads

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

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=some-random-text
DB_PASSWORD=postgres

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

REDIS_HOSTNAME=immich_redis


PUBLIC_LOGIN_PAGE_MESSAGE="Family Photos aand Videos Backup Server"

IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001`

I can also confirm that the file is properly mounted within the Immich Server here:
image

But when I go into the web GUI>Account Settings>Libraries and enter the mount path under new Library, it doesn't show anything even when doing a force rescan.

image

Additionally, I deleted the MobileUpload path at: /mnt/12Bay/Pictures/MobileUploads so there is nothing currently in that directory; however, I continue to see that Immich believes there are still files there and doing a library refresh doesn't resolve the issue.

The OS that Immich Server is running on

Ubuntu 20.04.5 LTS

Version of Immich Server

1.82.1

Version of Immich Mobile App

1.82.0 build.121

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ["start.sh", "immich"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: ["start.sh", "microservices"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file:
      - .env
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - tsdata:/data
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:8080
    depends_on:
      - immich-server
      - immich-web
    restart: always

volumes:
  pgdata:
  model-cache:
  tsdata:

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=/mnt/12Bay/Pictures/MobileUploads

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

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=some-random-text
DB_PASSWORD=postgres

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

REDIS_HOSTNAME=immich_redis


PUBLIC_LOGIN_PAGE_MESSAGE="Family Photos aand Videos Backup Server"

IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001

Reproduction steps

1. Fresh Ubuntu Installation
2. Installed Immich using the config and .env listed above.
3. Attempted to add mounted library to no avail. 
4. Noticed Mobile uploads were not going to /mnt/12Bay/Pictures but rather going to /mnt/12bay/Pictures (case difference in 12Bay).
5. Deleted /mnt/12bay and corrected the path to the NFS mounted drive at /mnt/12Bay/Pictures
6. Confirmed backups work without issue, but noticed that the Default Library was still showing the old photos that were since deleted from the filesystem. 
7. Attempted a forced library refresh and neither did the Mounted Library update (still shows as zero) nor the Default Library (items should have gone down as there is only 1 picture in the actual filesystem).
...

Additional information

No response

Originally created by @AllenSikorski on GitHub (Oct 25, 2023). Originally assigned to: @etnoy on GitHub. ### The bug Here's the first half of my docker-compose file that contains the mounting instructions for the library: ``` version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: ["start.sh", "immich"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro env_file: - .env depends_on: - redis - database - typesense restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: ["start.sh", "microservices"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro env_file: - .env depends_on: - redis - database - typesense restart: always ``` Here's the .env file: ``` UPLOAD_LOCATION=/mnt/12Bay/Pictures/MobileUploads # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secrets for postgres and typesense. You should change these to random passwords TYPESENSE_API_KEY=some-random-text DB_PASSWORD=postgres # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis PUBLIC_LOGIN_PAGE_MESSAGE="Family Photos aand Videos Backup Server" IMMICH_WEB_URL=http://immich-web:3000 IMMICH_SERVER_URL=http://immich-server:3001` ``` I can also confirm that the file is properly mounted within the Immich Server here: <img width="374" alt="image" src="https://github.com/immich-app/immich/assets/25700693/637a7b84-fae1-454b-a24d-58ece6f45138"> But when I go into the web GUI>Account Settings>Libraries and enter the mount path under new Library, it doesn't show anything even when doing a force rescan. <img width="601" alt="image" src="https://github.com/immich-app/immich/assets/25700693/2c9cc61d-014b-482c-94ed-6b3dd393dd02"> Additionally, I deleted the MobileUpload path at: /mnt/12Bay/Pictures/MobileUploads so there is nothing currently in that directory; however, I continue to see that Immich believes there are still files there and doing a library refresh doesn't resolve the issue. ### The OS that Immich Server is running on Ubuntu 20.04.5 LTS ### Version of Immich Server 1.82.1 ### Version of Immich Mobile App 1.82.0 build.121 ### Platform with the issue - [X] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: ["start.sh", "immich"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro env_file: - .env depends_on: - redis - database - typesense restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: ["start.sh", "microservices"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /mnt/12Bay/Pictures/Allen:/mnt/12Bay/Pictures/Allen:ro env_file: - .env depends_on: - redis - database - typesense restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - model-cache:/cache env_file: - .env restart: always immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} env_file: - .env restart: always typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data # remove this to get debug messages - GLOG_minloglevel=1 volumes: - tsdata:/data restart: always redis: container_name: immich_redis image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 restart: always database: container_name: immich_postgres image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - pgdata:/var/lib/postgresql/data restart: always immich-proxy: container_name: immich_proxy image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release} environment: # Make sure these values get passed through from the env file - IMMICH_SERVER_URL - IMMICH_WEB_URL ports: - 2283:8080 depends_on: - immich-server - immich-web restart: always volumes: pgdata: model-cache: tsdata: ``` ### 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=/mnt/12Bay/Pictures/MobileUploads # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secrets for postgres and typesense. You should change these to random passwords TYPESENSE_API_KEY=some-random-text DB_PASSWORD=postgres # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis PUBLIC_LOGIN_PAGE_MESSAGE="Family Photos aand Videos Backup Server" IMMICH_WEB_URL=http://immich-web:3000 IMMICH_SERVER_URL=http://immich-server:3001 ``` ### Reproduction steps ```bash 1. Fresh Ubuntu Installation 2. Installed Immich using the config and .env listed above. 3. Attempted to add mounted library to no avail. 4. Noticed Mobile uploads were not going to /mnt/12Bay/Pictures but rather going to /mnt/12bay/Pictures (case difference in 12Bay). 5. Deleted /mnt/12bay and corrected the path to the NFS mounted drive at /mnt/12Bay/Pictures 6. Confirmed backups work without issue, but noticed that the Default Library was still showing the old photos that were since deleted from the filesystem. 7. Attempted a forced library refresh and neither did the Mounted Library update (still shows as zero) nor the Default Library (items should have gone down as there is only 1 picture in the actual filesystem). ... ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Oct 25, 2023):

Have you set the path for the user in the administration page > User table?

@alextran1502 commented on GitHub (Oct 25, 2023): Have you set the path for the user in the administration page > User table?
Author
Owner

@AllenSikorski commented on GitHub (Oct 26, 2023):

I went into Administration>User Management>[the user - admin]>External Path and put /mnt/12Bay/Pictures/Allen. I tested again and it's the same result, unfortunately.

@AllenSikorski commented on GitHub (Oct 26, 2023): I went into Administration>User Management>[the user - admin]>External Path and put /mnt/12Bay/Pictures/Allen. I tested again and it's the same result, unfortunately.
Author
Owner

@AllenSikorski commented on GitHub (Oct 26, 2023):

Oh this may be of some help to you guys troubleshooting wise. I created a new user and it works perfectly, but under the main Admin account is fails to work.

@AllenSikorski commented on GitHub (Oct 26, 2023): Oh this may be of some help to you guys troubleshooting wise. I created a new user and it works perfectly, but under the main Admin account is fails to work.
Author
Owner

@jrasm91 commented on GitHub (Oct 26, 2023):

It sounds like you just set this up with the wrong casing originally. Maybe you should connect to the container, cd to the Allen folder, run pwd and copy/paste that into the import path. I can't remember, but I think you have to be case sensitive in linux. So you need to make sure the volume mount + the import path both correctly match with the right casing.

@jrasm91 commented on GitHub (Oct 26, 2023): It sounds like you just set this up with the wrong casing originally. Maybe you should connect to the container, cd to the Allen folder, run `pwd` and copy/paste that into the import path. I can't remember, but I think you have to be case sensitive in linux. So you need to make sure the volume mount + the import path both correctly match with the right casing.
Author
Owner

@AllenSikorski commented on GitHub (Oct 26, 2023):

Any new user's I create it works fine with, but for whatever reason, it doesn't want to work with the main account the was created. Not too big of a deal as that account will only be used to add/remove users along with other configuration changes, but it is something to be aware of.

@AllenSikorski commented on GitHub (Oct 26, 2023): Any new user's I create it works fine with, but for whatever reason, it doesn't want to work with the main account the was created. Not too big of a deal as that account will only be used to add/remove users along with other configuration changes, but it is something to be aware of.
Author
Owner

@bestrocker221 commented on GitHub (Oct 30, 2023):

Can confirm the same here edit: (immich believes deleted files still exists and library refresh did not solve the issue @jrasm91 ).
It would be really nice to have it fixed also for the admin account

@bestrocker221 commented on GitHub (Oct 30, 2023): Can confirm the same here edit: (immich believes deleted files still exists and library refresh did not solve the issue @jrasm91 ). It would be really nice to have it fixed also for the admin account
Author
Owner

@alextran1502 commented on GitHub (Oct 30, 2023):

@etnoy any idea? pretty strange here 🤔

@alextran1502 commented on GitHub (Oct 30, 2023): @etnoy any idea? pretty strange here 🤔
Author
Owner

@etnoy commented on GitHub (Oct 30, 2023):

May have time to check tonight

@etnoy commented on GitHub (Oct 30, 2023): May have time to check tonight
Author
Owner

@jrasm91 commented on GitHub (Oct 30, 2023):

Can confirm the same here, but it would be really nice to have it fixed also for the admin account

You can confirm what exactly?

@jrasm91 commented on GitHub (Oct 30, 2023): > Can confirm the same here, but it would be really nice to have it fixed also for the admin account You can confirm what exactly?
Author
Owner

@RogueGhost93 commented on GitHub (Oct 31, 2023):

Exactly the same issue here. I can see all folder and pictures once i docker exec into containers, however, force scanning libraries doesnt do anything. For me adding of additional users doesnt work, it behaves the same. Paths are added to each user in both places, under libraries external path and under user administration account setting external path. There are 30k+ photos in the external librarie but none are getting scanned. Permissions are correct and i also tried mounting volumes without :ro option so the container has full permission. Same result. I came back to test imminch once again as soon as i saw this feature implemented, however, it failed me after several hours of trying it out. Hopefully you guys manage to resolve this so i can ditch photoprism! GL

@RogueGhost93 commented on GitHub (Oct 31, 2023): Exactly the same issue here. I can see all folder and pictures once i docker exec into containers, however, force scanning libraries doesnt do anything. For me adding of additional users doesnt work, it behaves the same. Paths are added to each user in both places, under libraries external path and under user administration account setting external path. There are 30k+ photos in the external librarie but none are getting scanned. Permissions are correct and i also tried mounting volumes without :ro option so the container has full permission. Same result. I came back to test imminch once again as soon as i saw this feature implemented, however, it failed me after several hours of trying it out. Hopefully you guys manage to resolve this so i can ditch photoprism! GL
Author
Owner

@etnoy commented on GitHub (Oct 31, 2023):

If you enable debug logging in immich, what does the log say when scanning? Does it find any assets when crawling?

@etnoy commented on GitHub (Oct 31, 2023): If you enable debug logging in immich, what does the log say when scanning? Does it find any assets when crawling?
Author
Owner

@jrasm91 commented on GitHub (Oct 31, 2023):

Exactly the same issue here. I can see all folder and pictures once i docker exec into containers, however, force scanning libraries doesnt do anything. For me adding of additional users doesnt work, it behaves the same. Paths are added to each user in both places, under libraries external path and under user administration account setting external path. There are 30k+ photos in the external librarie but none are getting scanned. Permissions are correct and i also tried mounting volumes without :ro option so the container has full permission. Same result. I came back to test imminch once again as soon as i saw this feature implemented, however, it failed me after several hours of trying it out. Hopefully you guys manage to resolve this so i can ditch photoprism! GL

This seems like an unrelated issue and probably due to misconfiguration, not an immich bug. The original issue is about path case sensitivity, which is something different from what you are describing.

@jrasm91 commented on GitHub (Oct 31, 2023): > Exactly the same issue here. I can see all folder and pictures once i docker exec into containers, however, force scanning libraries doesnt do anything. For me adding of additional users doesnt work, it behaves the same. Paths are added to each user in both places, under libraries external path and under user administration account setting external path. There are 30k+ photos in the external librarie but none are getting scanned. Permissions are correct and i also tried mounting volumes without :ro option so the container has full permission. Same result. I came back to test imminch once again as soon as i saw this feature implemented, however, it failed me after several hours of trying it out. Hopefully you guys manage to resolve this so i can ditch photoprism! GL This seems like an unrelated issue and probably due to misconfiguration, not an immich bug. The original issue is about path case sensitivity, which is something different from what you are describing.
Author
Owner

@RogueGhost93 commented on GitHub (Nov 1, 2023):

Ok I can confirm that scan worked for new users but not for the original one. So yea it is exactly the same issue. I will play with it more when I find some time.

@RogueGhost93 commented on GitHub (Nov 1, 2023): Ok I can confirm that scan worked for new users but not for the original one. So yea it is exactly the same issue. I will play with it more when I find some time.
Author
Owner

@streetcap commented on GitHub (Nov 6, 2023):

I have been dealing with this issue as well since external libraries was released. Referencing the same (fairly large) external libraries from multiple accounts is a hot mess. No matter what I do, I cannot have 2 accounts referencing the same 2 external paths. I have deleted the paths and rebuilt them multiple times. The end result is just 1 account will end up being correct.

Currently, my admin account is "correct" (with the exception of the metdata bug). I know it isn't a path issue because I literally copy and paste the "working" path from my "working" immich account. All the attempts to make the server "fix" the library has just bogged down my system to the point the app has become completely unusable to me (I assume because it is chewing through so many "facial recognition", "object detection", "encoding" and "transcoding" jobs for the items that were picked up during the scans).

@streetcap commented on GitHub (Nov 6, 2023): I have been dealing with this issue as well since external libraries was released. Referencing the same (fairly large) external libraries from multiple accounts is a hot mess. No matter what I do, I cannot have 2 accounts referencing the same 2 external paths. I have deleted the paths and rebuilt them multiple times. The end result is just 1 account will end up being correct. Currently, my admin account is "correct" (with the exception of the metdata bug). I know it isn't a path issue because I literally copy and paste the "working" path from my "working" immich account. All the attempts to make the server "fix" the library has just bogged down my system to the point the app has become completely unusable to me (I assume because it is chewing through so many "facial recognition", "object detection", "encoding" and "transcoding" jobs for the items that were picked up during the scans).
Author
Owner

@etnoy commented on GitHub (Nov 6, 2023):

I have been dealing with this issue as well since external libraries was released. Referencing the same (fairly large) external libraries from multiple accounts is a hot mess. No matter what I do, I cannot have 2 accounts referencing the same 2 external paths. I have deleted the paths and rebuilt them multiple times. The end result is just 1 account will end up being correct.

Currently, my admin account is "correct" (with the exception of the metdata bug). I know it isn't a path issue because I literally copy and paste the "working" path from my "working" immich account. All the attempts to make the server "fix" the library has just bogged down my system to the point the app has become completely unusable to me (I assume because it is chewing through so many "facial recognition", "object detection", "encoding" and "transcoding" jobs for the items that were picked up during the scans).

Can you enable debug logging and see what happens on a scan?

@etnoy commented on GitHub (Nov 6, 2023): > I have been dealing with this issue as well since external libraries was released. Referencing the same (fairly large) external libraries from multiple accounts is a hot mess. No matter what I do, I cannot have 2 accounts referencing the same 2 external paths. I have deleted the paths and rebuilt them multiple times. The end result is just 1 account will end up being correct. > > Currently, my admin account is "correct" (with the exception of the metdata bug). I know it isn't a path issue because I literally copy and paste the "working" path from my "working" immich account. All the attempts to make the server "fix" the library has just bogged down my system to the point the app has become completely unusable to me (I assume because it is chewing through so many "facial recognition", "object detection", "encoding" and "transcoding" jobs for the items that were picked up during the scans). Can you enable debug logging and see what happens on a scan?
Author
Owner

@streetcap commented on GitHub (Nov 6, 2023):

I have been dealing with this issue as well since external libraries was released. Referencing the same (fairly large) external libraries from multiple accounts is a hot mess. No matter what I do, I cannot have 2 accounts referencing the same 2 external paths. I have deleted the paths and rebuilt them multiple times. The end result is just 1 account will end up being correct.
Currently, my admin account is "correct" (with the exception of the metdata bug). I know it isn't a path issue because I literally copy and paste the "working" path from my "working" immich account. All the attempts to make the server "fix" the library has just bogged down my system to the point the app has become completely unusable to me (I assume because it is chewing through so many "facial recognition", "object detection", "encoding" and "transcoding" jobs for the items that were picked up during the scans).

Can you enable debug logging and see what happens on a scan?

I am running in Docker. Do I just add the following to the end of the .env and then rebuild?

LOG_LEVEL=debug

If so, will the log be stored in the UPLOAD_LOCATION path?

@streetcap commented on GitHub (Nov 6, 2023): > > I have been dealing with this issue as well since external libraries was released. Referencing the same (fairly large) external libraries from multiple accounts is a hot mess. No matter what I do, I cannot have 2 accounts referencing the same 2 external paths. I have deleted the paths and rebuilt them multiple times. The end result is just 1 account will end up being correct. > > Currently, my admin account is "correct" (with the exception of the metdata bug). I know it isn't a path issue because I literally copy and paste the "working" path from my "working" immich account. All the attempts to make the server "fix" the library has just bogged down my system to the point the app has become completely unusable to me (I assume because it is chewing through so many "facial recognition", "object detection", "encoding" and "transcoding" jobs for the items that were picked up during the scans). > > Can you enable debug logging and see what happens on a scan? I am running in Docker. Do I just add the following to the end of the .env and then rebuild? LOG_LEVEL=debug If so, will the log be stored in the UPLOAD_LOCATION path?
Author
Owner

@Crashman1983 commented on GitHub (Nov 7, 2023):

Same problem for me. Deleted some pictures from library, but all sorts of refresh or "remove offline files" don't work when using the admin account

@Crashman1983 commented on GitHub (Nov 7, 2023): Same problem for me. Deleted some pictures from library, but all sorts of refresh or "remove offline files" don't work when using the admin account
Author
Owner

@drcobra commented on GitHub (Nov 10, 2023):

I am encountering a similar problem where photos from the external library of the main user remain accessible despite the deletion of files. I have attempted to resolve this issue by running all three scanning options, hoping that the deleted photos would be successfully removed, but to no avail.

Version v1.85.0 Docker

@drcobra commented on GitHub (Nov 10, 2023): I am encountering a similar problem where photos from the external library of the main user remain accessible despite the deletion of files. I have attempted to resolve this issue by running all three scanning options, hoping that the deleted photos would be successfully removed, but to no avail. Version v1.85.0 Docker
Author
Owner

@alextran1502 commented on GitHub (Nov 10, 2023):

@drcobra is using "Remove offline files" option work?

@alextran1502 commented on GitHub (Nov 10, 2023): @drcobra is using "Remove offline files" option work?
Author
Owner

@drcobra commented on GitHub (Nov 10, 2023):

@alextran1502 No, it doesn't. In addition to trying the three scan options I mentioned, I also performed the "Remove offline files" action, but there was no change in the result.

@drcobra commented on GitHub (Nov 10, 2023): @alextran1502 No, it doesn't. In addition to trying the three scan options I mentioned, I also performed the "Remove offline files" action, but there was no change in the result.
Author
Owner

@INovozhilov commented on GitHub (Nov 25, 2023):

I have a similar issue. Version [v1.88.2]
In logs, I see such an error:

[Nest] 7  - 11/25/2023, 12:16:51 AM   ERROR [JobService] QueryFailedError: bind message has 64210 parameter formats but 0 parameters
    at PostgresQueryRunner.query (/usr/src/app/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:211:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async UpdateQueryBuilder.execute (/usr/src/app/node_modules/typeorm/query-builder/UpdateQueryBuilder.js:83:33)
    at async AssetRepository.updateAll (/usr/src/app/dist/infra/repositories/asset.repository.js:240:9)
    at async LibraryService.handleQueueAssetRefresh (/usr/src/app/dist/domain/library/library.service.js:316:9)
    at async /usr/src/app/dist/domain/job/job.service.js:108:37
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:385:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:572:24)
[Nest] 7  - 11/25/2023, 12:16:51 AM   ERROR [JobService] Object:
@INovozhilov commented on GitHub (Nov 25, 2023): I have a similar issue. Version [v1.88.2] In logs, I see such an error: ``` [Nest] 7 - 11/25/2023, 12:16:51 AM ERROR [JobService] QueryFailedError: bind message has 64210 parameter formats but 0 parameters at PostgresQueryRunner.query (/usr/src/app/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:211:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async UpdateQueryBuilder.execute (/usr/src/app/node_modules/typeorm/query-builder/UpdateQueryBuilder.js:83:33) at async AssetRepository.updateAll (/usr/src/app/dist/infra/repositories/asset.repository.js:240:9) at async LibraryService.handleQueueAssetRefresh (/usr/src/app/dist/domain/library/library.service.js:316:9) at async /usr/src/app/dist/domain/job/job.service.js:108:37 at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:385:28) at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:572:24) [Nest] 7 - 11/25/2023, 12:16:51 AM ERROR [JobService] Object: ```
Author
Owner

@janaxhell commented on GitHub (Dec 18, 2023):

Came here to say the same. Today I noticed that yesterday's pictures weren't visible, which means Immich didn't sync at midnight as set to do. So I manually forced it, and it did sync. I'm using v1.91.3 on docker.

@janaxhell commented on GitHub (Dec 18, 2023): Came here to say the same. Today I noticed that yesterday's pictures weren't visible, which means Immich didn't sync at midnight as set to do. So I manually forced it, and it did sync. I'm using v1.91.3 on docker.
Author
Owner

@AllenSikorski commented on GitHub (Jan 14, 2024):

Nice! It looks like commits are being pushed to actively address this issue! I'll need to test everything out and see how it's all working now.

@AllenSikorski commented on GitHub (Jan 14, 2024): Nice! It looks like commits are being pushed to actively address this issue! I'll need to test everything out and see how it's all working now.
Author
Owner

@ns-mglaske commented on GitHub (Jan 26, 2024):

For me, it wasn't working either.. My library had the external path set, but my user did not. Once I set the admin (mine) users account external path to the same as the library external path, all the scan options worked again. This is with version 1.91.4.
To note, this is actually in the documentation, but it seems maybe redundant to have to set both?

@ns-mglaske commented on GitHub (Jan 26, 2024): For me, it wasn't working either.. My library had the external path set, but my user did not. Once I set the admin (mine) users account external path to the same as the library external path, all the scan options worked again. This is with version 1.91.4. To note, this is actually in the documentation, but it seems maybe redundant to have to set both?
Author
Owner

@bhugh commented on GitHub (Jan 28, 2024):

it seems maybe redundant to have to set both?

I've mentioned this elsewhere, but it is not really redundant, as they are two different things. But it is confusing, partly because the places you set them are in two widely separated places/pages in the system and people don't necessarily realize that you have to set both or why. (We're seeing some of that confusion on this thread.)

And actually, it is three separate places you set it up - first in the docker setup to make the volume, then in Administration/Users to set which external folder each user has access to, and then each individual user has to go within their own setup to Settings/Libraries to actually set up the External Library that user will use.

So conceptually it is just a little bit difficult to understand what each of those steps are doing, how they are different from one another, and why each is necessary. Particularly this is so if you are the only user in your system and you are setting up just one folder as an external library. "Why do I have to set the same thing up three times?"

It only makes sense if you are thinking about a multi-user environment where each user may want to set up several different external libraries.

@bhugh commented on GitHub (Jan 28, 2024): > it seems maybe redundant to have to set both? I've mentioned this elsewhere, but it is not really redundant, as they are two different things. But it is confusing, partly because the places you set them are in two widely separated places/pages in the system and people don't necessarily realize that you have to set both or why. (We're seeing some of that confusion on this thread.) And actually, it is three separate places you set it up - first in the docker setup to make the volume, then in Administration/Users to set which external folder each user has access to, and then each individual user has to go within their own setup to Settings/Libraries to actually set up the External Library that user will use. So conceptually it is just a little bit difficult to understand what each of those steps are doing, how they are different from one another, and why each is necessary. Particularly this is so if you are the only user in your system and you are setting up just one folder as an external library. "Why do I have to set the same thing up three times?" It only makes sense if you are thinking about a multi-user environment where each user may want to set up several different external libraries.
Author
Owner

@Dievale commented on GitHub (Jan 29, 2024):

same issue here. Truenas scale using official releases. In server version 1.91.4_3.0.1 (1.91.4) everything works perfect sending pictures to the correct folder but as soon as I update to server version 1.93.3_3.0.6 (1.93.3) the library changes. If I roolback to 1.91.4_3.0.1 everything goes back to normal. First pic is server 1.91.4 second is 1.93.3
The folder date is created in the correct location but empty. If I click on the pic info in immich the picture is pointing to that weird location
Screenshot 2024-01-28 180848
Screenshot 2024-01-28 180921

@Dievale commented on GitHub (Jan 29, 2024): same issue here. Truenas scale using official releases. In server version 1.91.4_3.0.1 (1.91.4) everything works perfect sending pictures to the correct folder but as soon as I update to server version 1.93.3_3.0.6 (1.93.3) the library changes. If I roolback to 1.91.4_3.0.1 everything goes back to normal. First pic is server 1.91.4 second is 1.93.3 The folder date is created in the correct location but empty. If I click on the pic info in immich the picture is pointing to that weird location ![Screenshot 2024-01-28 180848](https://github.com/immich-app/immich/assets/37248628/b10b8a90-a94b-4913-ab4a-73b0008c4959) ![Screenshot 2024-01-28 180921](https://github.com/immich-app/immich/assets/37248628/f2cc1620-7d57-4810-ab61-4893fac3aedc)
Author
Owner

@etnoy commented on GitHub (Feb 7, 2024):

It seems like this issue was caused by a misconfiguration. In the docs we show you why and how we need an external path. There are ideas to simplify this in the future but it's not a priority right now; it's needed for security purposes.

I will close this issue. For those who have commented in the thread about other (and honestly unrelated) issues, please enable debug logging and post them as separate issues, or come by the discord channel and ask for help there.

@etnoy commented on GitHub (Feb 7, 2024): It seems like this issue was caused by a misconfiguration. In the docs we show you why and how we need an external path. There are ideas to simplify this in the future but it's not a priority right now; it's needed for security purposes. I will close this issue. For those who have commented in the thread about other (and honestly unrelated) issues, please enable debug logging and post them as separate issues, or come by the discord channel and ask for help there.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1510