I
Immich•2mo ago
Cipix

Don't use right UPLOAD_LOCATION

When i start my container, i have this error with the immich server : ERROR [Microservices:StorageService] Failed to read (/data/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/data/encoded-video/.immich' it tells me it cannot read /data which is normal because it doesn't exist, the problem is that my UPLOAD_LOCATION variable is set to /mnt/immich_storage, i thought it was permission issues so i tried chmod 777 on /mnt/immich_storage but it didn't solve the problem this is my .env file :
# 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/immich_storage

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# 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=Europe/Paris

# 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=

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
# 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/immich_storage

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# 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=Europe/Paris

# 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=

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
i didn't change anything in the my docker-compose.yml file
29 Replies
Immich
Immich•2mo ago
:wave: Hey @Cipix, 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. :blue_square: 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.
Cipix
CipixOP•2mo ago
#
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
#
# Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.

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}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false
#
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
#
# Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.

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}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:5b8f8c333bef895c925f56629d6ba90aea95a4f7391f62411e625267c600b19c
healthcheck:
test: redis-cli ping || exit 1
restart: always

database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always

volumes:
model-cache:
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:5b8f8c333bef895c925f56629d6ba90aea95a4f7391f62411e625267c600b19c
healthcheck:
test: redis-cli ping || exit 1
restart: always

database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always

volumes:
model-cache:
Cipix
CipixOP•2mo ago
my file system :
No description
Immich
Immich•2mo ago
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Mraedis
Mraedis•2mo ago
It means the internal /data, which for you is located at /mnt/immich_storage So it can't read /mnt/immich_storage/encoded-video/.immich This means that either your folder is not mounted to the container or you've (re)moved that folder
Cipix
CipixOP•2mo ago
Well apparently it didn't create the folder the first time i started immich Can it be because i updated from 1.136 to latest update ? how can i mount /mnt/immich_storage to the immich container ?
Mraedis
Mraedis•2mo ago
YOu're already doing that here: - ${UPLOAD_LOCATION}:/data The question is did it work 🙂 what files are in /mnt/immich_storage ? files/folders
Cipix
CipixOP•2mo ago
Only a lost+found folder Nothing else
Mraedis
Mraedis•2mo ago
that means it's not mounted and you should try docker compose up -d again
Cipix
CipixOP•2mo ago
Okay i'll do it again
Mraedis
Mraedis•2mo ago
Do you even have any files in immich yet?
Cipix
CipixOP•2mo ago
no because it won't start when i do docker compose up -d i have this in the logs :
Initializing Immich v1.138.1
Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 7 - 08/19/2025, 2:32:21 PM LOG [Microservices:EventRepository] Initialized websocket server
[Nest] 7 - 08/19/2025, 2:32:21 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows
[Nest] 7 - 08/19/2025, 2:32:21 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows
[Nest] 7 - 08/19/2025, 2:32:21 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] 7 - 08/19/2025, 2:32:21 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: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/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
Initializing Immich v1.138.1
Detected CPU Cores: 4
Starting api worker
Starting microservices worker
[Nest] 7 - 08/19/2025, 2:32:21 PM LOG [Microservices:EventRepository] Initialized websocket server
[Nest] 7 - 08/19/2025, 2:32:21 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows
[Nest] 7 - 08/19/2025, 2:32:21 PM LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows
[Nest] 7 - 08/19/2025, 2:32:21 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] 7 - 08/19/2025, 2:32:21 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: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/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
should i reinstall it again ?
Mraedis
Mraedis•2mo ago
No, wipe everything inside of ./postgres wherever it is, and then compose up (If you didn't start immich yet)
Cipix
CipixOP•2mo ago
it worked and it's now using the good disk this upgrade was weird
Mraedis
Mraedis•2mo ago
The issue was you either changed UPLOAD_LOCATION after starting once, or /mnt/immichwhatever wasn't mounted when the stack started
Cipix
CipixOP•2mo ago
if i had uploaded photos when i was using 1.136, maybe it could have never crashed because i installed it, it worked but asked me to update to latest version, i did it following this doc https://immich.app/docs/install/upgrading/ i did a docker compose up -d again and it crashed hope it won't with next updates thank you so much for your help
Mraedis
Mraedis•2mo ago
Let's not get hasty here 👀 I thought you said you didn't upload any pictures yet
Cipix
CipixOP•2mo ago
i didn't
Cipix
CipixOP•2mo ago
No description
Mraedis
Mraedis•2mo ago
But you did on 1.136 then?
Cipix
CipixOP•2mo ago
no
Mraedis
Mraedis•2mo ago
Ah , upgraded a fresh install
Cipix
CipixOP•2mo ago
yep also do you know why the fresh install didn't pull the 1.138 version and took the 1.136 ?
Mraedis
Mraedis•2mo ago
It's good you had this happen actually because if you started uploading when the mount failed like this you would've wiped everything with an upgrade you need to docker compose pull before it pulls new images
Cipix
CipixOP•2mo ago
i don't really understand why the mount failed though oh okay
Mraedis
Mraedis•2mo ago
I see 1.138 though?
Cipix
CipixOP•2mo ago
let me explain what happened chronologically 1. installed immich with this doc : https://immich.app/docs/install/docker-compose (i copypasted the commands) 2. i went to the web ui and it told me i wasn't up to date 3. i upgraded immich follow this doc https://immich.app/docs/install/upgrading (again copypasted) 4. restarted immich : can't find /mnt/immich_storage 5. deleted postgres folder 6. i'm greeted again with the welcome ui asking for mail, username etc 7. it works and now the funny part : i'll try to put it behind a traefik reverse proxy 🙃
Mraedis
Mraedis•2mo ago
lots of examples of that around here #Exposing Immich to the internet
Cipix
CipixOP•2mo ago
nice thank you

Did you find this page helpful?