-
[Support] Human-126094 - docker templates
Thank you @Human-126094 for the quick fix and for the clear explanation of the cause. I tested v2.60.0 on my setup (unRAID, NTFS disks through Unassigned Devices) and the move onto NTFS now works. I'm glad the tests helped track down the problem, and I really appreciate your responsiveness and the effort you put into improving x265-Butler for everyone. Great work, and thanks for taking the time to reproduce the problem and answer so fast. x265-butler is a really well-made tool. Keep up the great work!
-
[Support] Human-126094 - docker templates
Confirmed. After restoring /mnt/medialib -> /media, the test as UID 99:100 reproduces the exact EPERM error when Node.js fs.promises.copyFile() copies from /cache to the NTFS-backed /media path. The test file is shown as owner 0:0, and the temporary files were cleaned up. I’ll use the application-side fix when available rather than changing the disk mount options for now. Mounting the NTFS disks with uid=99,gid=100 is the workaround; I'm not sure Unassigned Devices exposes that option per disk. Thanks for reproducing and addressing this. root@NAS:~# docker exec x265-butler stat -c '%u:%g' /proc/1 0:0 root@NAS:~# findmnt -T /mnt/disks/SG3_TV_Shows -o TARGET,FSTYPE,OPTIONS TARGET FSTYPE OPTIONS /mnt/disks/SG3_TV_Shows fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 root@NAS:~# docker exec -u 99:100 x265-butler sh -c 'head -c 16M /dev/zero > /cache/eperm-test.bin' root@NAS:~# docker exec -u 99:100 x265-butler node -e "require('fs').promises.copyFile('/cache/eperm-test.bin','/media/TV Shows/Columbo (1971)/Season 06/eperm-test.tmp').then(()=>console.log('ok'),e=>console.log(e.message))" EPERM: operation not permitted, copyfile '/cache/eperm-test.bin' -> '/media/TV Shows/Columbo (1971)/Season 06/eperm-test.tmp' root@NAS:~# docker exec x265-butler rm -f /cache/eperm-test.bin "/media/TV Shows/Columbo (1971)/Season 06/eperm-test.tmp"
-
Foca68 joined the community
-
[Support] Human-126094 - docker templates
Hi, I'm running x265-Butler 2.59.0, commit 0fb0d80c, Docker image created 2026-10-19. A job successfully encoded a video, but failed during the final copy step with: EPERM: operation not permitted, copyfile '/cache/work/9/output.x265.mkv' -> '/media/TV Shows/Columbo (1971)/Season 06/Columbo (1971) - S06E02 - Old Fashioned Murder-x265.mkv.x265-butler.move.tmp' Environment: Unraid Docker container, running as root inside the container /cache maps to /mnt/disks/CR_4TB/temp (fuseblk) /media maps to /mnt/medialib (mergerFS) Target directory exists only on mergerFS branch /mnt/disks/SG3_TV_Shows mergerFS category.create=mspmfs, func.create=mspmfs, func.rename=epall All branches have sufficient free space Tests: Host shell copy to the target directory succeeds. Container shell copy to the target directory succeeds. Node.js fs.promises.copyFile() with 16 MB and 1 MB test files to the same target directory succeeds. After the failed job, /cache/work is empty and no .move.tmp file remains. Could you check whether the final transfer step in 2.59.0 has a known issue or uses any special flags/operations that could cause this EPERM on mergerFS/fuseblk?
Foca68
Members
-
Joined
-
Last visited