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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Node.js Update im Docker

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

      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

      haselchen Thomas Braun 2 Replies Last reply Reply Quote 0
      • haselchen
        haselchen Most Active @TH G last edited by

        @th-g

        Wie bist du denn auf die 18.20 gekommen?

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

          @haselchen

          Über den normalen Weg aber nun wird ja deutlich gesagt, dass man das im Docker nicht tun soll.

          https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-16-und-18

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

            @th-g

            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

            Also

            apt update
            apt policy nodejs
            

            anschauen.

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

              @thomas-braun sagte in Node.js Update im Docker:

              Also
              Copy to Clipboard apt update apt policy nodejs
              anschauen.

              Habe ich mir angeschaut und was soll ich nun machen?

              11 packages can be upgraded. Run 'apt list --upgradable' to see them.
              nodejs:
              Installed: 18.20.0-1nodesource1
              Candidate: 18.20.1-1nodesource1

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

                @th-g

                jetzt gehst du in die Console und führst die Befehle aus

                sudo apt update && apt upgrade -y

                kannst auch bequem den Befehl nehmen

                sudo apt update && sudo apt full-upgrade && sudo apt autoremove

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

                  @haselchen sagte in Node.js Update im Docker:

                  sudo apt update && sudo apt full-upgrade && sudo apt autoremove

                  Danke und aktuell Version ist drauf.

                  Jetzt frage ich mich natürlich warum etwas anderes empfohlen wird, wenn es nicht funktioniert?

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

                    @th-g

                    Weil diese Änderungen nicht persistent sind.

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

                      @haselchen sagte in Node.js Update im Docker:

                      sudo apt update && apt upgrade -y
                      kannst auch bequem den Befehl nehmen
                      sudo apt update && sudo apt full-upgrade && sudo apt autoremove

                      Siehe https://docs.buanet.de/iobroker-docker-image/docs/#updates-upgrades

                      Das macht man in Docker-Containern eigentlich nicht (weil dann hat man ja nicht mehr genau den Stand, welchen man mal geladen hat - und das ist ja der Sinn von Containern)

                      Note that the recommended way is always to simply pull the newest image and recreate your ioBroker Docker container.

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

                        Jetzt wird es verwirrend.

                        Was ist denn jetzt der richtige Weg im Docker?

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            935
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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