NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@andre Habe gestern die ENV Variablen für den USB Port angelegt und das hat auch gut funktioniert.
Leider hat dann nach 3Std. der Container gestoppt und nach einem neustart ist jetzt die ganze Diskstaion abgestürtz.
Jetzt bin ich gerade am suchen wo der Fehler liegt. -
Sooo….
da diese Installation beim besten Willen nicht mehr vernünftig zum Laufen zu bekommen ist hatte ich gedacht ich bastel mir nen zweiten Container mit einer anderen IP-Adresse und installiere den iob neu.
So hätte ich die Möglichkeit gehabt die doch recht hohe Anzahl an Script und manuell angelegten Objekten von einer zur zweiten Installation zu übertragen.Schlau wie ich nunmal bin habe ich eine neue MacVlan Conf angelegt und wollte danach ein neues Netzwerk anlegen.
Bummms die Gatewayadresse existiert bereits.
Nagut dachte ich, Gateway ist zum reinen Anlegen nicht nötig also conf löschen und neue conf mit irgend einer Gateway-Adresse angelegt.
Jetzt bekomme ich die Meldung, dass die (falsche) conf in use ist und ich sie deswegen nicht löschen kann.
Echt jetzt?Generell erstmal eine Verständnisfrage.
WARUM hat dieser portainer überhaupt ein Problem damit, wenn ich die gleiche Gateway-Adresse verwende?
Ich meine, alle anderen LAN Teilnehmer verwenden die ja logischerweise auch und das MACVLAN war nach meinem Verständnis nichts anderes als eine simulierte Netzwerkkarte. Da sollte es doch möglich sein eine Zweite mit gleichem Gateway anzulegen.
Wie auch immer, bekomme ich diese conf irgendwie gelöscht? (die originale Netzwerkverbindung und die zugehörige conf habe ich bereits gelöscht)
Und wie installiere ich zwei iob parallel?
Ich denke ich gebe dann als IP Adresse in der Config einen Bereich an aber wie definiere ich beispielsweise 192.168.178.4 bis 192.168.178.6?Ich möchte halt nicht immer den alten iob ausschalten, neuen einschalten, feststellen dass ich was vergessen hab, neuen ausschalten, alten einschalten, nachsehen, alten ausschalten, neuen einschalten und anpassen.
Dafür bootet der echt zu langsam -
@Telefisch
DOS hatte auch mal das Problem. So haben wir es gelöst nachdem wir keine andere Möglichkeit gefunden haben:
https://forum.iobroker.net/post/332201Danach sind alle Einstellungen weg, auch die Container. Vielleicht weiß aber jemand anderes ne bessere Lösung.
-
@duffbeer2000 Danke für den Hinweis.
Portainer hatte ich bereits vergeblich gelöscht (incl. Daten-Verzeichnis). Aber wenn es so geht, ist's ja ok.
Die Container sind ja schnell neu angelegt.
Bleibt die Frage, wie man die MACVLAN-Netzwerke für zwei oder drei Netzwerkadressen anlegen muss...
Mit diesem IP-Suffix stehe ich verständnismäßig etwas auf Kriegsfuß. -
@Telefisch
Es kommt darauf an wieviele Container du per MACVLAN anbinden willst.Ich mach jetzt mal ein Beispiel:
-
Dein Netz der FritzBox ist: 192.168.0.0/24
-
Deine FritzBox hat die IP 192.168.0.1
-
Du willst bis zu 6 Container dem MACVLAN zuordnen
-
Der IP-Bereich für die Container in deinem Netz sollen Adressen irgendwas um 192.168.0.100 sein (nur als Beispiel).
Gutes einfaches Hilfsmittel wäre hier z.B. Netwerk-Rechner
Dann gehst du auf den Netwerk-Rechner und gibst bei "IP-Adresse" die "192.168.0.100" ein und bei CIDR-Suffix "29" (Je höher desto weniger Adressen um umgedreht, Maximalwert ist 32 für genau eine Adresse) und klickst auf Calculate.
Dann sind beim Ergebnis folgende Werte interessant:
Anzahl Hosts: Hier steht wieviel Clients/Container maximal möglich sind, im Beispiel 6
Netzadresse: 192.168.0.96/29 (das ist die IP-Range fürs MACVLAN)
Host-IPs von: Hier steht die kleinste IP-Adresse, im Beispiel 192.168.0.97
bis: Hier steht die größte IP-Adresse, im Beispiel 192.168.0.103 -
Und damit können wir dann das MACVLAN Konfigurieren:
Subnet: Ist hier 192.168.0.0/24 (Das deiner FritzBox)
Gateway: 192.168.0.1 (deine Fritzbox)
IP-Range: 192.168.0.96/29 (die Netzadresse aus dem Rechner)
Hiermit hast du dann für Container die IP-Adressen 192.168.0.97-103
-
-
@duffbeer2000 Danke für Deine Ausführungen...
Ich hatte das schon so ähnlich gedacht, hatte mich nur verwirren lassen, weil ich 192.168.178.4/30 versucht hatte aber da die Adressen 5+6 angezeigt bekommen hab.
Ich probiere mal etwas rum.
Danke erstmal -
@duffbeer2000 ich kapiere es immer noch nicht.
Rechne ich 192.168.178.4/29 kann ich von 1-6 verwenden. Rechne ich /30 kann ich 5+6 verwenden.
Wie sage ich dem Portainer denn, dass ich 4-6 verwenden möchte?Bzw. wie bekomme ich es hin, dass ein Container auf die 4 und einer auf die 5 reagiert? (6 sollte nur Reserve sein)
-
@Telefisch
Ich steh gerade etwas auf dem Schlauch aber normalerweise ist es so: die erste und letzte IP-Adresse eines IP-Adressbereichs (z. B. 192.168.178.0 bis 192.168.178.255) kennzeichnen die Netzwerk-Adresse (192.168.178.0) und Broadcast-Adresse (192.168.178.255). Diese Adressen können an keinen Host vergeben werden. Deshalb muss die Anzahl der IP-Adressen um zwei reduziert werden, damit man auf die richtige Anzahl nutzbarer IP-Adressen kommt.
/30 sind 4 - 2 = 2
/29 sind 8 - 2 = 6
/28 sind 16 - 2 = 14....
Somit kannst nie ungerade zahlen haben.
192.168.178.0/29 hätte 1-6 da müsstest dann halt die .1 ausnehmen sonst kollidiert es mit der FritzBox
Zurodnen tust eine IP dann direkt beim Container erstellen oder editieren.@andre kann man beim unterteilen auch die Broadcast und Netzadresse verwenden? Nicht das ich hier Blödsinn erzähle. Der Tag war einfach schon zu lange.
-
@duffbeer2000 @Telefisch
Das Netze Thema in Bezug auf MACVLAN ist ein bisschen tricky... und so ganz verstanden haben ich es ehrlich gesagt auch noch nicht...Korrekt ist, dass normalerweise die erste und die letzte Adresse des Netzes nicht verwendet werden (dürfen). Die erste Adresse bezeichnet das Netz selbst, die letzte ist die Broadcast-Adresse.
Beispiel: 192.168.178.4/30
Netzadresse: 192.168.178.4
Hosts: .5; .6
Broadcast: 192.168.178.7Jetzt ist es aber so, dass wenn ich das so in Docker konfiguriere und dann einen Container ohne Angabe der IP-Adresse in das MACVLAN Netz hänge, Docker (zumindest bei mir) als erste Adresse die Netzadresse (192.168.178.4) vergibt...
Und soweit ich das beurteilen kann läuft das sogar problemlos. Hatte das in meiner Testumgebung so laufen....Trotzdem habe ich in meiner Liveumgebung die erste Adresse nicht vergeben. Eben weil es eigentlich eine reservierte Adresse im Netz ist und ich mir nicht sicher bin, ob es damit vielleicht doch irgendwann Probleme im Routing geben könnte...
Wie @duffbeer2000 schon geschrieben hat, könntest du auch ein größeres Netz Nehmen und bereits vergebene IP-Adressen ausschließen damit Docker diese nicht vergibt...
Und zuletzt bitte auch auf deinen lokalen DHCP achten. Der sollte in dem Bereich natürlich auch nicht rumfuhrwerken...
MfG,
André -
Hallo Zusammen,
es gibt Neuigkeiten.
Habe heute die letzte beta zum neuen latest gemacht. Das Docker Image gibt es damit ab sofort über den Tag "latest" in der Version 4.1.0. Die Neuerungen könnt ihr wie immer hier nachlesen.MfG,
AndréPS: Wer Telegram benutzt und in Sachen Tutorials und Image Updates auf dem Laufenden bleiben möchte, der kann meinen neuen "News und Updates"-Kanal abonnieren. Der folgende Link führt euch dorthin: https://t.me/buanet_tutorials
-
@andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Das Docker Image gibt es damit ab sofort über den Tag "latest" in der Version 4.1.0.
Portainer---Recreate --- Pull latest image
läuft, bisher alles ohne Fehler.
Danke -
Die 4.1.0 läuft soweit. Allerdings - wie gesagt - bei mir nun als Bridge, weil über MACVLAN einfach keine Verbindung mehr zu meiner MariaDB-10-Datenbank auf der Synology mit dem SQL-Adapter herzustellen war.
-
ich verzweifle so langsam am radar2 adapter bzw der bluetooth geschichte.
ich habe den beta container am laufen.
ausgabe von lusb auf der DS:
lsusb |__usb1 1d6b:0002:0310 09 2.00 480MBit/s 0mA 1IF (xhci_hcd 0000:00:14.0) hub |__1-2 1a40:0101:0111 09 2.00 480MBit/s 100mA 1IF ( ffffffd6ffffffa3ffffffebffffffcb) hub |__1-2.1 0a12:0001:8891 e0 2.00 12MBit/s 100mA 2IFs ( ffffff84ffffffb5fffffff4ffffffd4) |__1-5 f400:f400:0100 00 2.00 480MBit/s 200mA 1IF (Synology DiskStation 6500647A17A34F47) |__usb2 1d6b:0003:0310 09 3.00 5000MBit/s 0mA 1IF (xhci_hcd 0000:00:14.0) hub |__usb3 1d6b:0002:0310 09 2.00 480MBit/s 0mA 1IF (Linux 3.10.105 etxhci_hcd-170202 Etron xHCI Host Controller 0000:04:00.0) hub |__3-2 1d19:0100:0100 00 2.00 480MBit/s 500mA 1IF (ITE Tech., Inc.TS Aggregator AF0102020700001) |__usb4 1d6b:0003:0310 09 3.00 5000MBit/s 0mA 1IF (Linux 3.10.105 etxhci_hcd-170202 Etron xHCI Host Controller 0000:04:00.0) hub |__4-1 1058:10b8:1012 00 3.00 5000MBit/s 896mA 1IF (Western DigitalElements 10B8 575846314541343239554B45)
im container:
root@Iobroker:/opt/iobroker# lsusb Bus 004 Device 002: ID 1058:10b8 Western Digital Technologies, Inc. Elements Portable (WDBU6Y, WDBUZG) Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 1d19:0100 Dexatek Technology Ltd. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID f400:f400 Bus 001 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
wird also erkannt.
hciconfig Can't open HCI socket.: Address family not supported by protocol
keine ahnung... wird bluetooth vom kernel nicht unterstützt?
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@dtp sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
Die 4.1.0 läuft soweit. Allerdings - wie gesagt - bei mir nun als Bridge, weil über MACVLAN einfach keine Verbindung mehr zu meiner MariaDB-10-Datenbank auf der Synology mit dem SQL-Adapter herzustellen war.
Lass doch für die Maria DB ebenfalls einen Container laufen:
docker run -d \ --name=iobroker-mariadb \ --hostname=iobroker-mariadb \ --env="MYSQL_ROOT_PASSWORD=PASSWORD" \ --env="MYSQL_DATABASE=iobroker" \ --volume="/volume2/docker-ssd/iobroker-mariadb:/var/lib/mysql:rw" \ --network=mac0 \ --ip=192.168.1.84 \ --dns=192.168.1.43 \ --restart=always \ mariadb:latest
-
Tja, nun habe ich das Problem, dass ich im bridged mode meines ioBrokers nicht mehr per Home App auf den yahka zugreifen kann. Die erstellten Bridges werden einfach nicht gefunden.
Also wohl doch wieder MACVLAN.
Kann mir jemand sagen, wie man da nun mit dem Portainer die MariaDB-10-Datenbank einrichtet? Wird der so erstellte Container dann auch über MACVLAN betrieben, oder besser im bridged mode? Und wie bekomme ich da die eigentliche Datenbank für den ioBroker konfiguriert?
Wäre für Hilfe echt dankbar, da ich den ioBroker mit dem sql- und dem yahka-Adapter im Moment irgendwie nicht sauber zum Laufen bekomme. Und das nervt.
-
@dtp Mein Beispiel oben läuft mit einer eigenen IP.
Die Parameter kannst du 1:1 übernehmen für den Start über Portainer. Ich mache das immer über die shell, geht schneller.
Für den Start des MariaDB Containers kannst du auch noch weitere ENV mitgeben, z.B. um direkt einen User + Password zu vergeben.
Siehe hier: https://hub.docker.com/_/mariadb --> MYSQL_USER, MYSQL_PASSWORD
Wenn beide Container dann eine fixe IP haben kannst du in den Containern selbst mal einen Ping auf den anderen absetzen, somit siehst du ob die beiden kommunizieren können.
-
Geht leider nicht so einfach. Dachte, ich müsste jetzt für MariaDB auch eine MACVLAN-Konfiguration erstellen, weil über eine Bridge wieder mal kein Zugriff auf die Datenbank möglich war.
Nun sagt er mir aber bei der Creation, dass es das Gateway schon gebe. Und wenn ich das Ding wieder löschen will, sagt er dass das nicht möglich ist, weil es in Benuztung ist.
Dieser "dämliche" Portainer beginnt mich mehr und mehr zu nerven. Das war alles mit der Version 2 so viel einfacher. Vermutlich bin ich einfach zu doof dafür.
-
@dtp Es ist völlig egal ob du die Container mit 'docker run', 'docker-compose', Portainer oder auch dem Synology Docker Frontend erstellst - im Ergebnis hast du einen laufenden Docker-Container. Portainer stellt das ganze nur am umfangreichsten grafisch dar.
Wieso möchtest du ein eigenes Netz für den Maria DB Container erstellen? Dein bereits erstelltes Netzwerk unter macvlan hat doch bereits ein Netz in dem noch ausreichend Platz ist und vor allem auch in dem sich Container befinden sollen die miteinander kommunizieren dürfen: 192.168.0.0/24 (wenn du dich an die Anleitung von andre gehalten hast).
Jetzt musst du dem Container nur noch eine IP aus diesem Bereich verpassen - natürlich darauf achten das die IP nicht bereits vergeben ist - denn durch das /24 ist theoretisch komplette Bereich von .0.1 bis 0.255 verwendbar.
Alternativ kannst du das Docker-Netzwerk auch schmäler definieren, z.B.
Du musst halt sicherstellen, das in diesem Bereich keine fixe IPs irgendwo anders vergeben sind, bzw. das auchkein DHCP-Server diesen Bereich verwendet. Deshalb schreib Andre auch mal solle sein Netzwerk kennen.
-
Danke für die Hilfe, aber auch damit habe ich keinen Zugriff bekommen. Es geht einfach nicht.
Ich habe jetzt alles gelöscht, aber selbst nach einer kompletten Neuinstallation fangen die Probleme direkt wieder an. Zunächst mal sieht alles gut aus.
Klicke ich aber ins Dashboard, werden mir ein Container, ein Image, zwei Volumes und fünf Netzwerke angezeigt, obwohl unter Home noch alles auf null stand.
Noch schlimmer, ich bekomme die beiden von mir angelegten Netzwerke "MariaDB_conf" und "MariaDB_conf2" nicht mehr gelöscht, weil sie angeblich in Benutzung sind. Ich habe nur keine Ahnung, wo.
Wie bekomme ich die wieder gelöscht? Ich hatte sie analog der Anleitung von André für den ioBroker mit MACVLAN angelegt. Aber das war ja ein Fehler.
Wie bekomme ich den Portainer wieder sauber?
-
@dtp Mach mal ein Screenshot vom Reiter 'Containers'
Das Dashboard sieht bei mir übrigens genau so aus, einfach ignorieren.