NEWS
USB in Docker via neuer Container über Compose u.a. andere
-
@chrisham sagte in USB Device für IOBroker in Docker:
@chrisham logs im iobroker:
Bist du sicher das es mit deinem alten Container ging ( Einstellungen sind uns unbekannt ) ,
denn du hast nur im neuen Container ( bridge mode ) das drin nurports: - "8081:8081"
mehr nicht !
Also ist nur eine Verbindung zum Container mit 8081 ( Admin ioBroker ) vorhanden !
Oder hast du den alten Container im host mode , dann hast du keine Probleme mit den Portfreigaben ( werden nicht benötigt ) !?
-
Der Thread Titel " USB Device für IOBroker in Docker " passt jetzt nicht mehr zum weiteren Inhalt !
-
@dp20eic sagte in USB Device für IOBroker in Docker:
Ich denke, Du musst die "" bei - PACKAGES="ffmpeg lame sox libsox-fmt-mp3 asterisk" wegnehmen.
richtig
So :
- PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk
PACKAGES=influxdb2-cliEDIT:
Packages hintereinander !@dp20eic sagte in USB Device für IOBroker in Docker:
nur wenn Du weißt, was Du machst, solltest Du latest beim Image angeben, denn wenn dann die V10 kommt, dann bügelst Du die über Deine V9,Sehr guter Hinweis für Ihn
-
@glasfaser sagte in USB Device für IOBroker in Docker:
So :
- PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk
- PACKAGES=influxdb2-cli
Das muss alles in eine Zeile. Sonst wird nur "influxdb2-cli" installiert.
PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk influxdb2-cli
-
Man sollte nicht mal eben schnell was schreiben und kopieren ... danke für den Hinweis !
-
@chrisham sagte in USB Device für IOBroker in Docker:
2.) 2 Adapter sind nicht mit Host verbunden: influxdb und seltsamerweise auch mein KNX-Adapter
für einmal jedem deiner einzelnen container einen networksabschnitt hinzu
und dann unter allem ebenfalls einen networks abschnitt ohne einrückung.
darunter schreibst du einen netzwerknamenmit doppelpunkt (wie in meinem beispiel mit iobrokerprod4das erzeugt ein neues bridged netzwerk auf welches nur deine container in dieser konfiguration zugriff haben. jeder container ist mit dem servicenamen als hostname (also influxdb und grafana) erreichbar.
daher musst du im imfluxdb adapter an der stelle wo die ip dransteht einfach nur influxdb reinschreiben.zu knx weiß ich nix. schau mal im log ob da drinsteht,warum er nicht startet.
-
@chrisham sagte in USB Device für IOBroker in Docker:
achso: die Lovelace-Visu ist auch nicht erreichbar, obwohl der Adapter grün ist....
alle im container verwendeten ports, müssen auch in der docker-konfiguration mit notiert werden, sonst werden sie nicht bereitgestellt.
evtl ist es bei knx genauso, wenn der adapter einen server bereitstellt, dann muss der port auf dem host gemappt werden.
-
@chrisham sagte in USB Device für IOBroker in Docker:
@chrisham logs im iobroker:
im adapter steht sicherlich localhost drin, da zuvor influxdb direkt mit iobroker zusammen installiert ist.
siehe oben, einfach die netzwerkkonfiguration in der docker konfiguration vornehmen und im adapter dann influxdb anstatt localhost eintragen -
@glasfaser Ok, danke. Also, nach meinem Tagwerk, gehts jetzt wieder hier weiter mit der Nachtschicht...
Also Network für Container: tatsächlich habe ich mich da im bisherigen Setup gar nicht groß drum gekümmert, weder bzgl. spezieller Config, noch in Bezug auf das tiefere inhaltliche Verständnis, von daher habe ich auch hier noch eine Lernkurve vor mir.- hier mal das bisherige Setup unter Netzwerk (DSM-UI):
Es gibt da also sowohl was mit "host" (iobroker), als auch mit "bridge" (portainer) und noch eine spezielle Sache für influx-grafana... (hab ich wohl aus irgendeinem Youtube tutorial so übernommen)
- Das neue Setup (über Portainer docker compose) ergibt an gleicher Stelle nun dieses Config:
Also meine Fragen:
- was bedeutet jeweils bridge oder host?
- wie mache ich es denn im neuen Setup sinnvollerweise?
Schon mal danke.
- hier mal das bisherige Setup unter Netzwerk (DSM-UI):
-
@glasfaser ok, soll ich neuen aufmachen oder umbenennen?
-
@chrisham sagte in USB Device für IOBroker in Docker:
oder umbenennen?
ist ja schon ein Threadtitel :
Rundum Sorglos Paket
-
@dp20eic said in USB Device für IOBroker in Docker:
- nur wenn Du weißt, was Du machst, solltest Du
latest
beim Image angeben, denn wenn dann die V10 kommt, dann bügelst Du die über Deine V9, nur vielleicht hat sich das Env. verändert, dann fängst Du an zu suchen, bleib erst einmal innerhalb eines Releases.
Mein Wissen erweitert sich täglich :), aber ok, werde ich nochmals überlegen...
- ich sehe, gerade nicht, das Du im
ioBroker
Container das nötigeinfluxDB-cli
mit installierst, brauchst Du aber!
InfluxDB The following is valid for all supported cpu architectures. You need to run ioBroker Image Version v8.1.0 or greater. To fulfill the prerequisites for running an InfluxDB backup/ restore with ioBroker.backitup adapter you need to add the following packages to your containers environment variable PACKAGES:
ok, danke.
Ich denke, Du musst die
""
bei- PACKAGES="ffmpeg lame sox libsox-fmt-mp3 asterisk"
wegnehmen.VG
Berndaha.
Vielen Dank.
- nur wenn Du weißt, was Du machst, solltest Du
-
@oliverio vielen Dank, also so korrekt (schon bei allen services den gleichen netzwerknamen (iobroker-4)?
version: '3' services: iobroker: restart: always image: buanet/iobroker:latest container_name: iobroker-4 hostname: iobroker-4 ports: - "8081:8081" volumes: - /volume1/docker/iobroker-Chrisham:/opt/iobroker - /volume1/docker/userscripts:/opt/userscripts - /volume1/docker/Backup:/opt/backup/ environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - DEBIAN_FRONTEND=teletype - LANG=de_DE.UTF-8 - LANGUAGE=de_DE:de - LC_ALL=de_DE.UTF-8 - SETGID=1000 - SETUID=1000 - TZ=Europe/Berlin - USBDEVICES=/dev/ttyUSB0 - PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk influxdb2-cli devices: - /dev/ttyUSB0:/dev/ttyUSB0 networks: iobroker-4: influxdb: restart: always image: influxdb:latest container_name: influxdb-4 ports: - "8086:8086" volumes: - /volume1/docker/influxdb/config:/etc/influxdb2 - /volume1/docker/influxdb/data:/var/lib/influxdb2 environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - GOSU_VER=1.12 - INFLUXDB_VERSION=2.7.1 - INFLUX_CLI_VERSION=2.7.3 - INFLUX_CONFIGS_PATH=/etc/influxdb2/influx-configs - INFLUXD_INIT_PORT=8086 - INFLUXD_INIT_PING_ATTEMPTS=600 - DOCKER_INFLUXDB_INIT_CLI_CONFIG_NAME=default - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_USERNAME=iobroker - DOCKER_INFLUXDB_INIT_PASSWORD=*1Xs(QD5gY0!B&XHe1_x - DOCKER_INFLUXDB_INIT_ORG=smarthome - DOCKER_INFLUXDB_INIT_BUCKET=iobroker networks: iobroker-4: grafana: restart: always image: grafana/grafana:latest container_name: grafana-4 ports: - "3000:3000" volumes: - /volume1/docker/grafana:/var/lib/grafana - /volume1/docker/grafana:/var/lib/grafana/plugins environment: - PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - GF_PATHS_CONFIG=/etc/grafana/grafana.ini - GF_PATHS_DATA=/usr/share/grafana - GF_PATHS_HOME=/usr/share/grafana - GF_PATHS_LOGS=/var/log/grafana - GF_PATHS_PLUGINS=/var/lib/grafana/plugins - GF_PATHS_PROVISIONING=/etc/grafana/provisioning - GF_AUTH_access enabled=true - GF_AUTH_org_name=CH_Smart networks: iobroker-4: networks: dockerMACVLAN: external: true iobroker-4:
bei influxdb hatte ich im compose-file nichts mit IP drin, das war nur im DSM-Config, d.h. dann einfach nur den eintrag mit networks...?
Container laufen schon, baut aber noch im Hintergrund, bin gespannt...
Auf DSM-Ebene habe ich beobachtet, dass sich nun der iobroker-name geändert hat (erklärbar...?):
-
@glasfaser gut so?
-
@chrisham Gibt Probleme, Grafana container will nicht so recht:
2023/10/24 23:27:56,stdout,"You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later " 2023/10/24 23:27:56,stdout,GF_PATHS_DATA='/usr/share/grafana' is not writable.
Das sind exakt die Env-Var/Pfade, die ich bisher beim DSM-Docker-config angegeben habe:
Hat sich doch also nichts geändert und das sind doch Pfade innerhalb des Containers.
In der Ref (https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/#migrate-to-v51-or-later) steht noch was drin, dass der Container mit User gestartet werden soll, der ents. Rechte hat:
Use bind mounts
If you plan to use directories on your host for the database or configuration when running Grafana in Docker, you must start the container with a user that has the permission to access and write to the directory you map.Die werden ja durch Portainer gestartet....
In der o.g. Referenz stehen bei dem docker-compose Bsp. gar keine Env-Variablen/Pfade drin, soll ich die auch mal rausnehmen...?Der Weg ist doch etwas beschwerlicher als gedacht, dabei wollte ich doch nur mein USB-Smart-Meter anschließen...
-
@chrisham Es stimmen andere Dinge noch nicht:
-
der "komische" iobroker-Container (heißt aber nur so in DSM) scheint kaputt zu sein, allerdings in Portainer sieht alles ok aus:
-
Portainer:
-
DSM:
--> Kann da auch kein Terminal öffnen.
Hmm, bin mal gespannt ob dieses Vorhaben irgendwann noch konvergiert....
-
-
@chrisham sagte in USB in Docker via neuer Container über Compose u.a. andere:
diese beiden Zeilen bitte löschen.das hat mit macvlan zu tun. das hast du nicht
dockerMACVLAN: external: true
dann würde ich den bindestrich im netzwerknamen weglassen iobroker-4:
kann funktionieren, weiß ich nicht. bei solchen namen halte ich mich immer an die regel a-z0-9ansonsten passt das.
du kannst es ja dann selber mal probieren, in dem du die console bspw im iobroker container öffnest (nicht die console auf deinem host system) und dannping grafana
machen. da müsste dann eine ip adresse kommen, aber keine aus deinem normalen lan-adressbereich.. das ist dann die ip unter der grafana innerhalb dieser service definition erreichbar ist. aber wie gesagt. normalerweise musst du dich bei docker nicht um konkrete ip adressen kümmern. das macht docker für dich. du sprichst die services nur über den servicenamen=hostname an
-
@oliverio ok, danke. baut gerade neuen stack mit:
version: '3' services: iobroker: restart: always image: buanet/iobroker:latest container_name: iobroker-6 hostname: iobroker-6 ports: - "8081:8081" volumes: - /volume1/docker/iobroker-Chrisham:/opt/iobroker - /volume1/docker/userscripts:/opt/userscripts - /volume1/docker/Backup:/opt/backup/ environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - DEBIAN_FRONTEND=teletype - LANG=de_DE.UTF-8 - LANGUAGE=de_DE:de - LC_ALL=de_DE.UTF-8 - SETGID=1000 - SETUID=1000 - TZ=Europe/Berlin - USBDEVICES=/dev/ttyUSB0 - PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk influxdb2-cli devices: - /dev/ttyUSB0:/dev/ttyUSB0 networks: iobroker6: influxdb: restart: always image: influxdb:latest container_name: influxdb-6 ports: - "8086:8086" volumes: - /volume1/docker/influxdb/config:/etc/influxdb2 - /volume1/docker/influxdb/data:/var/lib/influxdb2 environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - GOSU_VER=1.12 - INFLUXDB_VERSION=2.7.1 - INFLUX_CLI_VERSION=2.7.3 - INFLUX_CONFIGS_PATH=/etc/influxdb2/influx-configs - INFLUXD_INIT_PORT=8086 - INFLUXD_INIT_PING_ATTEMPTS=600 - DOCKER_INFLUXDB_INIT_CLI_CONFIG_NAME=default - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_USERNAME=iobroker - DOCKER_INFLUXDB_INIT_PASSWORD=*1Xs(QD5gY0!B&XHe1_x - DOCKER_INFLUXDB_INIT_ORG=smarthome - DOCKER_INFLUXDB_INIT_BUCKET=iobroker networks: iobroker6: grafana: restart: always image: grafana/grafana:latest container_name: grafana-6 ports: - "3000:3000" volumes: - /volume1/docker/grafana:/var/lib/grafana - /volume1/docker/grafana:/var/lib/grafana/plugins networks: iobroker6: networks: iobroker6:
Für heute noch diesen Versuch, sonst gehts morgen weiter....
-
@chrisham sagte in USB in Docker via neuer Container über Compose u.a. andere:
Gibt Probleme, Grafana container will nicht so recht
das ist der richtige abschnitt
https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/#use-bind-mounts-1das ist eine berechtigungsgeschichte. viele container laufen intern mit root.
das ändert sich aber, so das auch innen, wie es sein sollte mit dedizierten usern gearbeitet wird. diese benötigen allerdings schreibrechte auf dem gastlaufwerk. diese information muss man dem container mitgeben.
füge im grafana abschnitt noch hinzuuser: '0'
und probiere ob es dann geht.
alternativ
das hier, da weiß ich aber nicht ob shell substitution unter portainer funktioniert.user: $(id -u)
-
@oliverio ok, danke. mach ich morgen dann.
Letzter Versuch mit o.g. Änderungen war leider nicht erfolgreich:- influx connected noch nicht
(auch asterisk install scheint noch nicht zu funktionieren, jedenfalls kann adapter nicht verbinden, oder wird der linux-proc nur nicht automatisch gestartet...? wobei ich die pakete über container-terminal an der üblichen stelle (/etc/init.d) auch nicht gefunden habe....
Nunja, war heute halt nicht so erfolgreich, muss noch paar h schlafen, morgen gehts weiter, dennoch vielen dank für den stetigen support!
- influx connected noch nicht