I
Immich•4d ago
rmh

Failed to read (/data/encoded-video/.immich) on kubernetes

Background: I'm using kubernetes (k3s) and the official helm chart (0.10.3) and mounting a persistent volume (rancher local path) on /data. I use tag: v2.2.3 (so: ghcr.io/immich-app/immich-server:v2.2.3) I keep getting this error. I've tried: - running the container / helmchart as is - creating an init container that sets /data to chown 1000:1000 and file permissions to 770 - creating an init container that creates the folders /data/{upload,library,thumbs,encoded-video,profile,backups} and sets chown 1000:1000 recursively - all above but with pod user and group set to 1000 How do I debug this further?
13 Replies
Immich
Immich•4d ago
:wave: Hey @rmh, 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.
rmh
rmhOP•4d ago
logs part 1, because there is a character limit
#k logs immich-server-5df4cc8f4-wlvmn
Defaulted container "main" out of: main, permissionfixer (init)
Initializing Immich v2.2.3
Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:WebsocketRepository] Initialized websocket server
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
[Nest] 8 - 11/18/2025, 1:30:23 PM ERROR [Microservices:StorageService] Failed to read (/data/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/data/encoded-video/.immich'
microservices worker error: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information.", stack: Error:
#k logs immich-server-5df4cc8f4-wlvmn
Defaulted container "main" out of: main, permissionfixer (init)
Initializing Immich v2.2.3
Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:WebsocketRepository] Initialized websocket server
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows
[Nest] 8 - 11/18/2025, 1:30:23 PM LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
[Nest] 8 - 11/18/2025, 1:30:23 PM ERROR [Microservices:StorageService] Failed to read (/data/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/data/encoded-video/.immich'
microservices worker error: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information.", stack: Error:
Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information."
at StorageService.verifyReadAccess (/usr/src/app/server/dist/services/storage.service.js:129:19)
at async /usr/src/app/server/dist/services/storage.service.js:56:21
at async /usr/src/app/server/dist/repositories/database.repository.js:379:27
at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/kysely.js:535:20
at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
at async /usr/src/app/server/dist/repositories/database.repository.js:376:13
microservices worker exited with code 1
Killing api process
Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information."
at StorageService.verifyReadAccess (/usr/src/app/server/dist/services/storage.service.js:129:19)
at async /usr/src/app/server/dist/services/storage.service.js:56:21
at async /usr/src/app/server/dist/repositories/database.repository.js:379:27
at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/kysely.js:535:20
at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
at async /usr/src/app/server/dist/repositories/database.repository.js:376:13
microservices worker exited with code 1
Killing api process
Immich
Immich•4d ago
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
bo0tzz
bo0tzz•4d ago
If you manually browse the dir, are the files there?
rmh
rmhOP•4d ago
After I ran the init container the directories are there, but there is no .immich file. I can browse the files on disk So either the container can't reach the mount, or the system can't write the files. But the failure message says it can't read the file / can't find the file I added a file to the persistant volume to check that the volume is mounted correctly and I can see it from the container under /data. (suggesting that the mounting is not the problem)
Mraedis
Mraedis•4d ago
The error means the installation thinks there should have been already a file in place and something is wrong with the mount Did you change storage location after initial startup?
rmh
rmhOP•4d ago
how would I do that? Is that an env var?
Mraedis
Mraedis•4d ago
If it is a fresh install, you can just create the files yourself and see if uploads are processed correctly.
rmh
rmhOP•4d ago
thank you, just to be clear, do you mean: add a .immich file to /data/encoded-video ?
Mraedis
Mraedis•4d ago
Yes You'll get another error for every other folder BTW
rmh
rmhOP•4d ago
Alright, thanks! the pod now starts! I will return after I've tried to upload a file
Mraedis
Mraedis•4d ago
The check is there in case something is wrong with your mount, so that you don't upload files into nothingness for instance
rmh
rmhOP•2d ago
I can upload files now. Thanks this is solved! 🥳

Did you find this page helpful?