Failed to read (/data/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/data
I just updated from 136 and am getting this any ideas?
We@https://**/_app/immutable/chunks/BC5HNeho.js:1:5507
ze@https://**/_app/immutable/chunks/BC5HNeho.js:1:5411
45 Replies
:wave: Hey @Slowreload,
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. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time).
2. :blue_square: read applicable release notes.
3. :blue_square: reviewed the FAQs for known issues.
4. :blue_square: reviewed Github for known issues.
5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy).
6. :blue_square: uploaded the relevant information (see below).
7. :blue_square: 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.Starting microservices worker
[Nest] 7 - 08/08/2025, 11:18:19 PM LOG [Microservices:EventRepository] Initialized websocket server
[Nest] 7 - 08/08/2025, 11:18:19 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 25137 rows
[Nest] 7 - 08/08/2025, 11:18:19 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 28084 rows
[Nest] 7 - 08/08/2025, 11:18:19 PM 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}}
[Nest] 7 - 08/08/2025, 11:18:19 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://immich.app/docs/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://immich.app/docs/administration/system-integrity#folder-checks for more information."
at StorageService.verifyReadAccess (/usr/src/app/server/dist/services/storage.service.js:127: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/kysely/dist/cjs/kysely.js:535:20
at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/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
Here is the env too
The issue is immich can't find the file it expects at the upload location. Either a network Mount broke, or you moved your upload location and not the files
It can't find the .immich file when it expects too
Its all local storage. No network mounts. It works fine on 136.0 but breaks when running update to 137
All I can say is that the files it expects aren't present so it's failing to start the server.
there were no changes to .v nor docker-compose.
i get that it cant find files not sure why it works on 136 then
have not moved any data
That compose is funky. Sorry doing bedtime will have to respond later
all good I rolled back to keep working i, did dthis already to test again. I will look for a responce later
- ${UPLOAD_LOCATION}:/immich-docker/dockerWhat the heck is this @Slowreload ? Your images are probably stored in the temporary docker volume/image, upgrading uses the new image causing them all to be gone You can start the container, copy all of the files to /immich-docker/docker to keep them I bet if you go to that folder on your server there will be nothing right now, correct?
Confirmed that doesn't exist.
What is the easiest to copy the files?
start the container in the old version
docker exec -it immich_server /bin/bash
cp -a /usr/src/app/upload/ /immich-docker/docker
exit
change ${UPLOAD_LOCATION}:/immich-docker/docker to ${UPLOAD_LOCATION}:/usr/src/app/upload
docker compose up -d
after you do the cp -a command you can check your folder to see if the files have been moved overI will try this and report back.
Copied files and made the change to the compose file and still get this error
[Nest] 7 - 08/10/2025, 7:35:20 AM 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}}
[Nest] 7 - 08/10/2025, 7:35:20 AM ERROR [Microservices:StorageService] Failed to read (/usr/src/app/upload/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/usr/src/app/upload/encoded-video/.immich'
microservices worker error: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/usr/src/app/upload/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 (/usr/src/app/upload/encoded-video/.immich) - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information."
at StorageService.verifyReadAccess (/usr/src/app/server/dist/services/storage.service.js:94:19)
at async /usr/src/app/server/dist/services/storage.service.js:39:21
at async /usr/src/app/server/dist/repositories/database.repository.js:413:27
at async /usr/src/app/server/node_modules/kysely/dist/cjs/kysely.js:535:20
at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
at async /usr/src/app/server/dist/repositories/database.repository.js:410:13
microservices worker exited with code 1
But do you see the files in your folder now?
in the immich-docker filder
or the /src folder?
the folder that you can see without exec'ing into the container 😛
i.e. the host folder
I ran the commands you suggested in docker exec,
and in docker exec i was able to see the /immich-docker/docker folder and the /usr/src/app/upload folders matched but the screen shot is from the host and the /usr/src/app/upload isnt present and the /immich-docker/docker is empty

reverting back to get access to the container.
I ran the commands as you laid them out
ok but you put
./immich-docker/docker as your mount point, which has a . in front
so check the folder where your docker compose is
and obviously there is no /usr/src/app/upload on your host
Are you familiar with how docker works outside of immich @Slowreload ?
You need to think of the container as a seperate computerI am a little familiar with docker. No way a self proclaimed expert. Immich was my first docker deployment too. I do think of a type of virtual machine. But very thin and agnostic to the base so aslong it runs docker.
I think I might of made a mistake. But reverted back before going to bed. Going to try one more time and report back.
change
${UPLOAD_LOCATION}:/immich-docker/docker to ${UPLOAD_LOCATION}:/usr/src/app/upload
Can you confirm after I run the cp -a command. You would like me to change my compose file from /immich-docker to the /usr path${UPLOAD_LOCATION}:/immich-docker/docker this simply does not work to put files that are in immich on your host system
It will have never worked
All the files will be in the container imageOkay before i fix the compose file
This is where the container file copied everythin to

/immich-app/immich-docker/upload/upload
with this do i also need to change the env file?
this directory was empty before
Yeah you need to add one /upload to the env
so upload should be ./immich-docler/upload/upload
I was a bit confused because you put
/immich-docker/docker in the compose but then ./immich-docker/upload in the env
Did you copy them to /immich-docker/docker or to ./immich-docker/upload ?
Nevermind, it's the same thing because they are mounted, I'm just confusing myself
So yes, ./immich-docker/upload/uploadI want to say thank you for all your help. I actually just got everything working. ${UPLOAD_LOCATION}:/usr/src/app/upload in the compose file and ./immich-docker/upload/upload in the .env. This was my first real docker deployment so I made some mistakes. I have learned a lot since then and am able to do a lot more but am still very green in docker.
Thank you for your patience, all the services you provided and everything that you have done for the community. You guys are awesome. You truly have been a lifesaver.
I also was able to sucessfully upgrade to 1.137.3. I had been running in the origional config for over 18 monnths
Yay 🙂
So next time
Be sure to read:
# 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
You're lucky you didn't auto-delete old container images 😛ya for the forst 12 months i didnt know about pruning so i had 150gb in stale images
oof
You have taught me a lot more than when i submitted on friday. I am truly grateful 🙏
Don't be afraid to ask for help
We don't mind newbs, just people that won't listen/learn 👀
I am a storage and traditional virtualization engineer by trade. I feel your pain with thos statments.
docker has been a large shift in my thinking on wrapping my head around how it does its magic
It's actually pretty simple, but the options can be overwhelming
Ya it is when you think about it but the way my brain works i try to understand what its doing and this was my very first step in to docker so i made quite a few mistakes
and the way docker obfuscates things was really different that what i was used to in traditional virtualization
Sorry to reopen this. But i had a question regarding this. Everything has been working great but I noticed my storage doubled. sense i copied everything from /usr/src/app/upload/ to /immich-docker/docker can i loge back into the docker container and remove everything from /usr/src/app/upload/ to reclaim the space or is this required for immich to function.
If you have succesfully copied everything over then a succesfull upgrade will still show your assets, after that just do a docker (image) prune which will clear the space
I did do that but still see the the extra space being used, I have sucessfully upgraded several times and have done a few prunes too
When i access the docker box this is what i see

it is he same size in my directory outside of the docker container

In that case I'd bet you have a lot of videos that got transcoded
You can check the subfolders of upload and see where it all is going to