USB device passthrough to windows vm running via docker app (24.10, docker-compose)

Hi! I’m having a problem with USB Passthrough to my Windows VM (running via Docker container)

I’ve installed Docker application with “Install via YAML” (docker-compose)
This is the application — GitHub - dockur/windows: Windows inside a Docker container.

I need to passthrough the USB device

I figured out it’s address: /dev/bus/usb/002/005
(by running ls /dev/bus/usb/*/* before and after plugging in the device)

and this is sudo dmesg | grep -i usb output

[412212.476265] usb 2-1.8: new full-speed USB device number 5 using ehci-pci
[412212.586370] usb 2-1.8: config 1 interface 0 altsetting 0 has 3 endpoint descriptors, different from the interface descriptor's value: 2
[412212.654966] usb 2-1.8: New USB device found, idVendor=0a89, idProduct=0025, bcdDevice= 1.00
[412212.654971] usb 2-1.8: New USB device strings: Mfr=1, Product=2, SerialNumber=0

On GitHub page it says:

To pass-through a USB device, first lookup its vendor and product id via the lsusb command, then add them to your compose file like this:

environment:
  ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
devices:
  - /dev/bus/usb

I tried many variants without luck, including:

environment:
  ARGUMENTS: "-device usb-host,vendorid=0a89,productid=0025"
environment:
  ARGUMENTS: "-device usb-host,vendorid=0x0a89,productid=0x0025"
environment:
  ARGUMENTS: "-device usb-host,vendorid=0x89,productid=0025"

And for devices:

devices:
  - /dev/bus/usb
devices:
  - /dev/bus/usb/002/005

with different combinations

I’m also tried setting privileged: true

no luck

What is the right way to passthrough this USB device to docker application installed via docker-compose (“Install via YAML”)?

this is example of YAML

services:
  windows:
    cap_add:
      - NET_ADMIN
    container_name: windows10-ltsc
    devices:
      - /dev/kvm
      - /dev/bus/usb/002/005
    environment:
      VERSION: ltsc10
      ARGUMENTS: "-device usb-host,vendorid=0x0a89,productid=0x0025"
    image: dockurr/windows
    ports:
      - '8006:8006'
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    volumes:
      - /mnt/ssd-pool-1/Apps/Windows:/storage

Would appreciate your help!


System: Supermicro X9DRL-iF / Xeon E5-2667v2 / 2×32G DDR3 ECC LRDIMM