# How to pass the digirig lite through a docker container

**URL:** <https://forum.digirig.net/t/how-to-pass-the-digirig-lite-through-a-docker-container/10618>\
**Category:** Uncategorized\
**Tags:** software-docker\
**Created:** [July 14, 2026, 2:31am UTC](https://forum.digirig.net/t/how-to-pass-the-digirig-lite-through-a-docker-container/10618 "2026-07-14T02:31:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![KirkD](https://forum.digirig.net/letter_avatar_proxy/v4/letter/k/59ef9b/32.png) [@KirkD](https://forum.digirig.net/u/KirkD)\
**Post date:** [July 14, 2026, 2:31am UTC](https://forum.digirig.net/t/how-to-pass-the-digirig-lite-through-a-docker-container/10618/1 "2026-07-14T02:31:11Z")

</div>

I am trying to pass the digirig lite through a docker container on the Raspberry Pi Trixie OS on graywolf.

I have added the following 2 command lines to the docker-configure.yml device:

```auto
  - /dev/hidraw0:/dev/hidraw0
  - /dev/snd:/dev/snd

```

I was successful in passing my USB GPS device and it is reading on Graywolf, but the digirig lite, no luck. I have been fooling around for in for a few days.

This is the complete Docker-compose.yml file I am running:

`services:`  
`graywolf:`  
`image: ` [Package graywolf · GitHub](http://ghcr.io/chrissnell/graywolf:latest)  
`container_name: graywolf`  
`restart: unless-stopped`  
`privileged: true`  
`devices:`  
`- /dev/hidraw0:/dev/hidraw0`  
`- /dev/snd:/dev/snd`  
`- /dev/ttyACM0:/dev/ttyACM0`  
`ports:`  
`- "8080:8080/tcp"`  
`volumes:`  
`- graywolf-data:/data`  
`command: ["-config", "/data/graywolf.db", "-http", "0.0.0.0:8080"]`

Any help is appriacted

Thanks

---

<div class="post-metadata">

**Author:** ![K0TX](https://forum.digirig.net/user_avatar/forum.digirig.net/k0tx/32/3_2.png) [@K0TX](https://forum.digirig.net/u/K0TX)\
**Post date:** [July 15, 2026, 9:23am UTC](https://forum.digirig.net/t/how-to-pass-the-digirig-lite-through-a-docker-container/10618/2 "2026-07-15T09:23:19Z")

</div>

Did you confirm that devices being forwarded belong to Digirig?

If nothing else, see if there is info on forwarding other CM108-based sound card devices or soundcards in general. There is nothing specific about Digirig’s audio codec that would make forwarding any different from other USB soundcard devices.

Please share your solution if found.

---

<div class="post-metadata">

**Author:** ![KirkD](https://forum.digirig.net/letter_avatar_proxy/v4/letter/k/59ef9b/32.png) [@KirkD](https://forum.digirig.net/u/KirkD)\
**Post date:** [July 25, 2026, 1:34am UTC](https://forum.digirig.net/t/how-to-pass-the-digirig-lite-through-a-docker-container/10618/3 "2026-07-25T01:34:27Z")

</div>

I got it up and running. Here is what I put together:

Graywolf + Digirig Lite Setup Guide

To pass a **Digirig Lite** through to a Docker container running **Graywolf** (typically on Linux/Raspberry Pi), you need to map both the **ALSA sound card** and the correct **HID device** for PTT (since the Digirig Lite uses a C-Media CM108 chip which controls PTT via HID GPIO).

The main issue when passing `/dev/hidraw0` is that Linux dynamically assigns `hidraw` numbers (`hidraw0`, `hidraw1`, etc.) based on connection order, meaning hardcoding `/dev/hidraw0` often breaks or targets the wrong device after a reboot.

**Phase 1: Create a permanent shortcut name for your Digirig**

Every time your Pi turns on, it picks a random name for your Digirig (like hidraw0 or hidraw1). We are going to lock in a single name—/dev/digirig-hid—that **never changes**.

**1. Get your Digirig’s ID code**

Plug in your Digirig, open your Pi’s terminal screen, and run:

Bash

`lsusb`

Look for a line that mentions **C-Media**. You will see an ID code with a colon in the middle, like 0d8c:013c.

- First part (0d8c) = **Vendor ID**
- Second part (013c) = **Product ID**

_(Write your numbers down if they are different!)_

**2. Make the rule file**

Run this command in your terminal:

Bash

`sudo nano /etc/udev/rules.d/99-digirig.rules`

Paste this **exact line** into the blank editor screen:

`KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="013c", SYMLINK+="digirig-hid", MODE="0666"`

_(If your numbers from Step 1 were different, swap 0d8c and 013c with yours)._

· **`KERNEL=="hidraw*"` & `SUBSYSTEM=="hidraw"`** : Ensures this rule targets hidraw interfaces.

· **`ATTRS{idVendor}` & `ATTRS{idProduct}`** : Matches your specific hardware.

· **`SYMLINK+="digirig-hid"`** : Tells Linux to create a static path `/dev/digirig-hid`.

· **`MODE="0666"`** : Grants read/write permissions so Docker/non-root users can access it without permission errors.

**Save and exit:**

- Press **Ctrl + O** , then press **Enter** (saves file).
- Press **Ctrl + X** (exits back to terminal).

**3. Activate your new shortcut**

Run these two commands:

Bash

```auto
sudo udevadm control --reload-rules

sudo udevadm trigger

```

Now **unplug your Digirig** from the USB port, wait 3 seconds, and **plug it back in**.

To test if it worked, run:

Bash

`ls -l /dev/digirig-hid`

**Example Output:**

lrwxrwxrwx 1 root root 7 Jul 23 22:30 /dev/digirig-hid → hidraw0

If you see text pop up, success! Your permanent shortcut is ready.

**Phase 2: Create the Docker Compose File**

Now we will build the setup file that tells Docker how to run Graywolf and talk to your radio’s sound and PTT switch.

**1. Open a new file editor**

Run this command in your terminal:

Bash

`sudo nano docker-compose.yml`

**2. Paste this exact configuration:**

```auto
services:
  graywolf:
    image: ghcr.io/chrissnell/graywolf:latest
    container_name: graywolf
    restart: unless-stopped
    privileged: true
    group_add:
      - audio
      - plugdev
    devices:
      - /dev/snd:/dev/snd
      - /dev/digirig-hid:/dev/digirig-hid
    ports:
      - "8080:8080/tcp"
    volumes:
      - graywolf-data:/data
    command: ["-config", "/data/graywolf.db", "-http", "0.0.0.0:8080"]

volumes:
  graywolf-data:

```

**Save and exit:** Press **Ctrl + O** , **Enter** , then **Ctrl + X**.

**Phase 3: Start Graywolf**

In your terminal, run this single command to start the container:

Bash

`docker compose up -d`

Docker will download Graywolf and start it up in the background!

**Phase 4: Configure Graywolf in your web browser**

1. Open a browser on your phone, PC, or Pi and go to: http://:8080
2. Head into Graywolf’s **Settings / Configuration**

That’s it! Your audio and PTT will stay connected even if you restart your Pi or unplug the Digirig.
