Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Installation
    5. Node.js Update im Docker

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Node.js Update im Docker

    This topic has been deleted. Only users with topic management privileges can see it.
    • Thomas Braun
      Thomas Braun Most Active @TH G last edited by

      @th-g sagte in Node.js Update im Docker:

      Was ist denn jetzt der richtige Weg im Docker?

      Neues, aktuelles Image ziehen.

      1 Reply Last reply Reply Quote 1
      • haselchen
        haselchen Most Active @haus-automatisierung last edited by haselchen

        @haus-automatisierung

        Würde bedeuten, dass alle 2Wochen nen neues Image heruntergeladen werden müsste, weil sich die NodeVersion von z.B. 18.20.0 auf 18.20.1 ändert?
        Das halte ich für absoluten Quark.
        Ausserdem wird dieser Weg empfohlen, nicht vorgeschrieben.
        Ich bin jetzt seit Jahren dabei und benutze den 2.IobrokerContainer.
        Ich habe nicht die geringsten Schwierigkeiten mit dem Updaten des Containers.
        Sei es JSController, Adapter oder Node.

        Aber um Mißverständnisse vorzubeugen:
        Das ist MEINE Installation und Risiko.

        TH G haus-automatisierung 2 Replies Last reply Reply Quote 0
        • TH G
          TH G @haselchen last edited by

          @haselchen

          Für reine Anwender wie mich ist das natürlich nicht so gut, wenn es so unterschiedliche Aussagen gibt.

          1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @haselchen last edited by haus-automatisierung

            @haselchen sagte in Node.js Update im Docker:

            Ich habe nicht die geringsten Schwierigkeiten mit dem Updaten des Containers.

            Ist ja auch technisch kein Problem. Nur widerspricht das halt dem Konzept von Docker-Containern (LXC ist wieder was ganz anderes). Daher ja auch die Empfehlung in der Doku es nicht zu tun.

            Spätestens wenn Du Major-Updates von nodejs machst ist ein neues Image sinnvoll. Sonst kann man sich das mit Docker auch komplett sparen 🙂

            haselchen 1 Reply Last reply Reply Quote 1
            • haselchen
              haselchen Most Active @haus-automatisierung last edited by haselchen

              @haus-automatisierung

              Die letzte Version von buanet ist 9.1.1 vom 24.01.24
              Wie soll also der User an die aktuelle Node 18.20.1 kommen?

              Wenn ich da nen Denkfehler habe, korrigier mich bitte.

              haus-automatisierung 1 Reply Last reply Reply Quote 1
              • haus-automatisierung
                haus-automatisierung Developer Most Active @haselchen last edited by

                @haselchen Normalerweise müssten die Images regelmäßig neu gebaut werden. Aktuell passiert das scheinbar nur bei einem Release und nicht mit einem fixen Zeitplan:

                • https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest.yml
                • https://github.com/buanet/ioBroker.docker/blob/main/.github/workflows/build-debian12-latest.yml

                Da könnte man drüber sprechen, dass häufiger neue Images veröffentlicht werden sollten.

                Die Idee von Docker ist ja, dass jeder eine identische Applikation in einer identischen Umgebung bekommt. Also auch die Pakete im Userland haben dann fixe Versionen. Lade ich heute das Image iobroker/iobroker:v9.1.1 und in 2 Wochen auf einem anderen System, ist das Ergebnis exakt das gleiche. Und darum geht es ja: Reproduzierbarkeit und klar definierte Versionen.

                Das wird natürlich dadurch etwas verwässert, dass man mit weiteren Env-Variablen des Containers auch Pakete hinzufügen kann oder sogar ein Update anstoßen kann.

                haselchen Marc Berg 2 Replies Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @haus-automatisierung last edited by haselchen

                  @haus-automatisierung

                  Da hast Du jetzt schön Docker bzw. Container erklärt, aber keine Antwort auf meine Frage geliefert 😉

                  Die letzte Version von buanet ist 9.1.1 vom 24.01.24
                  Wie soll also der User an die aktuelle Node 18.20.1 kommen?
                  

                  Du glaubst doch nicht ernsthaft, dass der Entwickler mit jeder kleinen Node Änderung nen Image rausbringt.

                  André schreibt auf seiner Seite selber:
                  ..... oder die Nodejs-Version manuell innerhalb des Containers Updaten

                  Sei es wie es ist...wir haben eine Grauzone und jeder soll selber entscheiden, wie er bei einem Update vorgeht.

                  haus-automatisierung Codierknecht 2 Replies Last reply Reply Quote 0
                  • Marc Berg
                    Marc Berg Most Active @haus-automatisierung last edited by Marc Berg

                    @haus-automatisierung sagte in Node.js Update im Docker:

                    Da könnte man drüber sprechen, dass häufiger neue Images veröffentlicht werden sollten.

                    Es wurde bisher immer das latest Image mit der jeweils aktuellen Nodejs Version regelmäßig neu gebaut. In der Erkennung war aber ein Fehler, den André gerade behebt. Heute Abend soll es ein aktualisiertes Image geben.

                    EDIT: @th-g Deine Methode war also absolut korrekt und auch so empfohlen.

                    1 Reply Last reply Reply Quote 3
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @haselchen last edited by

                      @haselchen sagte in Node.js Update im Docker:

                      Du glaubst doch nicht ernsthaft, dass der Entwickler mit jeder kleinen Node Änderung nen Image rausbringt.

                      Soll ich jetzt best practices für Docker verlinken? Natürlich beantwortet das nicht die Frage, wie man die neueste Node-Version kommt. Aber das stört dich bei anderen Paketmanagern ja auch nicht, oder?

                      Wenn Du einen beliebigen Adapter installierst, bringt der ebenfalls über die package.json eine Liste der Pakete + der gewünschten Version mit. Sind die Abhängigkeiten immer top aktuell? Nein. Ist das nötig? In den meisten Fällen wohl nicht.

                      In meinen Augen gibst Du mit der Verwendung des Docker-Images das Abhängigkeitsmanagement in die Hände des Entwicklers, welche die Container bereitstellt und musst dich nicht mehr darum kümmern. Nur, dass das Image aktuell gehalten wird. Genau wie bei ioBroker-Adaptern auch jemand anders für Dich die Pakete aktualisiert.

                      1 Reply Last reply Reply Quote 1
                      • Codierknecht
                        Codierknecht Developer Most Active @haselchen last edited by

                        @haselchen sagte in Node.js Update im Docker:

                        Sei es wie es ist...wir haben eine Grauzone und jeder soll selber entscheiden, wie er bei einem Update vorgeht.

                        Eben!

                        Docker-Container sind eigentlich nicht dazu gedacht, damit dauerhaft ein bestimmtes System zu betreiben.
                        Das sind Wegwerfartikel. Benutzen, verwerfen, neu aufsetzen.
                        Kollegen von mir ziehen scriptgesteuert in der Cloud 'ne komplette Infrastruktur für ihr Build hoch und werfen das anschließend komplett weg.

                        Darum muss in einem Container auch eigentlich nix manuell aktualisiert werden.
                        Wer's trotzdem machen möchte: Ist ja nicht verboten, sondern lediglich "nicht empfohlen".

                        Solange der Container läuft, ist ja auch alles tutti.
                        Erst wenn man den Container verwirft und aus dem Image neu erstellt, sind die in der Zwischenzeit aktualisierten Pakete wieder auf dem ursprünglichen Stand.
                        Muss man halt wissen ... um sich dann im Fall der Fälle nicht zu fragen, warum.

                        1 Reply Last reply Reply Quote 1
                        • OliverIO
                          OliverIO last edited by OliverIO

                          @th-g sagte in Node.js Update im Docker:

                          Hallo,

                          ich halte mich an die Vorgaben so wie nachfolgend beschrieben

                          Docker: https://docs.buanet.de/de/iobroker-docker-image/docs/#wartung,

                          aber Node.js wird nicht auf die aktuelle Version von 18.20.0 auf 18.20.1 upgedatet.

                          Was muss ich tun?

                          Danke

                          Der Trick liegt daran den entsprechenden Abschnitt komplett zu lesen insbesondere des letzten absatzes. Speziell zu Node stand da eigentlich nix mehr oder hab ich da was übersehen?

                          Linux System Pakete aktualisieren
                          Die im ioBroker Docker Image enthaltenen Linux Pakete lassen sich manuell über den integrierten Paketmanager apt aktualisieren. Dabei unterscheidet sich die Vorgehensweise nicht von der anderer auf Debian basierender Linux Systeme und erfolgt über die Kommandozeile des Containers.

                          Beachte, dass der empfohlene Weg allerdings das Herunterladen des aktuellen ioBroker Docker Images und anschließende Neuerstellen des Containers ist.

                          TH G 1 Reply Last reply Reply Quote 0
                          • TH G
                            TH G @OliverIO last edited by

                            Wie lange dauert es in der Regel bis eine Versionen im latest Docker ist? Versuche seit zwei Tagen meinen Docker neu zu erstellen um auf die neue Node.js 20.15.1 Version zu kommen aber es ist immer noch die alte im Image.

                            OliverIO haselchen 2 Replies Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @TH G last edited by

                              @th-g

                              du kannst hier schauen, wann welches "image" unter welchem tag veröffentlicht wurde.

                              wenn du das absolut letzte image abrufen willst, dann könntest du
                              buanet/iobroker:beta-node22
                              im docker angeben. das ist 5h alt.

                              das letzte offizielle latest (mit v9) ist 5 Tage alt.

                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @OliverIO last edited by

                                @oliverio sagte in Node.js Update im Docker:

                                buanet/iobroker:beta-node22

                                node 22 ist aktuell nicht empfohlen und könnte mit einigen Adaptern Probleme machen.

                                Neuschwansteini 1 Reply Last reply Reply Quote 0
                                • Neuschwansteini
                                  Neuschwansteini @haus-automatisierung last edited by

                                  @haus-automatisierung sagte in Node.js Update im Docker:

                                  @oliverio sagte in Node.js Update im Docker:

                                  buanet/iobroker:beta-node22

                                  node 22 ist aktuell nicht empfohlen und könnte mit einigen Adaptern Probleme machen.

                                  richtig, wie alle Beta-Versionen, bitte beachten VOR dem Installieren.. (und backup machen und so.. ne.. )

                                  Ich hab mal gewagt, nachdem ich ein paar Tests aufm Raspi gemacht habe, mein produktives Docker mit der V10-beta1-Node-22 laufen zu lassen, und siehe da, es funktioniert... diese Adapter laufen bei MIR unter Node 22... muss man nicht nachmachen.. 🙂 :

                                  
                                  
                                  iobroker@iobroker:~$ iob update
                                  Used repository: beta
                                  Adapter    "accuweather"  : 1.5.0    , installed 1.5.0
                                  Adapter    "admin"        : 7.0.16   , installed 7.0.16
                                  Adapter    "alarm"        : 3.6.1    , installed 3.6.1
                                  Adapter    "alexa2"       : 3.26.5   , installed 3.26.5
                                  Adapter    "backitup"     : 3.0.9    , installed 3.0.9
                                  Adapter    "bluelink"     : 2.3.6    , installed 2.3.8
                                  Adapter    "cloud"        : 5.0.1    , installed 5.0.1
                                  Adapter    "countdown"    : 2.2.0    , installed 2.2.0
                                  Adapter    "device-watcher": 2.12.1  , installed 2.12.1
                                  Adapter    "devices"      : 1.1.5    , installed 1.1.5
                                  Adapter    "deyeidc"      : 0.0.14   , installed 0.0.14
                                  Adapter    "email"        : 1.3.1    , installed 1.3.1
                                  Adapter    "energiefluss" : 3.6.0    , installed 3.6.0
                                  Adapter    "feiertage"    : 1.2.0    , installed 1.2.0
                                  Adapter    "fitbit-fitness": 0.5.0   , installed 0.5.0
                                  Adapter    "frigate"      : 1.2.1    , installed 1.2.1
                                  Adapter    "fritzdect"    : 2.5.9    , installed 2.5.9
                                  Adapter    "fullybrowser" : 3.0.12   , installed 3.0.12
                                  Adapter    "go-e"         : 1.0.36   , installed 1.0.36
                                  Adapter    "govee-local"  : 0.2.6    , installed 0.2.6
                                  Adapter    "heizoel"      : 1.0.3    , installed 1.0.3
                                  Adapter    "ical"         : 1.15.0   , installed 1.15.0
                                  Adapter    "influxdb"     : 4.0.2    , installed 4.0.2
                                  Adapter    "iot"          : 3.3.0    , installed 3.3.0
                                  Adapter    "javascript"   : 8.6.0    , installed 8.6.0
                                  Controller "js-controller": 6.0.8    , installed 6.0.8
                                  Adapter    "lg-thinq"     : 1.0.1    , installed 1.0.1
                                  Adapter    "lgtv"         : 2.2.0    , installed 2.2.0
                                  Adapter    "linux-control": 1.1.5    , installed 1.1.5
                                  Adapter    "meteoalarm"   : 3.0.2    , installed 3.0.2
                                  Adapter    "mihome-vacuum": 4.2.0    , installed 4.2.0
                                  Adapter    "minuvis"      : 2.3.3    , installed 2.3.3
                                  Adapter    "mqtt"         : 6.0.0    , installed 6.0.0
                                  Adapter    "notification-manager": 1.1.2, installed 1.1.2
                                  Adapter    "notificationforandroidtv": 3.0.4, installed 3.0.4
                                  Adapter    "nut"          : 1.6.0    , installed 1.6.0
                                  Adapter    "odl"          : 3.0.1    , installed 3.0.1
                                  Adapter    "oilfox"       : 4.3.0    , installed 4.3.0
                                  Adapter    "ping"         : 1.6.2    , installed 1.6.2
                                  Adapter    "pollenflug"   : 1.0.6    , installed 1.0.6
                                  Adapter    "proxmox"      : 2.3.0    , installed 2.3.0
                                  Adapter    "reolink"      : 1.1.0    , installed 1.1.0
                                  Adapter    "rest-api"     : 2.0.3    , installed 2.0.3
                                  Adapter    "shelly"       : 7.0.0    , installed 7.0.0
                                  Adapter    "simple-api"   : 2.8.0    , installed 2.8.0
                                  Adapter    "snmp"         : 3.2.0    , installed 3.2.0
                                  Adapter    "socketio"     : 6.7.1    , installed 6.7.1
                                  Adapter    "solarmanpv"   : 0.5.1    , installed 0.5.1
                                  Adapter    "sonoff"       : 3.1.0    , installed 3.1.0
                                  Adapter    "synology"     : 3.1.0    , installed 3.1.0
                                  Adapter    "telegram"     : 3.8.0    , installed 3.8.0
                                  Adapter    "tr-064"       : 4.3.0    , installed 4.3.0
                                  Adapter    "trashschedule": 3.3.0    , installed 3.3.0
                                  Adapter    "tuya"         : 3.15.0   , installed 3.15.0
                                  Adapter    "unifi"        : 0.7.0    , installed 0.7.0
                                  Adapter    "uv-protect"   : 0.6.0    , installed 0.6.0
                                  Adapter    "viessmannapi" : 2.4.0    , installed 2.4.0
                                  Adapter    "vis"          : 1.5.6    , installed 1.5.6
                                  Adapter    "weatherunderground": 3.7.0, installed 3.7.0
                                  Adapter    "web"          : 6.3.0    , installed 6.3.0
                                  Adapter    "wifilight"    : 1.2.2    , installed 1.2.2
                                  Adapter    "windows-control": 0.1.5  , installed 0.1.5
                                  Adapter    "wled"         : 0.7.3-beta.0, installed 0.7.3-beta.0
                                  Adapter    "worx"         : 3.0.2    , installed 3.0.2
                                  Adapter    "ws"           : 2.6.2    , installed 2.6.2
                                  Adapter    "yahka"        : 1.0.3    , installed 1.0.3
                                  Adapter    "yeelight-2"   : 1.4.0    , installed 1.4.0
                                  Adapter    "zigbee"       : 1.10.3   , installed 1.10.3
                                  iobroker@iobroker:~$
                                  
                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @Neuschwansteini last edited by

                                    @ilovegym sagte in Node.js Update im Docker:

                                    diese Adapter laufen bei MIR unter Node 22

                                    Ich denke auch, dass 95% der Adapter keine Probleme machen werden. Dennoch ist das mit Vorsicht zu genießen und man sollte sich in dem Rahmen bewegen, welcher offiziell getestet wurde. Und ich habe z.B. noch keinen meiner Adapter unter node 22 getestet.

                                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                                    • Neuschwansteini
                                      Neuschwansteini @haus-automatisierung last edited by Neuschwansteini

                                      @haus-automatisierung

                                      Da bin ich ganz bei dir, deshalb schrieb ich ja, " laeuft bei MIR" - das heisst auch nicht, dass es woanders geht.. und das auch erst seit ner Viertelstunde.. also warten wir mal ein paar Scripts und Tage ab..
                                      Zumindest Canvas hat erwartungsgemäß etwas gezickt und musste, wie in der Anleitung vom mihome-vacuum-Adapter beschrieben, nach installiert werden, die anderen Pakete waren schon da.

                                      Fuer mich traue ich mir das zu, da ich weiss, was ich mache, und - ganz wichtig - ich vor allem weiss, wie ich wieder downgrade 🙂

                                      Stresstest ist das hier auf jeden Fall, hier ballern ueber 700 Devices per mqtt / zigbee ihre Sensordaten ununterbrochen rein..
                                      Werden die Woche noch ein paar mehr, muss noch 12 NSPanels flashen und auch diese Scripte laufen..zur Zeit auf 2 Panels..

                                      So, das Logfile des Dockers wirft etliche "deprecated" Module in rote Licht.. da werden einige Adapter doch anpassungen machen muessen.. ich bin gerade mal am sortieren.. was das alles ist...
                                      Hab ja auch uralt-Adapter Wifilight am laufen.. der ist noch Soef.. wer den noch kennt...

                                      Edit:
                                      Deprecated Modules:
                                      DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
                                      DeprecationWarning: The util.isArray API is deprecated. Please use Array.isArray() instead.
                                      DeprecationWarning: The util.isRegExp API is deprecated. Please use arg instanceof RegExp instead.
                                      DeprecationWarning: The util.isDate API is deprecated. Please use arg instanceof Date instead.

                                      1 Reply Last reply Reply Quote 0
                                      • haselchen
                                        haselchen Most Active @TH G last edited by haselchen

                                        @th-g

                                        Du kannst auch, ich weiss zwar nicht welches Image Du gerade hast V8 oder V9, die Node Version so im Container updaten:

                                        Before adding the repositories from where I will get the packages, I need to install some Debian packages so it can talk with the server properly.

                                        This step may not be necesserary if we didi it already with a previous installation, for example.

                                        Update the package list and upgrade the existing packages, as usual.
                                        
                                        sudo apt update
                                        sudo apt upgrade
                                        
                                        Install the debian packages that will allow us to interact with the external packages repositories
                                        
                                        sudo apt install -y ca-certificates curl gnupg
                                        

                                        Now we're ready to add external repositories and interact with them as usual.
                                        2.2. Set up the repositories in the APT package manager

                                        Download the GPG key
                                        
                                        curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
                                        
                                        Define which version of NodeJS do we want to download. This is done by definin a environment variable. If you prefer another version, just edit the value.
                                        
                                        NODE_MAJOR=20
                                        
                                        Add the NodeJS repository
                                        
                                        echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
                                        
                                        Update the package list
                                        
                                        sudo apt update
                                        

                                        Sollte die 20er Version damit nicht kommen, dann

                                        And now we can install NodeJS as any other package in the system

                                        sudo apt install nodejs
                                        

                                        Ich hab so bei mir die Version im Container von 18 auf 20 gehoben.

                                        Edit:
                                        b5092afc-fe08-4eaa-b067-42629bb9a0e0-grafik.png

                                        OliverIO 1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @haselchen last edited by

                                          @haselchen

                                          das lebt nur solange, bis der container neu regeneriert wird.
                                          fürs testen kann man das machen
                                          ist aber am generellen konzept eines containers vorbei.

                                          haselchen 1 Reply Last reply Reply Quote 0
                                          • haselchen
                                            haselchen Most Active @OliverIO last edited by haselchen

                                            @oliverio

                                            Das ist korrekt und hatten wir schonmal als Thema.
                                            Da sich die Major Versionen von Node und das OS nicht alle paar Monate ändern, sondern Jahre, generiere ich nicht so häufig Container.
                                            Dementsprechend ist das für mich so fein.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            538
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            89
                                            5252
                                            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