How Can I Map HandBrake’s Watch and Output Folders to Unraid from Docker Desktop?
Asked by
MellowCedar42
I'm setting up a small transcoding server inside a Windows 11 VM running on Unraid. The VM has Adobe Media Encoder for Premiere projects and HandBrake running through Docker Desktop with NVIDIA GPU acceleration. I'd like to drop projects or recordings into watch folders and have them automatically transcoded using the server's RTX 5060 Ti.
Because Media Encoder requires Windows, I need to keep this workflow inside the Windows VM. I'm also specifically trying to use HandBrake rather than another automation tool. The problem is that I can't determine where HandBrake's watch and output folders are located, and its web interface does not seem able to access my Unraid shares or other Windows folders.
I considered using Portainer to configure folder mappings, but it does not appear to work with my current Docker Desktop setup. How can I map HandBrake's input/watch folder and output folder to locations on the Windows VM or Unraid shares? I'd also appreciate advice on whether a simple PowerShell script or another setup would be more practical.
Answers
You can avoid Portainer entirely by defining the folder mappings in a `docker run` command or a Compose file. A simple PowerShell script can watch an incoming folder and launch the container with mappings for the input and output directories. That is probably easier to maintain than trying to configure everything through the web GUI.
For example, the conceptual mappings would be `Incoming` to `/input` and `Output` to `/output`. Also confirm that the Windows VM can access the Unraid share, that Docker Desktop has permission to use the relevant drive, and that the container user has permission to read and write those folders.
Reply to this answer
The container stores its output in `/output`. You need to expose that directory when starting the container by using a bind mount. For example, the general Docker syntax is `-v /path/on/host/output:/output`, with another mapping for the input or watch directory.
On Docker Desktop for Windows, the host paths can be Windows paths, such as `-v "D:\Transcode\Output:/output"` and `-v "D:\Transcode\Incoming:/input"`. Make sure those drives or folders are shared with Docker Desktop. If the source and destination are Unraid shares, mount the shares in Windows first and then use their mapped paths, or use their UNC paths if Docker Desktop permits them.
Reply to this answer
Add your answer
Answers are reviewed before publication.
TinyMaple88: So the important part is that `/output` is the path inside the container; the Windows or Unraid path before the colon is where the files actually appear on the host.