Encoded-video, no such file/directory found

Hey team, first time user here, and excited about getting the this project up and running! I'll include my compose stack below, but getting some console errors:
immich_server | [Nest] 678 - 04/13/2025, 12:54:26 PM LOG [Api:ServerService] Feature Flags: {
immich_server | "smartSearch": true,
immich_server | "facialRecognition": true,
immich_server | "duplicateDetection": true,
immich_server | "map": true,
immich_server | "reverseGeocoding": true,
immich_server | "importFaces": true,
immich_server | "sidecar": true,
immich_server | "search": true,
immich_server | "trash": true,
immich_server | "oauth": false,
immich_server | "oauthAutoLaunch": false,
immich_server | "passwordLogin": true,
immich_server | "configFile": false,
immich_server | "email": false
immich_server | }
immich_server | [Nest] 678 - 04/13/2025, 12:54:26 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
immich_server | [Nest] 678 - 04/13/2025, 12:54:26 PM ERROR [Api:StorageService] Failed to read /photos/encoded-video/.immich: Error: ENOENT: no such file or directory, open '/photos/encoded-video/.immich'
immich_server | api worker exited with code 1
immich_server exited with code 137
immich_server | code: 'ENOTFOUND',
immich_server | syscall: 'getaddrinfo',
immich_server | hostname: 'immich_redis'
immich_server | }
immich_server | Error: getaddrinfo ENOTFOUND immich_redis
immich_server | at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26)
immich_server | [Nest] 678 - 04/13/2025, 12:54:26 PM LOG [Api:ServerService] Feature Flags: {
immich_server | "smartSearch": true,
immich_server | "facialRecognition": true,
immich_server | "duplicateDetection": true,
immich_server | "map": true,
immich_server | "reverseGeocoding": true,
immich_server | "importFaces": true,
immich_server | "sidecar": true,
immich_server | "search": true,
immich_server | "trash": true,
immich_server | "oauth": false,
immich_server | "oauthAutoLaunch": false,
immich_server | "passwordLogin": true,
immich_server | "configFile": false,
immich_server | "email": false
immich_server | }
immich_server | [Nest] 678 - 04/13/2025, 12:54:26 PM LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
immich_server | [Nest] 678 - 04/13/2025, 12:54:26 PM ERROR [Api:StorageService] Failed to read /photos/encoded-video/.immich: Error: ENOENT: no such file or directory, open '/photos/encoded-video/.immich'
immich_server | api worker exited with code 1
immich_server exited with code 137
immich_server | code: 'ENOTFOUND',
immich_server | syscall: 'getaddrinfo',
immich_server | hostname: 'immich_redis'
immich_server | }
immich_server | Error: getaddrinfo ENOTFOUND immich_redis
immich_server | at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26)
Here is my compose stack. I did get this up and running at one point and dumped a bunch of memes into the interface to test, and it loaded them, but I cannot find where exactly it put them, or how the library sorts things. Feel stuck and need a nudge in the right direction. Here is the compose I am using:
services:
immich-server:
container_name: immich_server
image: ghcr.io/imagegenius/immich:latest
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- UPLOAD_LOCATION=/data/media/immich
- DB_URL=postgresql://immich:[email protected]:5432/immich-main
- DB_VECTOR_EXTENSION=pgvecto.rs
- DB_SKIP_MIGRATIONS=false
- TZ=US/Pacific
- REDIS_HOSTNAME=immich_redis
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# 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
- /home/dcd/docker/data/immich:/config
- /data/media/immich:/library
ports:
- 2283:8080
# depends_on:
# - redis
# - database
restart: unless-stopped
healthcheck:
disable: false
networks:
- internal
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8
healthcheck:
test: redis-cli ping || exit 1
restart: unless-stopped
networks:
- internal
networks:
internal:
external: true
services:
immich-server:
container_name: immich_server
image: ghcr.io/imagegenius/immich:latest
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- UPLOAD_LOCATION=/data/media/immich
- DB_URL=postgresql://immich:[email protected]:5432/immich-main
- DB_VECTOR_EXTENSION=pgvecto.rs
- DB_SKIP_MIGRATIONS=false
- TZ=US/Pacific
- REDIS_HOSTNAME=immich_redis
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# 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
- /home/dcd/docker/data/immich:/config
- /data/media/immich:/library
ports:
- 2283:8080
# depends_on:
# - redis
# - database
restart: unless-stopped
healthcheck:
disable: false
networks:
- internal
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8
healthcheck:
test: redis-cli ping || exit 1
restart: unless-stopped
networks:
- internal
networks:
internal:
external: true
56 Replies
Immich
Immich3w ago
:wave: Hey @datacenterdude, 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.
Zeus
Zeus3w ago
We don’t support PGID, PUID or UMASK Why is skip migrations and vector extension set? Those should just be left to the default
datacenterdude
datacenterdudeOP3w ago
Postgres
Zeus
Zeus3w ago
US/pacific isn’t an ideal time zone. Should be America/Los_Angeles for example Postgres … what? Either way what happened here is that your upload_location changed so immich is missing files
datacenterdude
datacenterdudeOP3w ago
I think I'm just gonna scrap it and start over with all of you guys recommended defaults. I've got a pgsql server with 20+ db's in it already, so I was really NOT trying to have another db instance running silo'ed, but if it's going to break stuff, I'd rather it be in a supported config. As far as moving the file location? That hasn't change since I create the compose and first started it, so who knows.
Zeus
Zeus3w ago
Sure, you can use your own Postgres. I do. You don’t need those variables to do that. Just DB_URL
datacenterdude
datacenterdudeOP3w ago
I read/saw somewhere that needed to be in the compose, I wouldn't have just done that myself, but I can't remember where, to be honest.
Zeus
Zeus3w ago
Wait why are you not mounting /usr/src/app/upload ? Do you see where it says not to edit the next line? 🙂 https://immich.app/docs/administration/postgres-standalone/
datacenterdude
datacenterdudeOP3w ago
I generally dislike using env files so was trying to get around it using the stock environment vars in the compose. That said, let me go start over fresh and not try to hack it into something its not. 🙂
Zeus
Zeus3w ago
You don’t have to use an env. But you have to substitute the right things into the right places 😉 You would just change UPLOAD_LOCATION to the location of your disk. The right side should never change
datacenterdude
datacenterdudeOP3w ago
good point... I've yet to get my head around the core differences between /photos, /library, and UPLOAD_LOCATION and how they interop differently, and for what? Is there a good explainer doc somewhere for that?
Mraedis
Mraedis3w ago
this and backwards compatibility when it was introduced basically
Zeus
Zeus3w ago
We don’t use /photos or /library at all. I’m not sure where you got that from
datacenterdude
datacenterdudeOP3w ago
So if I want all of my actual media to go to a NAS share, I wouldn't use ./library like in the .env file, I would change that to /mnt/data/media/immich/photos/etc?
Zeus
Zeus3w ago
Did an LLM assist with this compose at all? Lol
Mraedis
Mraedis3w ago
Sounds like parts of the UNRAID config
datacenterdude
datacenterdudeOP3w ago
Yea I sourced it from someone else who got it running, and they're an unRAID user
Mraedis
Mraedis3w ago
If you are not using unraid, don't use that
datacenterdude
datacenterdudeOP3w ago
I've nuked it and starting fresh.
Mraedis
Mraedis3w ago
Our docs are pretty complete for regular docker compose
datacenterdude
datacenterdudeOP3w ago
So as far as connecting external pgsql, I comment out everything else DB* in .env and just leave the DB_URL correct?
Mraedis
Mraedis3w ago
👌
Daniel
Daniel3w ago
Nope You also need DB_DATABASE_NAME
datacenterdude
datacenterdudeOP3w ago
oh gotcha so it won't pick that up from the url string
Mraedis
Mraedis3w ago
Do you still need it if it is the default?
Zeus
Zeus3w ago
No, that’s the end of the URL?
Daniel
Daniel3w ago
Oh sorry my bad I missed that you want to pass a fully formatted URL
Mraedis
Mraedis3w ago
(so many 2 letter words starting with i in a row 👀 )
Zeus
Zeus3w ago
/dbname
Daniel
Daniel3w ago
That should work
datacenterdude
datacenterdudeOP3w ago
DB_URL=postgresql://immich:[email protected]:5432/immich-main ^with that, do I still need DB_DATABASE_NAME defined in .env?
Daniel
Daniel3w ago
Nope Sorry for the confusion Keep in mind that your database needs the pgvecto.rs extension though
datacenterdude
datacenterdudeOP3w ago
LOL no worries, just wanna make sure. Very noob to immich and its a beautiful build, so still learning the ropes yea all that and the perms are done and good to go
Zeus
Zeus3w ago
You granted it super user I assume?
Daniel
Daniel3w ago
Cool!
datacenterdude
datacenterdudeOP3w ago
Even ran into debian overriding and installing 0.4.0 pgvectors and had to back that out and downrev it
Mraedis
Mraedis3w ago
Be prepared to start over several times when you want to tweak the ML/face settings and can't figure out how to finetune what you already have 🫠
datacenterdude
datacenterdudeOP3w ago
We'll crack that nut when I'm ready to try and tackle getting nvidia drivers installed on debian properly, but today is not that day.
Zeus
Zeus3w ago
CPU goes brrr
datacenterdude
datacenterdudeOP3w ago
So there's a ton of stuff defined in the compose for postgres... does all of that come out? I don't see that mentioned in the Pre-existing Postgres doc. But I'm assuming that whole container config can come out of the compose?
Mraedis
Mraedis3w ago
yes
datacenterdude
datacenterdudeOP3w ago
Appreciate the help gang (and the tough love, Zeus ) ❤️
Daniel
Daniel3w ago
Lmao that reaction
Zeus
Zeus3w ago
Just keep an eye on our patch notes for the future changes to the vectors image
Daniel
Daniel3w ago
Hope you'll enjoy Immich :)
Zeus
Zeus3w ago
Otherwise with super user you shouldn’t really have to touch the DB You should disable the immich DB dumps as I expect you don’t want your entire database dumped nightly. Make sure to setup a good backup on your end I like pgbackrest
datacenterdude
datacenterdudeOP3w ago
SnapCenter Plug-in for PostgreSQL overview
The SnapCenter Plug-in for PostgreSQL is a host-side component of the NetApp SnapCenter software that enables application-aware data protection management of...
datacenterdude
datacenterdudeOP3w ago
🙂 (fringe benefits of my employer)
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# 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
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:2283
depends_on:
- redis
- database
restart: unless-stopped
healthcheck:
disable: false
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# 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
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:2283
depends_on:
- redis
- database
restart: unless-stopped
healthcheck:
disable: false
WARN[0000] The "UPLOAD_LOCATION" variable is not set. Defaulting to a blank string.
invalid spec: :/usr/src/app/upload: empty section between colon
WARN[0000] The "UPLOAD_LOCATION" variable is not set. Defaulting to a blank string.
invalid spec: :/usr/src/app/upload: empty section between colon
What am I missing here? .env file below:
# The location where your uploaded files are stored
UPLOAD_LOCATION=/data/media/immich/photos
# The location where your database files are stored
# DB_DATA_LOCATION=./postgres
DB_URL=postgresql://immich:[email protected]:5432/immich-main

