NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@codierknecht Um einen neuen Container zu erzeugen, musste ich einen anderen Namen verwenden. Ich habe jetzt iobroker2 benutzt. Jetzt habe ich auf dem Rechner einmal unter /docker/iobroker die ganzen alten Sachen, und ein neues Verzeichnis /docker/iobroker2, welches aber leer ist.
Wie kann ich das alte Verzeichnis mit der neuen Version verwenden? -
Um einen neuen Container zu erzeugen, musste ich einen anderen Namen verwenden
Stimmt - da ist die Synology etwas zickig. Darum habe ich meinen Container immer gleich gelöscht.
Jetzt habe ich auf dem Rechner einmal unter /docker/iobroker die ganzen alten Sachen, und ein neues Verzeichnis /docker/iobroker2, welches aber leer ist.
Stoppe mal den Container und mounte das "alte" Verzeichnis.
Mein Container läuft zwar nicht mehr, aber vorhanden ist er noch.
Im Host-Mode, damit ich nicht immer wieder Ports nachtragen musste. -
@codierknecht Wie kann ich denn in einem existierenden container ein mount machen? Oder muss ich einen neuen erstellen?
-
Hey,
hier mal der Auszug aus meiner (Update-)Dokumentation:
-
Info: Update wird manuell durchgeführt, weil kein Latest Image verwendet werden soll.
-
Dockerhub auf neue Version prüfen: https://hub.docker.com/r/buanet/iobroker
-
Synology NAS Oberfläche aufrufen
-
Systemsteuerung -> Aufgabenplaner aufrufen
-
ioBroker_Install Script bearbeiten (siehe unten)
-
- Container Name auf zu aktualisierende Versionsnummer updaten
-
- Container Image unten auf zu aktualisierende Versionsnummer anpassen
-
Container stoppen
-
Inhalt von /volume1/docker/iobroker nach /volume1/backup/ioBroker-Backup kopieren
-
Script ausführen
-
Warten bis Container läuft
-
Seite aufrufen: http://nas.fritz.box:8081/
-
Prüfen, ob alle Adapter laufen
-
Wenn alles zuverlässig läuft, dann
-
- Backup löschen (es gibt ja noch das vom Backup NAS)
-
- Altes Image löschen
-
- Alten Container löschen
ioBroker Installscript
docker run -d --name=ioBroker-8.1.0 \ -p 502:502 \ -p 1502:1502 \ -p 1880:1880 \ -p 1883:1883 \ -p 2001:2001 \ -p 8081:8081 \ -p 8082:8082 \ -p 8282:8282 \ -p 8088:8088 \ -p 8284:8284 \ -v /volume1/docker/iobroker:/opt/iobroker \ --restart always \ buanet/iobroker:v8.1.0
-
-
@bambulko
Das geht problemlos
-
@codierknecht seufz
Da das Verzeichnis /docker/iobroker nicht als Volume bei 'docker volume ls' angezeigt wird, habe ich einfach ein volume erzeugt, und dann den ganzen Inhalt von /docker/iobroker auf dieses Volume kopiert.
Dann habe ich ein neues Image von Iobroker installiert, welches dieses Volume verwendet. Das ist dann sogar gestartet. Mein ganzer Kram war auch darin. So weit so gut. ABER: das Javascript-adapter läuft immer noch nicht. Aber wenigstens scheint der Rest zu funktionieren.
-
dann zeig nochmal die Fehlermeldungen aus dem neuen container
-
hier standen falsche Informationen
-
@oliverio So, jetzt hatte ich natürlich auch noch eine Panne mit dem Auto......
Wenn ich jetzt ein neues Image erzeuge, kann ich dann im nachhinein noch neue Ports zufügen? Aktuell habe ich folgende:
sudo docker port iobroker3 1882/tcp -> 0.0.0.0:1882 1882/tcp -> [::]:1882 8081/tcp -> 0.0.0.0:8081 8081/tcp -> [::]:8081 8081/udp -> 0.0.0.0:8081 8081/udp -> [::]:8081 8082/tcp -> 0.0.0.0:8082 8082/tcp -> [::]:8082 8083/tcp -> 0.0.0.0:8083 8083/tcp -> [::]:8083 8091/tcp -> 0.0.0.0:8091 8091/tcp -> [::]:8091
Ich weiss aber ehrlichgesagt nicht mehr genau wofür die alle waren.
-
@knallochse Stand da nicht was vom SQL Adapter? Ich habe den mal ausgestellt, und schwupps, liefe das Javascript wieder. Ich weiss nicht ob das der Grund war, aber jetzt klapt es anscheinend
-
@bambulko
Du kannst jederzeit neue Ports hinzufügen
Der Container wird dann halt neu generiert.
Alles was nicht stimmt n volumes liegt ist dann halt verloren -
Mein iobroker läuft im docker als macvlan. Leider scheint er auf broadcasts von ausserhalb des containers nicht zu reagieren. Hat das jemand gelöst?
-
was meinst du denn genau?
Wenn das MacVlan richtig konfiguriert ist und alles andere auch, dann werden doch die auch weiterleitet.
Es sei denn, du hast in deiner Netzwerkinfrastruktur etwas an den Switchen (ob Hard oder Software), das die Broadcasts nur in die eigenen Subnets routet.. ??Zeig mal deine Infrastruktur und deine Settings, sonst bleibt auch die Glaskugel hilflos..
-
@drapo
Warum Multi-Posting?
Reicht es nicht das an einer Stelle zu platzieren und da erstmal eine mögliche Klärung abzuwarten?
https://forum.iobroker.net/topic/69148/iobroker-docker-image-mit-macvlan-möglich/43 -
@samson71 stimmt kann man besser machen. Ich gelobe Besserung
-
@ilovegym Wenn ich diesen Befehl ausführe steht dass Broadcasts durch den Linux Kernel deaktiviert ist:
sysctl net.ipv4.icmp_echo_ignore_broadcasts
würde mich mal interessieren was andere User welche ebenfalls ein macvlan am laufen haben hier für eine ausgabe erhalten.
Bei mir ist das Resultat:
net.ipv4.icmp_echo_ignore_broadcasts = 1
was eben bedeutet broadcasts werden nicht zugelassen.
Nun müsste ich dieses Einstellung ändern.
Ein sysctl net.ipv4.icmp_echo_ignore_broadcasts=0 gibt mir ein Permission denied zurück das sowohl als root wie auch mittels sudo.
Hat das jemand gelöst?
-
@drapo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
sysctl net.ipv4.icmp_echo_ignore_broadcasts
Du wirfst da etwas durcheinander.
net.ipv4.icmp_echo_ignore_broadcasts
bedeutet lediglich, dass ICMP-Echo-Anfragen an Broadcast-Adressen ignoriert werden.Ob das BS grundsätzlich Broadcasts senden/empfangen kann, gibt dir
ip a
aus.
Hinter der Schnittstelle stehen die Flags, und ich gehe davon aus dass da auch "BROADCAST" mit dabei ist.
-
@marc-berg wenn ich "ip a" eingebe steht command not found
-
@drapo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@marc-berg wenn ich "ip a" eingebe steht command not found
und
ifconfig
?
-
alternativ, je nach Image und installed packages, geht auch ifconfig, hier aus meinem iobroker-buanet-docker auf der Synology mit Macvlan
root@iobroker:/opt/iobroker# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.1.2 netmask 255.255.0.0 broadcast 10.1.255.255 ether 02:42:0a:01:01:02 txqueuelen 0 (Ethernet) RX packets 407228172 bytes 448604921189 (417.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 418855706 bytes 98027655080 (91.2 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1 (Local Loopback) RX packets 235876 bytes 28289967 (26.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 235876 bytes 28289967 (26.9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@iobroker:/opt/iobroker#