USB-Device an Synology im Docker verwenden

Da ich mit Docker noch ein absoluter Newbie bin und nur dank der Doku IPS darauf stabil(!!!) zum laufen gebracht habe, ist die Frage für euch vielleicht sehr einfach.
Ich habe eine Synology mit Docker und darauf wie gesagt IPS laufen. Wie kann ich an die Synology ein USB-Device, hier konkret einen optischen Lesekopf für einen Stromzähler (D0-Zähler), anschließen und dann in IPS darauf zugreifen?
Welchen Container muss ich dafür installieren? Was ist dabei einzustellen? Oder wie kann man da anders vorgehen?
Meine Recherche im Internet führte immer auf Kommandos per SSH. Das ist für mich ehrlich gesagt an der Stelle zu hoch. Deshalb bin ich für Hinweise dankbar.

Hallo @Ubari

ob es bei Deinem NAS ein Tool gibt, mit dem die Config für Deinen Docker zusammen geklickt werden kann, weiß ich nicht.

Generell hat ein USB Device im Host Betriebssystem einen Pfad. Diesen Pfad musst Du ausfindig machen und mit diesen Pfad in Deinen Docker mappen.

Wenn man einen Docker Container startet, kann
man diese Pfad zu einem Device als Parameter mitgeben. Alternativ gibt es auch eine Erweiterung (Script) namens Docker Compose. Damit werden die Parameter der Docker Container zum Start aus einer Config Datei geladen.

Am Beispiel hier könntest Du Dir das mal ansehen.

In dem Beispiel oben wird ein USB Device (Zigbee Coordinator Gateway) an einen Docker Zigbee2mqtt durchgereicht.

Vielleicht hilft Dir das.

Gruß Dirk

Bei meiner Frage hat mir @AndiBar sehr gut geholfen, sodass ich erfolgreich die USB-Devices an meinem Synology NAS mit Docker nutzen kann. Vielen Dank nochmal an der Stelle.
Da ich in der Recherche nicht den gewünschten Erfolg hatte, versuche ich hier einmal die Schritte darzustellen:

  1. Von der Seite jadahl.com den passenden USB serial driver (*.spk) herunterladen und auf dem NAS im Paketzentrum über „manuelle Installation“ installieren. Danach Neustart des NAS.
  2. Im Docker den Container Symcon stoppen.
  3. Per ssh auf die Synology verbinden.
  4. Folgenden Befehl starten:

sudo docker run --name symcon_usb --net=„host“ -v /volume1/docker/Symcon/lib:/var/lib/symcon -v /volume1/docker/Symcon/log:/var/log/symcon -v /volume1/docker/Symcon/root:/root --privileged -v /dev/ttyUSB0:/dev/ttyUSB0 symcon/symcon:latest
Die Pfade müssen ggf. angepasst werden.

In meinem Fall habe ich den Container nicht im Netzwerk „host“ sondern „bridge“ laufen. Ich bin leider kein Experte für Docker, deshalb kann ich den Unterschied nicht erklären und habe es so genommen wie es war (…und war froh, dass es funktioniert hat). Deshalb war der Befehl ein klein wenig anders. Außerdem habe ich den vorher genutzten Symcon-Container erst gelöscht, um die Ports wieder mappen zu können.
sudo docker run --name symcon_usb --net=„bridge“ -v /volume1/docker/Symcon/lib:/var/lib/symcon -v /volume1/docker/Symcon/log:/var/log/symcon -v /volume1/docker/Symcon/root:/root --privileged -v /dev/ttyUSB0:/dev/ttyUSB0 -p 3777:3777 symcon/symcon:latest

Es können natürlich weitere USB-Ports z.B. -v /dev/ttyUSB1:/dev/ttyUSB1 und weitere Ports gemapped werden.

1 „Gefällt mir“