NEWS
IoBroker im Docker - USV durchreichen
-
@frana120500 sagte in IoBroker im Docker - USV durchreichen:
Das mit dem Einbau des internen Netzwerks in den IoBroker Stack musst du mir aber trotzdem nochmal näher erklären. Da kann ich nicht ganz folgen.
Du referenzierst im Stack (Abschnitt "networks") beide Netzwerke und kannst beim Service "iobroker" dann auch beide inkl. der festen IP angeben:
version: "2" services: iobroker: container_name: iobroker image: buanet/iobroker:latest-v9 hostname: iobroker restart: unless-stopped networks: default: ipv4_address: 10.10.8.222 bridge: ipv4_address: 172.20.0.2 ports: - "3493:3493" #NUT - "1010:1010" #PIHOLE - "8091:8091" #Backitup - "9081:9081" #Backitup - "9082:9082" #Backitup #- "1880:1880" #node-red - "1882:1882" #mqtt - "1883:1883" #mqtt - "1884:1884" #mqtt - "2001:2001" #homematic - "2010:2010" #homematic - "8081:8081" #iobroker admin - "8082:8082" #vis - "8087:8087" #Simple API - "7070:7070" #EVCC - "53:53" # Pihole environment: - IOB_STATESDB_HOST=redis - IOB_STATESDB_PORT=6379 - IOB_STATESDB_TYPE=redis - IOB_OBJECTSDB_HOST=redis - IOB_OBJECTSDB_PORT=6379 - IOB_OBJECTSDB_TYPE=redis - IOB_BACKITUP_EXTDB=true - PACKAGES=redis-tools #- SETGID=1200 #- SETUID=1200 volumes: - /volume1/docker/iobroker/iob-data:/opt/iobroker depends_on: - redis networks: default: name: mvl external: true bridge: name: nas_iobroker_bridge external: true
Hast du PiHole mit in den iobroker Container installiert oder warum gibt es dafür Portmappings? Den Port 3493 für NUT musst du auch nicht mappen.
-
@marc-berg MOin, danke dir, dass probiere ich aus.
Nee die Ports hatte ich nur gemappt weil ich ausschließen wollte, dass der NUT und der PiHole Adapter deswegen nicht grün werden. Sind noch Altlasten die ich rauswerfen muss
-
@marc-berg Vielen Dank Marc... das funzt einwandfrei. Habe ich wieder was gelernt.
-
Ich muss jetzt aber nochmal was fragen. Wir haben ja vorher gesagt, das es externe und interne Netze gibt und das Container nicht untereinander kommunizieren können, außer ich baue eine Brücke in Form eines neuen Netzwerkes.
Jetzt möchte ich in Container A (EVCC) eine GET Abfrage aus Container B (Iobroker) machen.
Das ist der Befehl: http://10.10.8.222:8082/getPlainValue/volvo.0.vid.status.batteryChargeLevel.value?json
Die 10.10.8.222 ist ja die externe macvlan IP von meinem Iobroker
Wenn ich den o. g. Befehl an meinem Rechner absetze, erhalte ich den korrekten Wert zurück. Wenn ich den vom EVCC Container abrufe, erhalte ich als Fehlermeldung dial tcp 10.10.8.222:8082: connect: no route to host
Hat jetzt mit der Eingangsfrage nix zu tun, aber da habe ich gerade ein Verständnisproblem.
-
@frana120500 sagte in IoBroker im Docker - USV durchreichen:
EVCC
Du fügst dem Container A das Netzwerk nas_iobroker_bridge zu.
Die interne IP vom ioBroker ist 172.20.0.2
Der Befehl heißt:
http://172.20.0.2:8082/getPlainValue/volvo.0.vid.status.batteryChargeLevel.value?json -
@marc-berg
Du kennst dich mit Stacks aus!
Ich habe vor ein paar Jahren versäumt den ioBroker Container mit einem Stack zu erzeugen und starten.
Kann ich nachträglich einen Stack machen ohne dass ich mir den ioBroker zerschieße? -
Das dachte ich mir auch, aber da bekomme ich diese Fehlermeldung
Der Container A läuft im Host Netzwerk
-
Eigentlich ja, aber nicht so wie du denkst.
Container werden ja so definiert, das alles weggeworfen werden kann und die dauerhaften Anteile in einem oder mehreren volumes sich befinden.
Da sich die gesamte iobroker Installation ( /opt/iobroker) in einem
Eigenen volume definiert ist, kannst du einen neuen Container erzeugen in dem das vorhandene volume von Iobroker verwendet wird.
Wenn du in deinem Container nie andere Software installiert hast oder sonstige Änderungen vorgenommen hast die sich nicht in einem volume befinden, dann hast du keine Probleme
Falls ja, sind diese nach der neugenerierung des Containers weg. -
@frana120500
Da bin ich jetzt auch überfragt. -
@frana120500 sagte in IoBroker im Docker - USV durchreichen:
Das dachte ich mir auch, aber da bekomme ich diese Fehlermeldung
Der Container A läuft im Host NetzwerkEs gibt ein paar Regeln, wann eine Kommunikation (ohne weitere Routingregeln) möglich ist oder nicht:
Container1 in ... Container2 in ... Kommunikation möglich? Bridge A Bridge A ja MACVLAN MACVLAN ja Hostnetzwerk / Host Bridge ja Hostnetzwerk / Host MACVLAN nein Bridge A Bridge B nein Bridge MACVLAN nein Ein Sonderfall, den du ja auch umgesetzt hast: wenn ein Container in Bridge- UND MACVLAN steckt. Dann ist der Host nur über das Bridge-Gateway zu erreichen.
-
@bongo sagte in IoBroker im Docker - USV durchreichen:
Kann ich nachträglich einen Stack machen ohne dass ich mir den ioBroker zerschieße?
Wie @OliverIO schon geschrieben hat, wenn du das selbe Volume beibehältst, sind keine Probleme zu erwarten. Einen Punkt würde ich noch hinzufügen: Auch der Hostname sollte beibehalten werden, sonst kann es zu unerwünschten Effekten kommen. Dies ist im Stack aber ohne weiteres möglich. Wenn du einen vom Containernamen abweichenden Hostname haben möchtest, dann einfach per:
hostname: xyz
im Stack ergänzen.
-
@marc-berg perfekt. Vielen vielen Dank für die Hilfe.