Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Iobroker in Docker auf Intel NUC

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Iobroker in Docker auf Intel NUC

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      ehome last edited by

      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

      1 Reply Last reply Reply Quote 0
      • D
        dalmabrain last edited by

        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

        1 Reply Last reply Reply Quote 0
        • Stuebi
          Stuebi last edited by

          @dalmabrain:

          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?

          1 Reply Last reply Reply Quote 0
          • D
            dalmabrain last edited by

            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?

            1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • D
                dalmabrain last edited by

                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
                
                1 Reply Last reply Reply Quote 0
                • D
                  dalmabrain last edited by

                  Ok Fehler entdeckt..Ich habe eine falsche IP fürs Gateway verwendet [emoji6] ganz toll [emoji23]

                  Gesendet von iPhone mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • M
                    Mao last edited by

                    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?

                    1 Reply Last reply Reply Quote 0
                    • D
                      dalmabrain last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • D
                        dwm last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • M
                          Mao last edited by

                          @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! 🙂

                          1 Reply Last reply Reply Quote 0
                          • OstfrieseUnterwegs
                            OstfrieseUnterwegs last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            788
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            9
                            16
                            6323
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo