#"Permission denied" while trying to set up remote video transcoding on remote machine

1 messages · Page 1 of 1 (latest)

gritty vector
#

Immich Server is QNAP TS-464 running on Portainer (connected via local ethernet).

Remote machine is a desktop gaming PC running Linux Mint 22 mounted to QNAP via sudo mount cifs command.

I want to do remote video transcoding on my gaming PC to reduce transcoded video size (planning on x264 but the PC also supports NVENC), but after trying to follow the discussion thread #14142 on immich's Github it's giving the error. I'll try to attach the logs and related files later.

Do I have to fix the mount permissions? Thank you.

fervent scrollBOT
#

:wave: Hey @gritty vector,

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

#

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. :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.

fervent scrollBOT
gritty vector
#

Error message:
[Nest] 51 - 02/01/2026, 10:19:46 PM LOG [Microservices:WebsocketRepository] Initialized websocket server
[Nest] 51 - 02/01/2026, 10:19:46 PM LOG [Microservices:DatabaseRepository] targetLists=256, current=256 for clip_index of 251228 rows
[Nest] 51 - 02/01/2026, 10:19:46 PM LOG [Microservices:DatabaseRepository] targetLists=256, current=256 for face_index of 205565 rows
[Nest] 51 - 02/01/2026, 10:19:46 PM LOG [Microservices:DatabaseRepository] Running migrations
[Nest] 51 - 02/01/2026, 10:19:46 PM LOG [Microservices:DatabaseRepository] Finished running migrations
[Nest] 51 - 02/01/2026, 10:19:46 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] 51 - 02/01/2026, 10:19:46 PM ERROR [Microservices:StorageService] Failed to write /data/encoded-video/.immich: Error: EACCES: permission denied, open '/data/encoded-video/.immich'
microservices worker error: Error: Failed to write "<UPLOAD_LOCATION>/encoded-video/.immich - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information.", stack: Error: Failed to write "<UPLOAD_LOCATION>/encoded-video/.immich - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information."

#

Remote machine's docker-compose file:

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: nvenc # 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
- /home/[myuser]/mnt/photos:/share/CACHEDEV1_DATA/Photos:ro
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
#depends_on:
#- redis
#- database
restart: always
healthcheck:
disable: false

volumes:
model-cache:

Remote machine's env file:
UPLOAD_LOCATION=/home/[myuser]/mnt/immich-library
DB_DATA_LOCATION=./postgres
TZ=Asia/[redacted]
IMMICH_VERSION=v2
DB_PASSWORD=[password]
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
DB_HOSTNAME=192.168.x.x
REDIS_HOSTNAME=192.168.x.x
IMMICH_WORKERS_INCLUDE='microservices'
IMMICH_WORKERS_EXCLUDE='api'

rose crescent
#

You have some CIFS related issue most likely. First focus on seeing if you can write to the mount at all from the command line

gritty vector
#

@rose crescent My command is 'sudo mount -t cifs //192.168.x.x/Container/immich-app/library /home/[myuser]/mnt/immich-library -o "rw,username=[mynasuser],password=[password],uid=1000,gid=1000"'

Removed uid and gid and the issue still persists.

On my remote machine's OS, both myuser and root can create a new file/folder in the mount. Not sure if the immich-server container needs extra permissions…

gritty vector
#

@rose crescent I still need help. My remote machine's OS can read and write from the immich-library mount but not the Docker container. Tried noperm, setting file and folder permissions in mount command, etc.

rose crescent
#

Sorry, not sure what to add but this is not an immich related issue. I would start with an alpine container to really figure out if you can write or read to the mount at all

#

Something like docker run -it -v /home/user/mnt/immich-library:/data alpine:latest /bin/sh

haughty nova
#

Can you try spinning up a test instance of immich on your PC, but using local disk as backend and not cifs

#

We need to see which user own the files, your user or some sort of subuid/subgid (can happen if there is rootless stuff involved somewhere in the stack)

gritty vector
haughty nova
#

you already tried to write to cifs share as root, right?

gritty vector
#

I'm trying to troubleshoot now. I'll post any updates here.