NEWS
Installation unter Docker und Ports
-
Hallo,
mir ist letzt meine Festplatte in meinem Intel Nuc abgeraucht. Es liefen über Proxmox u.a. jeweils Container für iobroker, grafana, influxdb, pihole und shinobi (Kameras).
Wollte nun auch mal Docker testen, bin aber absoluter Docker Neuling.
Zudem wollte ich an Proxmox als Grundsystem festhalten.Also proxmox image drauf, ubuntu 22 container erstellt, Docker installiert. Iobroker installiert mit:
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
und Portainer als Gui habe ich prinzipiell zum laufen bekommen. Doch die Adapter knx und doorbird wollten nicht starten.
Muss ich deren Ports zusätzlich freigeben, oder in den Netzwerkeinstellungen von Docker rumspielen, wie hier beschrieben https://docs.buanet.de/iobroker-docker-image/docs/#networks? War für mich leider nicht sehr verständlich.
Am plausibelsten wäre für mich noch die Variante iobroker mit--network host
zu startenEvtl. kann mir jemand ein Tutorial verlinken, wo das erklärt wird, damit ich dem nochmal eine Chance geben kann, ansonsten bleibe ich doch lieber auf Proxmox.
Lg, Albert
-
@sahnalbert sagte in Installation unter Docker und Ports:
Muss ich deren Ports zusätzlich freigeben, oder in den Netzwerkeinstellungen von Docker rumspielen
Das heißt ja in dem Fall, dass der Port 8081 des Hosts in dem Container landen soll. Soll nun z.B. jemand auf den MQTT-Adapter zugreifen können, dann muss der Port 1882 ebenfalls in den Container weitergeleitet werden.
Welche Ports für welche Adapter benötigt werden, hängt vom einzelnen Adapter ab. Und ob diese Adapter eine Verbindung von außen annehmen oder selbst nach außen aufbauen.
Es geht natürlich nur um eingehende Verbindungen!
-
@haus-automatisierung also
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
einfach um die anderen Ports erweitern? -
@sahnalbert Genau, Du kannst mehrere Ports angeben. Beispiele gibts ausreichen in der Docker Dokumentation
-
@sahnalbert
als tutorial kannst du diese nehmen
https://smarthome.buanet.de/
da steht zwar gelegentlich synology, aber docker ist ja das selbe system.
wenn du portainer verwendest, dann empfehle ich dir gleich die stacks von portainer zu verwenden. das ist das selbe wie docker-compose.
vorteil, man hat alle container configuration auf einem fleck und kann jederzeit Änderungen vornehmen und die images neu generieren lassen.darüber hinaus empfehle ich dir für iobroker macvlan. da kannst du jedem container noch eine eigene IP-adresse geben (wobei nicht jeder container auch wirklich eine eigene ip brauch.
bei iobroker lohnt sich das ebenfalls, da das mit dem portpappen kompliziert wird, wenn man auf dem gleichen docker-host mehrere container laufen lässt. 8080/8081ff ist halt bei den Anwendungen sehr beliebt.die iobroker/stacks definition sieht bei mir so aus
version: '3' services: iobrokerprod4: restart: always image: buanet/iobroker:latest container_name: iobrokerprod4 hostname: iobrokerprod4 ports: - "8081:8081" environment: SETGID: 1001 SETUID: 1001 volumes: - /home/iobroker/docker/volume/iobroker_prod4:/opt/iobroker - /home/iobroker/docker/volume/iobroker_prod4_nodemodules:/usr/lib/node_modules - /media/iobroker_backup/:/opt/iobroker/backup networks: dockerMACVLAN: ipv4_address: 192.168.1.85 iobrokerprod4: redis4: image: "redis:alpine" volumes: - /home/iobroker/docker/volume/redis_prod4:/data networks: iobrokerprod4: networks: dockerMACVLAN: external: true iobrokerprod4:
hier werden 2 container konfiguriert (einmal ioborker, einmal redis)
da sieht man bspw. iobroker hat eine eigene ip, der redis server nicht, ist aber netzwerktechnisch mit iobroker zusammengeschaltet. das kann man sich vorstellen wie 2 netzwerkkarten im rechner. das ist mit docker wirklich sehr einfach zu konfigurieren.
der servicename dient dann in den netzwerken dann als hostname. in iobroker sag ich dann anstatt ip adresse dann einfach nur für redis "redis4"die einrichtung von macvlan findest du auf der seite von buanet als tutorial
und das allerbeste, mit docker kann man schnell auch mal eine testinstanz aufbauen, so das man die ganzen beta js-controller und beta-vis ausprobieren kann, bevor einem die Hauptinstallation um die Ohren fliegt
-
@sahnalbert sagte in Installation unter Docker und Ports:
Docker installiert.
Doch die Adapter knx und doorbird wollten nicht starten.KNX Ports :
https://forum.iobroker.net/post/672003Doorbird Port :
https://github.com/iobroker-community-adapters/ioBroker.doorbird/issues/19
-
@sahnalbert Mal ne ganz dumme Frage: Warum willst du denn eine doppelte Virtualisierung für iob. Wäre es nicht einfacher das direkt im proxmox container zu installieren und docker wegzulassen.
-
@tobrog sagte in Installation unter Docker und Ports:
Wäre es nicht einfacher das direkt im proxmox container zu installieren und docker wegzulassen.
Hatte er ja scheinbar vorher so.
@sahnalbert sagte in Installation unter Docker und Ports:
Zudem wollte ich an Proxmox als Grundsystem festhalten.
Das Problem ist ja auch der fehlende Docker-Support von Proxmox. Klar könnte man jetzt Docker auf dem Host installieren (ist ja Debian), aber das ist Seitens Proxmox (siehe Wiki) nicht empfohlen. Daher eine neue VM für Docker anlegen.
If you want to run application containers, for example, Docker images, it is recommended that you run them inside a Proxmox QEMU VM. This will give you all the advantages of application containerization, while also providing the benefits that VMs offer, such as strong isolation from the host and the ability to live-migrate, which otherwise isn’t possible with containers.
Wenn man die Proxmox-Features aber eh nicht braucht, könnte man auch einfach ein Standard Debian nehmen und dann Docker installieren und mit Portainer und co arbeiten.
-
@tobrog said in Installation unter Docker und Ports:
doppelte Virtualisierung
Ich dachte auch mal das das nicht gut ist, aber es scheint zu gehen.
auch wird nicht virtualisiert in virtualisierung, sondern jeder Prozess läuft gekapselt nativ auf dem Prozessor. Etwas Performance für die doppelte Verwaltung wird zwar weggehen, scheint sich aber in Grenzen zu halten.
Der große Vorteil von docker ist der docker hub, also vordefinierte Images für jeden erdenklichen Zweck.
Bei proxmox hast du das nur für Basissysteme. Danach musst du darin alles installieren, wie wenn du in einer vm bist. Vorteil von docker ist, das updates von betriebssystem (also das im container) + im image definierten software blitzeschnelle geht und du dir nicht noch gedanken machen musst, welche schritte du alles untrnommen hast um es zum laufen zu bekommen -
@oliverio Ich habe auch einen Proxmox Container mit docker laufen: zb laufen da Sachen wie UptimeKuma oder Tautulli.
Aber für ioroker wäre mir das zu kompliziert, da ich ja jeden port erst durchreichen muss. Jeder neue Adapter mit Port würde also wieder eine Anpassung des docker containers bedeuten. Und ein vordefiniertes images braucht man für iobroker ja eigentlich nicht wirlich
Just my 2cts.