# 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=America/Los_Angeles

# 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=immich
# The location where your uploaded files are stored
UPLOAD_LOCATION=/data/media/immich/photos
# The location where your database files are stored
# DB_DATA_LOCATION=./postgres
DB_URL=postgresql://immich:[email protected]:5432/immich-main

# 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=America/Los_Angeles

# 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=immich
Zeus
Zeus3w ago
Is the .env in the same folder as the compose? The file contents look ok
datacenterdude
datacenterdudeOP3w ago
That was it. One of the fallbacks of using dockge, it doesn't make env mgmt easy. Also, had to comment out depends on: entry for database Still hitting this on startup.
immich_server | [Nest] 17 - 04/13/2025, 2:30:48 PM ERROR [Api:StorageService] Failed to read upload/encoded-video/.immich: Error: ENOENT: no such file or directory, open 'upload/encoded-video/.immich'
immich_server | api worker exited with code 1
immich_server exited with code 1
immich_server | [Nest] 17 - 04/13/2025, 2:30:48 PM ERROR [Api:StorageService] Failed to read upload/encoded-video/.immich: Error: ENOENT: no such file or directory, open 'upload/encoded-video/.immich'
immich_server | api worker exited with code 1
immich_server exited with code 1
Is this a permissions thing? Or do I need to manually create those folders and .immich file beforehand?
Zeus
Zeus3w ago
Most likely the first startup allowed it to boot with a phantom volume that is now gone because it wasn’t mounted Can you clear out the PG database and try again?
datacenterdude
datacenterdudeOP3w ago
By clear out, do you mean nuke the db and recreate it? Prob should anyway, I had set up an admin user and everything already.
Daniel
Daniel3w ago
Yep
datacenterdude
datacenterdudeOP3w ago
No description
datacenterdude
datacenterdudeOP3w ago
Did the trick. Thanks folks!

Did you find this page helpful?