NEWS
Iobroker in Docker auf Intel NUC
-
Hallo, seit mehreren Tagen schaue ich mir Videos und Installationsanleitungen über Intel NUC mit Docker an. Mittlerweile bin ich von den ganzen Informationen etwas verwirrt. Weiterhin ist mir auch noch nicht klar, wie ioBroker einbinde. Ich habe nicht wirklich eine Schritt für Schritt Anleitung gefunden. Mittlerweile Denke ich, das dies nur etwas für wirkliche Profis ist.
Meine Hardware:
Intel NUC KIT NUC6CAYH Celeron mit 8 GB Ram und SSD
Kennt jemand eine gute Anleitung mit Links und wie ich mit Docker umgehen muss.
PS ( ich habe mir auch Proxmox angesehen aber das ich ja nicht verwirrender)
Evtl. sollte ich auch nur Linux mit ioBroker betreiben.
Würde mich freuen, wenn mir jemand weitere Ratschläge geben könnte.
Baerny
-
Such mal im Forum nach Proxmox.
Ist eine Virtualsierungsumgebung, kostenlos und sehr gut.
Ich habe ein Posting mit allen möglichen Links bzgl. der Installation, usw. erstellt.
Gruß,
Eric
Von unterwegs getippert
-
Ich habe jetzt auch auf einem NUC6i3CYH Proxmox mit einer Debian VM installiert.
Ist gar nicht so wild, ich wollte dazu auch mal ein Tutorial machen.
Gruß
Rainer
-
Ich habe jetzt auch auf einem NUC6i3CYH Proxmox mit einer Debian VM installiert.
Ist gar nicht so wild, ich wollte dazu auch mal ein Tutorial machen.
Gruß
Rainer `
Hast du vor das zeitnah zu machen, würde mich sehr interessierenBaerny
-
Hallo,
bin gerade beim gleichen Thema und taste mich an eine iobroker- Dockerumgebung auf meinem NUC ran.
Bisher habe ich iobroker in einem Docker Container auf meiner NAS betrieben - da geht alles mit einer WEB-Oberfläche zu installieren (Containerstation heisst die Qnap App). Leider ist die NAS nun CPU mäßig am Ende deshalb der Umzug auf den NUC. Und da ist Handarbeit angesagt …
<size size="150">Mini-Howto: Umzug von iobroker und mysql in Docker-Container</size>
Als Basis auf dem NUC (Docker-Host) dient ein UBUNTU 16.04 LTS.
Ubuntu iso runterladen und mit universal-usb-installer-1.9.7.7 auf einen USB Stick. NUC über diesen Stick
booten und UBUNTU installieren
Nach Installation die Zeitzone ggf Zeitzone anpassen:
sudo dpkg-reconfigure tzdata
Docker Installieren:
https://www.digitalocean.com/community/ … untu-16-04
ging genu so wie dort beschrieben
Docker Netzwerk einrichten
Um es mir einfach zu machen, habe ich mich bei der Docker Umgebung für ein "macvlan" Netz entschieden. Soweit ich das verstanden habe ist das eigentlich ein bridge Netz. Es ermöglicht mir die Container im gleichen Netz zu betreiben wie alles andere hier im Haus. In meiner Fritzbox habe ich den DHCP Bereich auf 10-100 eingegrenzt um doppelte IP Adressen zu vermeiden. - Wenn jemand eine bessere Idee hat bitte melden
Anlegen des Netzes:
docker network create \ -d macvlan \ --subnet=192.168.0.0/24 \ --gateway=192.168.0.254 \ --ip-range=192.168.0.190/27 \ -o parent=eno1 \ macvlan0
–ip-range=192.168.0.190/27" bedeutet, dass Docker (wenn keine statische IP Angegeben wird) Adressen aus dem Bereich 192.168.0.160 bis 192.168.0.190 vergibt. eno1 ist das Interface des Docker-Hosts (in meinem Fall mit der IP 192.168.0.100)
Anlegen der Docker Volumes:
docker volume create d-mysql docker volume create d-iobroker
Anschließend habe ich die Daten der alten iobroker installation (also alles unterhalb von /opt/iobroker) nach
/var/lib/docker/volumes/d-iobroker/_data/ kopiert
Anlegen und starten der Container für iobroker, mysql und für phpmyadmin:
docker run -d --name d-mysql \ --hostname d-mysql \ --restart always \ -e MYSQL_ROOT_PASSWORD=root \ --network macvlan0 \ --ip=192.168.0.161 \ --volume=d-mysql:/var/lib/mysql \ --volume=/etc/timezone:/etc/timezone:ro\ --volume=/etc/localtime:/etc/localtime:ro\ mysql docker run --name d-phpmyadmin \ --hostname d-phpmyadmin \ --link d-mysql:db \ --restart always \ --network macvlan0 \ --ip=192.168.0.162 \ -d phpmyadmin/phpmyadmin docker run -d --name d-iobroker \ --link d-mysql:db \ --restart always \ --hostname d-iobroker \ --volume=d-iobroker:/opt/iobroker \ --volume=/srv/Backup/iobroker:/opt/iobroker/backups \ --volume=/etc/timezone:/etc/timezone:ro\ --volume=/etc/localtime:/etc/localtime:ro\ --network macvlan0 \ --ip=192.168.0.201 \ -t buanet/iobroker
Das Verzeichnis /srv/Backup/iobroker wird per NFS von meiner NAS bereitgestellt, Backups (die per Javascript von iobroker erzeugt werden)
landen also direkt auf der NAS .
Die Datenbankdaten per mysqldump aus der alten DB abziehen und in die neue DB schreiben:
mysqldump -h ALT-SYSTEM -u root -p --databases iobroker > iobroker.sql mysql -h d-mysql -u root -p < iobroker.sql
Jetzt muss im Webinterface von iobroker-Admin nur noch der DB-Name angepasst werden.
Die Container sind "reboot" fest (–restart always). Sie werden nach einem reboot oder hartem aus/ein-schalten des NUC automatisch wieder gestartet.
Löscht man sie (docker stop d-iobroker;docker rm d-iobroker), können Sie durch Eingabe der docker cmd`s wie oben beschrieben wieder neu erstellt werden. Da die "Nutz-Daten" in den Volumes sind, gehen auch keine Daten verloren.
Anzeige allert laufenden Container:
docker ps (-a zeigt auch die nicht laufenden an)
Genaue Beschreibung der laufenden Container:
docker inspect d-iobroker
Console des Containers:
docker exec -ti d-iobroker bash
lg
ehome
-
Hallo zusammen,
ich habe mich nun auch an den Docker auf dem NUC getraut. soweit so gut…Installation hat geklappt. Docker läuft und 1-2 Docker laufen bereits. Jetzt wollte ich iobroker ebenfalls installieren. Ich habe sämtliche Schritte befolgt.
Iobroker ist per Docker installiert und ich kann es aufrufen. Jedoch habe ich nur 2 Adapter zur Verfügung. Admin und Discovery...Ich kann keine weiteren installieren? Woran kann das liegen?
Zur Vorgehensweise. Ich habe alles so gemacht wie von @ehome beschrieben.
Kann mir jemand helfen?
Grüsse
-
Hallo zusammen,
ich habe mich nun auch an den Docker auf dem NUC getraut. soweit so gut…Installation hat geklappt. Docker läuft und 1-2 Docker laufen bereits. Jetzt wollte ich iobroker ebenfalls installieren. Ich habe sämtliche Schritte befolgt.
Iobroker ist per Docker installiert und ich kann es aufrufen. Jedoch habe ich nur 2 Adapter zur Verfügung. Admin und Discovery...Ich kann keine weiteren installieren? Woran kann das liegen?
Zur Vorgehensweise. Ich habe alles so gemacht wie von @ehome beschrieben.
Kann mir jemand helfen?
Grüsse `
hmm, kannst Du denn aus dem ioBroker Docker Container z.B. github.com mit ping erreichen? -
ich habe es gerade ausprobiert. Per Ping komme ich nicht raus… Ich erhalte folgende Meldung
root@f3a834c342bd:/opt/iobroker# ping github.com
PING github.com (192.30.253.113) 56(84) bytes of data.
From f3a834c342bd (192.168.10.210) icmp_seq=1 Destination Host Unreachable
From f3a834c342bd (192.168.10.210) icmp_seq=2 Destination Host Unreachable
From f3a834c342bd (192.168.10.210) icmp_seq=3 Destination Host Unreachable
From f3a834c342bd (192.168.10.210) icmp_seq=4 Destination Host Unreachable
From f3a834c342bd (192.168.10.210) icmp_seq=5 Destination Host Unreachable
From f3a834c342bd (192.168.10.210) icmp_seq=6 Destination Host Unreachable
Mit dem NUC /Ubuntu komme aber drauf. Lediglich nicht mit dem Container.
Was mache ich falsch?
-
kannst Du denn Deinen DSL/Kabel Router und Deine NAS aus dem Docker Container per Ping erreichen?
Es hilft wenn Du einmal genau den Befehl mit allen Parametern wie Du Dein macvlan mit Docker erstellt hast schreibst.
-
Hi,
Zu Testzwecken habe ich noch ein Container erstellt, aber jetzt mit der Netzwerkschnittstelle "bridge". Nun bekomme ich alle Adapter angezeigt. So dann wird es am erstellen Netzwerk liegen.
ich habe macvlan so erstellt:
docker network create \ -d macvlan \ --subnet=192.168.10.0/24 \ --gateway=192.168.10.254 \ --ip-range=192.168.10.222/28 \ -o parent=enp1s0 \ macvlan0
-
Ok Fehler entdeckt..Ich habe eine falsche IP fürs Gateway verwendet [emoji6] ganz toll [emoji23]
Gesendet von iPhone mit Tapatalk
-
Bin aktuell auch dabei meinen NUC neu aufzusetzen und möchte dabei alles komplett in Container packen. Da ich es allerdings nicht geschafft habe, eins der IoBroker Images aus dem Docker Hub ans laufen zubringen, habe ich kurzerhand einen Ubuntucontainer gestartet und dort drin IoBroker installiert. Es läuft auch soweit alles, nur werden keine Wlan Geräte gefunden. Ich kann die Yeelights oder auch den LW12 manuell eintragen, diese lassen sich dann auch steuern, aber der Chromecast Adapter bietet mir diese Möglichkeit leider nicht… Ich vermute, es liegt an dem eigenen Netz was Docker aufspannt. Hat hier jemand IoBroker im Container laufen und findet seine lokalen Wlan-Geräte? Oder komm ich um ein Vlan nicht drum rum?
-
Ich habe den Gedanken mit Docker aufgegeben. Bei mir hat es soweit für ein paar Tage funktioniert. Nach ein paar Tagen war iobroker und Docker nicht mehr ansprechbar. Selbst per Putty kam ich nicht mehr auf denNUC. Ich habe es mehrmals neu installiert und immer wieder das gleiche Problem..
Jetzt läuft iobroker direkt auf dem NUC
Gesendet von iPhone mit Tapatalk
-
Ich hab die komplette Installation vor etwa 4 Wochen in einen Docker Container umgezogen, läuft prima.
Versuch mal, das komplette Netzwerk auf den host zu mappen (docker start mit dem parameter –network host)
Das war zumindest der Grund, warum bei mir die Sonos nicht funktioniert haben (multicast traffic)- evt. macht chromecast ja ähnliches.
-
@dwm:Versuch mal, das komplette Netzwerk auf den host zu mappen (docker start mit dem parameter –network host) `
Volltreffer!! Damit klappts jetzt wie es sein soll.Habe das Ganze jetzt mal auf dem PI zum Test aufgebaut, lasse es eine Weile laufen und wenns stabil bleibt zieh ich alles auf den Nuc um.
Vielen Dank für den Tip!
-
Wollte gerade mysql und phpMyAdmin im Docker-Comtainer installieren.
Kleiner Hinweis: Seit mysql 8 muss man eine andere Methode zur Authentifizierung einstellen, damit man sich mit phpMyAdmin anmelden kann.
docker exec -it d-mysql mysql -uroot -p<passwd>-e "ALTER USER root IDENTIFIED WITH mysql_native_password BY '<passwd>';"</passwd></passwd>
also mit dem Beispiel von @ehome weiter oben:
docker exec -it d-mysql mysql -uroot -proot -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'root';"
Falls man das automatisieren möchte, bitte beachten, dass mysql erst eine init phase durchläuft bevor man sich tatsächlich connecten kann. Also besser ein sleep 60 davor setzen.