NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@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.
-
Zu spät.
Ich habe jetzt den kompletten Docker deinstalliert und wieder neu installiert. Natürlich habe ich vorher eine Sicherung meines iobroker-Verzeichnisses gemacht. Danach habe ich jetzt den Docker und den Portainer wieder neu installiert und nun sind die beiden Netzwerke verschwunden. Mach mich jetzt mal an den Rest der Installation.
Trotzdem danke für deine Hilfe.
-
@dtp Die beiden haben sich nicht löschen lassen, da es sehr wahrscheinlich noch Container-Leichen mit Verweis auf die Netzwerke gab
-
Jetzt habe ich noch mal eine weitere Frage. Meine DS läuft auf den beiden IP-Adressen 192.168.0.10 und 11. Die FRITZ!Box hat die 192.168.0.1.
Frei sind in meinem Netzwerk noch die Adressen 12 bis 19. Ist jetzt die folgende Konfiguration für MACVLAN korrekt?
Und kann ich dann nach deiner obigen Anleitung die 13 für den MariaDB-Container vergeben?
Ich bin da ein wenig irritiert, weil André in seinem Manual von virtuellen IP-Adressen gesprochen hat.
-
Also die Version 1.23.0 des Portainers ist irgendwie nicht so ganz produktiv..
Jetzt habe ich mich dummerweise verschrieben ("oth0" statt "eth0"). Wo bzw. wie kann man das umeditieren?
Kann doch nicht sein, dass man da nichts mehr an fehlerhaft vorgenommenen Netzwerkeinstellungen ändern kann. Und löschen geht natürlich auch wieder nicht, da angeblich "in use". Muss ich wohl wieder von vorne beginnen.
Oder gibt es da Editiermöglichkeiten in der docker.sock? Wenn ich diese lösche, dann hat das auch negativen Einfluss auf den gesamten Docker.