USB Port für dasDocker image zur Verfügung stellen

Solaranzeige und Docker
Alles was mit der Docker Version zu tun hat.

Moderatoren: Ulrich, DeBaschdi

Antworten
lugau45
Beiträge: 78
Registriert: So 12. Sep 2021, 07:42

USB Port für dasDocker image zur Verfügung stellen

Beitrag von lugau45 »

Hallo, ich möchte meine Effekta (geht ja jetzt mit Licom Box) nun auch mit Docker nutzen. Ich habe eine Synology wo ich Docker nutzen kann und es läuft auch soweit. Ich kann mich ins Grafana einloggen WR 77 habe ich bei der installation eingegeben. Es kommen aber keine Daten. Wie binde ich den Usb Port nun richtig ein?
Wäre schön wenn hier jemand helfen kann.

DeBaschdi
Beiträge: 299
Registriert: Mo 10. Aug 2020, 08:13
Hat sich bedankt: 15 Mal
Danksagung erhalten: 55 Mal

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von DeBaschdi »

Hi,
ich nutze aktuell einen mit FT232 Chipsatz
https://www.reichelt.de/usb-2-0-konvert ... gJkm_D_BwE

Code: Alles auswählen

Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
der funktioniert ganz gut.

Um den im Container nutzen zu können muss er als "device" durchgereicht werden, im Runparameter muss das hinzu :

Code: Alles auswählen

--device='/dev/ttyUSB0'
wie das unter Syno klappt musst du in deren Beschreibung nachlesen, dazu kann ich nichts sagen.

es ist auch nur dann ttyUSB0, wenn er so auch geladen wird, am besten auf dem Host, also deiner syno mal nachsehen ob es nicht gar ttyUSB1-X ist.

Code: Alles auswählen

root@solaranzeige:~# dmesg |grep ttyUSB
[    5.989357] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0

lugau45
Beiträge: 78
Registriert: So 12. Sep 2021, 07:42

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von lugau45 »

Ok, aber wo gebe ich auf der Oberfläche den Parameter mit an? Oder muss ich den ganzen start vom Container über Konsole machen am besten?
Wie ist denn der komplette Befehl wenn man das per Konsole starten möchte?

DeBaschdi
Beiträge: 299
Registriert: Mo 10. Aug 2020, 08:13
Hat sich bedankt: 15 Mal
Danksagung erhalten: 55 Mal

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von DeBaschdi »

Wie das in der Syno Oberfläche funktioniert weiß ich nicht, vllt kann dich da ein Syno User unterstützen.
Wenn deine Syno mal das zeitliche segnet, empfehle ich dir Unraid, ist in jeder Hinsicht besser, von den Möglichkeiten bis hin zur Skalierbarkeit über Energiespaarfunktionen mittels Spindown usw.
Nutze ich z.b selbst.

Im Terminal solltest du den kompletten Runbefehl absetzen können, aber auch da weß ich nicht wo die Syno ihre Pfade für Persistente Pfade speichert.

lugau45
Beiträge: 78
Registriert: So 12. Sep 2021, 07:42

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von lugau45 »

Vielleicht kann ja hier mal einer der eine yyno hat erklären wie ich das mit einbinde oder hier den kompletten Befehl für die Konsole geben.

lugau45
Beiträge: 78
Registriert: So 12. Sep 2021, 07:42

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von lugau45 »

Ich habe es jetzt mal mit dem Befehl versucht kommt aber ein Fehler.

Code: Alles auswählen

docker run -d -e USER_ID="99" -e GROUP_ID="100" -e TIMEZONE="Europe/Berlin"-e UPDATE="yes"-e MOSQUITTO="yes"-e INFLUXDB="yes"-p 3000:3000 -v SOLARANZEIGE_STORAGE:/solaranzeige -v PVFORRCAST_STORAGE:/pvforecast -v INFLUXDB_STORAGE:/var/lib/influxdb -v GRAFANA_STORAGE:/var/lib/grafana -v WWW_STORAGE:/var/www --name=Solaranzeige1 --restart unless-stopped --tmpfs /tmp --tmpfs /var/log --device=/dev/ttyUSB0 takealug/solaranzeige:latest 
docker: invalid reference format: repository name must be lowercase.
See 'docker run --help'.

