I
Immich3w ago
Tani

Failed to read upload/encoded-video/.immich: Error: ENOENT: no such file or directory, open 'upload/

Hi, I am trying to set up a second immich instance on proxmox for some extra workers and machine learning using a LXC but i keep running into this issue with mounting the UPLOAD_LOCATION. The primary instance is running on my unraid server using the imagegenius docker-immich. I think I have narrowed it down the issue and it has to do with the mount location of the library folder, the one that has all the backups, encoded-video, library, profile, thumbs, upload. In the docker container on my unraid it is under /photos path for the container. But on my second instance on proxmox LXC I am using the docker compose installation and it says to mount it under: /usr/src/app/upload
11 Replies
Immich
Immich3w ago
:wave: Hey @Tani, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed. Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Tani
TaniOP3w ago
LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountFiles":true,"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
immich_microservices | 2025-04-15T20:54:36.337990855Z [Nest] 7 - 04/15/2025, 4:54:36 PM ERROR [Microservices:StorageService] Failed to read upload/encoded-video/.immich: Error: ENOENT: no such file or directory, open 'upload/encoded-video/.immich'
immich_microservices | 2025-04-15T20:54:36.339465631Z microservices worker error: Error: Failed to read "<UPLOAD_LOCATION>/encoded-video/.immich - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information.", stack: Error: Failed to read "<UPLOAD_LOCATION>/encoded-video/.immich - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information."
immich_microservices | 2025-04-15T20:54:36.339479831Z at StorageService.verifyReadAccess (/usr/src/app/dist/services/storage.service.js:84:19)
immich_microservices | 2025-04-15T20:54:36.339490100Z at async /usr/src/app/dist/services/storage.service.js:38:21
immich_microservices | 2025-04-15T20:54:36.339495408Z at async /usr/src/app/dist/repositories/database.repository.js:231:27
immich_microservices | 2025-04-15T20:54:36.339499709Z at async /usr/src/app/node_modules/kysely/dist/cjs/kysely.js:413:20
immich_microservices | 2025-04-15T20:54:36.339505918Z at async DefaultConnectionProvider.provideConnection (/usr/src/app/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
immich_microservices | 2025-04-15T20:54:36.339510140Z at async /usr/src/app/dist/repositories/database.repository.js:228:13
immich_microservices | 2025-04-15T20:54:36.344411979Z microservices worker exited with code 1
immich_microservices exited with code 1
LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountFiles":true,"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
immich_microservices | 2025-04-15T20:54:36.337990855Z [Nest] 7 - 04/15/2025, 4:54:36 PM ERROR [Microservices:StorageService] Failed to read upload/encoded-video/.immich: Error: ENOENT: no such file or directory, open 'upload/encoded-video/.immich'
immich_microservices | 2025-04-15T20:54:36.339465631Z microservices worker error: Error: Failed to read "<UPLOAD_LOCATION>/encoded-video/.immich - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information.", stack: Error: Failed to read "<UPLOAD_LOCATION>/encoded-video/.immich - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information."
immich_microservices | 2025-04-15T20:54:36.339479831Z at StorageService.verifyReadAccess (/usr/src/app/dist/services/storage.service.js:84:19)
immich_microservices | 2025-04-15T20:54:36.339490100Z at async /usr/src/app/dist/services/storage.service.js:38:21
immich_microservices | 2025-04-15T20:54:36.339495408Z at async /usr/src/app/dist/repositories/database.repository.js:231:27
immich_microservices | 2025-04-15T20:54:36.339499709Z at async /usr/src/app/node_modules/kysely/dist/cjs/kysely.js:413:20
immich_microservices | 2025-04-15T20:54:36.339505918Z at async DefaultConnectionProvider.provideConnection (/usr/src/app/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
immich_microservices | 2025-04-15T20:54:36.339510140Z at async /usr/src/app/dist/repositories/database.repository.js:228:13
immich_microservices | 2025-04-15T20:54:36.344411979Z microservices worker exited with code 1
immich_microservices exited with code 1
Env file:
# You can find documentation for all the supported env variables at https://immich.app/docs/install/enviro>

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/immich/photos

# 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=US/Eastern

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

MACHINE_LEARNING_WORKER_TIMEOUT=300
MACHINE_LEARNING_WORKERS=10
MACHINE_LEARNING_GPU_ACCELERATION=openvino
MACHINE_LEARNING_MODEL_INTRA_OP_THREADS=2

IMMICH_TELEMETRY_INCLUDE=all
IMMICH_API_METRICS_PORT:8081
IMMICH_MICROSERVICES_METRICS_PORT:8082

REDIS_HOSTNAME=192.168.1.168
REDIS_PORT=6379
# 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

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=192.168.1.168
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=redacted
DB_DATABASE_NAME=immich
# You can find documentation for all the supported env variables at https://immich.app/docs/install/enviro>

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/immich/photos

# 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=US/Eastern

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

MACHINE_LEARNING_WORKER_TIMEOUT=300
MACHINE_LEARNING_WORKERS=10
MACHINE_LEARNING_GPU_ACCELERATION=openvino
MACHINE_LEARNING_MODEL_INTRA_OP_THREADS=2

IMMICH_TELEMETRY_INCLUDE=all
IMMICH_API_METRICS_PORT:8081
IMMICH_MICROSERVICES_METRICS_PORT:8082

REDIS_HOSTNAME=192.168.1.168
REDIS_PORT=6379
# 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

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=192.168.1.168
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=redacted
DB_DATABASE_NAME=immich
Zeus
Zeus3w ago
Please run: tree -L 2 /mnt/immich/photos
bo0tzz
bo0tzz3w ago
The path in the container has to be the same everywhere, and you'll need to set IMMICH_MEDIA_LOCATION=/photos
Zeus
Zeus3w ago
is that because the paths are fully resolved before getting put in the job queue?
bo0tzz
bo0tzz3w ago
Some paths aren't properly stored as relative atm
Tani
TaniOP3w ago
That command prints and almost infinite tree
Zeus
Zeus3w ago
This indicates you are probably not using the correct mount poitn. How about tree -L 1
Tani
TaniOP3w ago
I am running an alpine linux container so had to install a different version of tree:
/mnt/immich/photos
├── backups
│ ├── immich-db-backup-1743573600002.sql.gz
│ ├── immich-db-backup-1743660000004.sql.gz
│ ├── immich-db-backup-1743746400003.sql.gz
│ ├── immich-db-backup-1743832800003.sql.gz
│ ├── immich-db-backup-1743919200002.sql.gz
│ ├── immich-db-backup-1744005600003.sql.gz
│ ├── immich-db-backup-1744092000002.sql.gz
│ ├── immich-db-backup-1744178400003.sql.gz
│ ├── immich-db-backup-1744264800004.sql.gz
│ ├── immich-db-backup-1744351200004.sql.gz
│ ├── immich-db-backup-1744437600004.sql.gz
│ ├── immich-db-backup-1744524000004.sql.gz
│ ├── immich-db-backup-1744610400003.sql.gz
│ └── immich-db-backup-1744696800006.sql.gz
├── encoded-video
│ ├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
│ ├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
│ ├── ac760720-8b3d-475f-8f0d-f639c5934864
│ ├── cc9a6de5-891d-4059-b134-5bd40292784a
│ └── eff5e672-1c8e-4e32-a5d3-c0b332926752
├── library
│ ├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
│ ├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
│ ├── ac760720-8b3d-475f-8f0d-f639c5934864
│ ├── admin
│ ├── cc9a6de5-891d-4059-b134-5bd40292784a
│ └── eff5e672-1c8e-4e32-a5d3-c0b332926752
├── profile
│ └── 369cf13f-6713-49ee-a267-bf53c1a8c86a
├── thumbs
│ ├── 24f625cf-2eb7-4c6d-9b21-ab91a4e2e0b8
│ ├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
│ ├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
│ ├── ac760720-8b3d-475f-8f0d-f639c5934864
│ ├── cc9a6de5-891d-4059-b134-5bd40292784a
│ └── eff5e672-1c8e-4e32-a5d3-c0b332926752
└── upload
├── 24f625cf-2eb7-4c6d-9b21-ab91a4e2e0b8
├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
├── ac760720-8b3d-475f-8f0d-f639c5934864
├── cc9a6de5-891d-4059-b134-5bd40292784a
└── eff5e672-1c8e-4e32-a5d3-c0b332926752
/mnt/immich/photos
├── backups
│ ├── immich-db-backup-1743573600002.sql.gz
│ ├── immich-db-backup-1743660000004.sql.gz
│ ├── immich-db-backup-1743746400003.sql.gz
│ ├── immich-db-backup-1743832800003.sql.gz
│ ├── immich-db-backup-1743919200002.sql.gz
│ ├── immich-db-backup-1744005600003.sql.gz
│ ├── immich-db-backup-1744092000002.sql.gz
│ ├── immich-db-backup-1744178400003.sql.gz
│ ├── immich-db-backup-1744264800004.sql.gz
│ ├── immich-db-backup-1744351200004.sql.gz
│ ├── immich-db-backup-1744437600004.sql.gz
│ ├── immich-db-backup-1744524000004.sql.gz
│ ├── immich-db-backup-1744610400003.sql.gz
│ └── immich-db-backup-1744696800006.sql.gz
├── encoded-video
│ ├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
│ ├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
│ ├── ac760720-8b3d-475f-8f0d-f639c5934864
│ ├── cc9a6de5-891d-4059-b134-5bd40292784a
│ └── eff5e672-1c8e-4e32-a5d3-c0b332926752
├── library
│ ├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
│ ├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
│ ├── ac760720-8b3d-475f-8f0d-f639c5934864
│ ├── admin
│ ├── cc9a6de5-891d-4059-b134-5bd40292784a
│ └── eff5e672-1c8e-4e32-a5d3-c0b332926752
├── profile
│ └── 369cf13f-6713-49ee-a267-bf53c1a8c86a
├── thumbs
│ ├── 24f625cf-2eb7-4c6d-9b21-ab91a4e2e0b8
│ ├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
│ ├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
│ ├── ac760720-8b3d-475f-8f0d-f639c5934864
│ ├── cc9a6de5-891d-4059-b134-5bd40292784a
│ └── eff5e672-1c8e-4e32-a5d3-c0b332926752
└── upload
├── 24f625cf-2eb7-4c6d-9b21-ab91a4e2e0b8
├── 369cf13f-6713-49ee-a267-bf53c1a8c86a
├── 4ff7824b-b9f4-49ff-8485-27f2d98920aa
├── ac760720-8b3d-475f-8f0d-f639c5934864
├── cc9a6de5-891d-4059-b134-5bd40292784a
└── eff5e672-1c8e-4e32-a5d3-c0b332926752
Zeus
Zeus3w ago
That looks right. Probably just needs what bo0tzz said You need to use the /photos setup since you started with unraid
Tani
TaniOP3w ago
Ok let me try that, so do I keep them both:
UPLOAD_LOCATION=/mnt/immich/photos
IMMICH_MEDIA_LOCATION=/photos
UPLOAD_LOCATION=/mnt/immich/photos
IMMICH_MEDIA_LOCATION=/photos
So I don't change anything in Unraid container, just the LXC container. Also how do I mount the volume?
${UPLOAD_LOCATION}:/photos
${UPLOAD_LOCATION}:/photos
I think that did it, thanks. I am now running into a different issue but I will submit a new request.

Did you find this page helpful?