NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@bambulko
na das backup von gestern reicht ja. also ein backup mit dem backitup adapter?dann kannst du ja direkt den container aktualisieren.
da latest nicht empfohlen wird erzeugst du am besten einen neuen container, wie wenn du frisch anfangen würdest.
wenn der dann läuft, dann kannst du dein backup mit dem backitup-adapter wieder einspielen. dann bist auch schon fertig wenn es keine weiteren probleme gibt -
@oliverio Das backup habe ich mit iobroker backup gemacht.
Muss ich den alten Container dafür erst löschen? -
nein, erst mal behalten. aber ausschalten oder stoppen.
habe keine syno, deswegen weiß ich nicht genau wie die funktionen sich nennen.
du kannst auch immer nur einen den beiden containern dann laufen lassen, da sich ansonsten die ports gegenseitig sperren.
wenn der neue container dann mit eingespieltem backup läuft dann kannst den alten löschen. -
-
@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?