DeBaschdi
Beiträge: 299
Registriert: Mo 10. Aug 2020, 08:13
Hat sich bedankt: 15 Mal
Danksagung erhalten: 55 Mal

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von DeBaschdi »

Du musst mindestens mal bitte die Volumes wie in der Berschreibung auf reale, auf der syno existierende Pfade herausführen, so das sie persistent werden.

Beispiel, musst du anpassen! Mindestens die Pfade wo es rausgeführt werden soll, bei allen Volumes.

Code: Alles auswählen

 docker run -d --name='Solaranzeige' --net='bridge' -e USER_ID="99" -e GROUP_ID="100"  -e 'UPDATE'='yes' -e 'TIMEZONE'='Europe/Berlin' -e 'MOSQUITTO'='yes' -e 'INFLUXDB'='yes' -p '3000:3000/tcp' -p '8080:80/tcp' -p '1883:1883/tcp' -p '8086:8086/tcp' -v '/mnt/cache/docker/appdata/solaranzeige/solaranzeige':'/solaranzeige':'rw' -v '/mnt/cache/docker/appdata/solaranzeige/www':'/var/www':'rw' -v '/mnt/cache/docker/appdata/solaranzeige/influxdb':'/var/lib/influxdb':'rw' -v '/mnt/cache/docker/appdata/solaranzeige/grafana/':'/var/lib/grafana':'rw' -v '/mnt/cache/docker/appdata/solaranzeige/pvforecast/':'/pvforecast':'rw' --device='/dev/ttyUSB0' 'takealug/solaranzeige:amd64'
 
Und das repository zum Schluss.

Und bitte, auch den benutzer 99, sowie gruppe 100 auf reale, auf der syno existierende nutzer schieben!

lugau45
Beiträge: 78
Registriert: So 12. Sep 2021, 07:42

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von lugau45 »

Also ich bekomme den USB nicht zum laufen. Vielleicht hat ja auch mal einer eine Syno und nutzt das mit Docker, dann kann da bestimmt weiter gehalfen weren.
Auf dem NAS ist der USB da
|__1-1 0403:6001:0600 00 2.00 12MBit/s 300mA 1IF (FTDI USB-RS485 Cable FT5MU1UP)

robert65
Beiträge: 20
Registriert: Mi 19. Okt 2022, 23:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: USB Port für dasDocker image zur Verfügung stellen

Beitrag von robert65 »

Also das USB-Device muss sowohl auf der Synology als auch im Docker sichtbar sein:

root@filer-2:/volume1/docker/solaranzeige# ls -la /dev/ttyUSB0
crwxrwxrwx 1 root root 188, 0 Nov 6 11:19 /dev/ttyUSB0
root@filer-2:/volume1/docker/solaranzeige# docker exec -ti Solaranzeige2 /bin/bash
root@6a878e387565:/# ls -la /dev/ttyUSB0
crwxrwxrwx 1 root root 188, 0 Nov 8 22:53 dev/ttyUSB0
root@6a878e387565:/#

Es gibt bei der Synology zwei Möglickeiten das zu erreichen.
In der GUI: "Container mit hoher Priorität ausführen" somit läuft der Conainer als root und hat zugriff auf alle Devices
oder den Container per SSH und Command erstellen und den Parameter "--device=/dev/ttyUSB0" hinzufügen.

also z.B.:
docker run -d -e USER_ID="1041" -e GROUP_ID="100" \
-e TIMEZONE="Europe/Berlin" \
-e UPDATE="yes" -e MOSQUITTO="yes" \
-e INFLUXDB="yes" -e USBDEVICE="/dev/ttyUSB0" \
-p 3011:3000 \
-v /volume1/docker/solaranzeige/solaranzeige:/solaranzeige \
-v /volume1/docker/solaranzeige/grafana:/var/lib/grafana \
-v /volume1/docker/solaranzeige/pvforecast:/pvforecast \
-v /volume1/docker/solaranzeige/influxdb:/var/lib/influxdb \
-v /volume1/docker/solaranzeige/www:/var/www \
--name=Solaranzeige2 --device=/dev/ttyUSB0 \
takealug/solaranzeige:amd64

Antworten

Zurück zu „Docker Container“