Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [HowTo] ioBroker unter Docker auf Synology DiskStation

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [HowTo] ioBroker unter Docker auf Synology DiskStation

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by

      hast du dem doker container 16 gb zugewiesen (was totaler quatsch währe) oder dynamisch zuteilen lassen

      1 Reply Last reply Reply Quote 0
      • S
        Solear last edited by

        Kann es sein, dass man den Befehl "exec" und oder "wget" innerhalb des buanet Containers per iobroker Skript nicht aufrufen kann?

        Ich habe mir immer per Sript mittels des exec Befehls ein Standbild von meiner Webcam geholt auf /opt/iobroker/Cache/bild.jpg.

        Muss der Pfad vielleicht anders angegeben sein in einer Dockerumgebung?

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

          Hast Du vorher den Ordner erstellt? (ich nehme an ja, frage aber trotzdem mal nach)

          Rechte dann auch vergeben?

          Des Weiteren kann ich Dir nur empfehlen das gesammte Dockerverzeichnis von iobroker zu mounten. Macht vieles einfacher 😉

          1 Reply Last reply Reply Quote 0
          • S
            Solear last edited by

            Danke für den Hinweis!

            Habe es gelöst:

            Also: Ich hatte tatsächlich den cache-Ordner nicht erstellt. Ich bin davon ausgegangen er ist "ab Werk" vorhanden.

            OK, Ordner erstellt, geht immer noch nicht.

            Dann im iobroker Containerterminal ein bisschen gespielt und festgestellt, dass "wget" nicht installiert ist.

            Habe dann wget nachinstalliert mit "````
            apt update
            apt install wget

            Seitdem geht es wieder 8-)
            
            Mh, aber beim nächsten Containertausch ist das wget wieder weg… :?
            1 Reply Last reply Reply Quote 0
            • Ollywood
              Ollywood last edited by

              Ich habe dem ioBoker 4 GB zugeordnet, vorher habe ich diesem nichts zugordnet, und da fing ermit 16 BG an und senkte sich dann …

              Nach der Festlegung von 4GB ist dennoch der niedrige Speicher vorhanden...

              😢

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

                @Solear:

                Danke für den Hinweis!

                Habe es gelöst:

                Also: Ich hatte tatsächlich den cache-Ordner nicht erstellt. Ich bin davon ausgegangen er ist "ab Werk" vorhanden.

                OK, Ordner erstellt, geht immer noch nicht.

                Dann im iobroker Containerterminal ein bisschen gespielt und festgestellt, dass "wget" nicht installiert ist.

                Habe dann wget nachinstalliert mit "````
                apt update
                apt install wget

                Seitdem geht es wieder 8-)
                
                Mh, aber beim nächsten Containertausch ist das wget wieder weg… :? `  
                

                Du hast sicher auch ne Export Funktion?

                Ich exportier mir einen Container immer wenn alles gut läuft….seltenes neu aufsetzen also 😉

                1 Reply Last reply Reply Quote 0
                • S
                  Solear last edited by

                  Aber dann habe ich doch auch den alten Container, oder? Und bei den Einstellungen exportieren wird wget bestimmt nicht mitexportiert?

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

                    @Solear:

                    Aber dann habe ich doch auch den alten Container, oder? Und bei den Einstellungen exportieren wird wget bestimmt nicht mitexportiert? `

                    Ich kann meine Container einzeln exportieren…...also mit Auswahl welchen ich möchte. Ich denke es wird der komplette Container exportiert, also alles was dort gemacht wurde.

                    Hab ich so noch nie versucht, da mir ein Rückspielen der gesicherten Ordner gereicht hat

                    1 Reply Last reply Reply Quote 0
                    • S
                      Solear last edited by

                      Muss man wirklich mal durchtesten.

                      Ich meinte, wenn watchdog mir das Image:latest durch ein aktuelles ersetzt. Ich glaube, man müsste das buanet-Image Forken und das fehlende wget-Paket direkt ins Image einpflanzen. Aber das ist mir zu hoch.

                      … oder ich baue mir ein Script, welches beim starten von iobroker mit exec wget (drüber-)installiert? Das müsste gehen, oder?

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

                        @Ollywood:

                        Jetzt bleibt nur noch das Problem mit dem Arbeitsspeicher.. :?: `

                        Das habe ich auch noch nicht gelöst bekommen:

                        804MB RAM verbraucht / Frei 169 (2%) 15 Prozesse

                        …obwohl auf der Synology DS218+ noch 8GB RAM frei sind und keine Ressourcenbeschränkung eingestellt wurde.

                        Hat der Container selbst eine Grenze auf 1GB oder wo ist die eingestellt?

                        Und kann man die höher setzen?

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

                          @RK62:

                          Das habe ich auch noch nicht gelöst bekommen:

                          804MB RAM verbraucht / Frei 169 (2%) 15 Prozesse

                          …obwohl auf der Synology DS218+ noch 8GB RAM frei sind und keine Ressourcenbeschränkung eingestellt wurde. `

                          Ich glaub, da gibt's nichts zu lösen. Mir scheint, der ioBroker erhält im Container einfach nicht die richtigen Speicherwerte. Ich habe z.B. 6 GB auf meiner DS718+ installiert. Das wird so auch im Docker korrekt angezeigt.

                          996_2018-03-21_13h37_07.png
                          Auf der Admin-Oberfläche des ioBroker erhalte ich aber die folgenden Werte angezeigt:

                          996_2018-03-21_13h40_29.png
                          Wenn ich nun noch weitere Adapter installiere, steigt einfach die RAM-Nutzung, ohne dass der freie Speicher deutlich runter geht. Da holt sich der ioBroker dann wohl einfach den benötigten RAM.

                          Ich würde mir da ehrlich gesagt keinen großen Kopf drum machen.

                          Bis dann,

                          Thorsten

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

                            Danke, dann werde ich mal weiter installieren & beobachten.

                            Coole Admin-Oberfläche für's iPad: Wie kommt man da dran?

                            Ich habe die "normale" Web-Oberfläche, ist etwas unübersichtlich.

                            1 Reply Last reply Reply Quote 0
                            • andre
                              andre Developer last edited by

                              @Solear:

                              Muss man wirklich mal durchtesten.

                              Ich meinte, wenn watchdog mir das Image:latest durch ein aktuelles ersetzt. Ich glaube, man müsste das buanet-Image Forken und das fehlende wget-Paket direkt ins Image einpflanzen. Aber das ist mir zu hoch.

                              … oder ich baue mir ein Script, welches beim starten von iobroker mit exec wget (drüber-)installiert? Das müsste gehen, oder? `

                              Hallo,

                              am besten einfach mal fragen. 🙂 Ich kann das Paket mit in den Container nehmen… Darf ich fragen was du mit wget machst?

                              Die Export-Funktion ist für Container Updates nicht geeignet. Damit wird ja der gesamte Container inklusive allem Inhalt exportiert. Bei einem neuerlichen Import findet also keine Aktualisierung statt.

                              PS: Sorry falls ich im moment ein bisschen verzögert antworte, aber weil tapatalk nicht mehr geht bekomme ich weder Benachrichtigungen noch kann ich von unterwegs schnell mal meinen Senf dazu geben...

                              MfG,

                              André

                              [EDIT] wget ist drin. Läuft unter Beta. Build ist angestoßen, das neue Image sollte demnächst zur Verfügung stehen.

                              1 Reply Last reply Reply Quote 0
                              • andre
                                andre Developer last edited by

                                @mikiline:

                                @Solear:

                                Aber dann habe ich doch auch den alten Container, oder? Und bei den Einstellungen exportieren wird wget bestimmt nicht mitexportiert? `

                                Ich kann meine Container einzeln exportieren…...also mit Auswahl welchen ich möchte. Ich denke es wird der komplette Container exportiert, also alles was dort gemacht wurde.

                                Hab ich so noch nie versucht, da mir ein Rückspielen der gesicherten Ordner gereicht hat `

                                Hallo,

                                das Exportieren dient maximal zur Datensicherung (auch wenn ich da eine andere Methode bevorzugen würde) nicht aber zum Aktualisieren eines Containers. Siehe dazu auch der Punkt zur Aktualisierung des Containers in der Anleitung.

                                Zur Aktualisierung gibt es nur zwei Möglichkeiten: Entweder über die Kommandozeile den bestehenden Container hin und wieder updaten (apt-get update, apt-get upgrade) oder ab und an Container löschen, Image updaten, Container neu erstellen (siehe Anleitung).

                                MfG,

                                André

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Solear last edited by

                                  Danke, andre! Das wäre der Hammer wenn wget mit drin ist! :ugeek:

                                  wget nutze ich in verschiedenen Scripten, um ein Standbild von meiner Webcam D-Link DSC-2332L abzuholen. Das Standbild wird dann innerhalb von 1-2 Sekunden erzeugt und wird dann danach per Telegram an mich verschickt. Auslöser sind verschiedene Sachen, wenn jemand klingelt oder wenn ich es per Telegrambefehl abfordere. Den Code kann ic hgerne mal posten, er müsste aber in den Untiefen des Forums hier schon irgendwo sein (habe ich aber nicht gefunden).

                                  1 Reply Last reply Reply Quote 0
                                  • andre
                                    andre Developer last edited by

                                    @Solear:

                                    Danke, andre! Das wäre der Hammer wenn wget mit drin ist! :ugeek:

                                    wget nutze ich in verschiedenen Scripten, um ein Standbild von meiner Webcam D-Link DSC-2332L abzuholen. Das Standbild wird dann innerhalb von 1-2 Sekunden erzeugt und wird dann danach per Telegram an mich verschickt. Auslöser sind verschiedene Sachen, wenn jemand klingelt oder wenn ich es per Telegrambefehl abfordere. Den Code kann ic hgerne mal posten, er müsste aber in den Untiefen des Forums hier schon irgendwo sein (habe ich aber nicht gefunden). `

                                    Hallo,

                                    Build ist durchgelaufen, also sollte wget ab sofort im neuen Beta-Image drin sein.

                                    Offtopic:

                                    ! Ok, ich mache das selbe mit meiner Cam. Allerdings komme ich ohne wget aus. 🙂 Ich mache das per request. habe ich hier auch irgendwo im Forum gesehen:

                                    var source_url = 'http://xxxx', // Pfad zum Kamerabild
                                        dest_path = '/opt/transfer/webcam/'; // Pfad zum Speicherort
                                    var request = require('request');
                                    var fs      = require('fs');
                                    

                                    ! ````
                                    function saveImage() {
                                    request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                    fs.writeFile(dest_path + 'kamerabild.jpg', body, 'binary', function(err) { // Dateiname Kamerabild
                                    ! if (err) {
                                    log('Fehler beim Bild speichern: ' + err, 'warn');
                                    } else {
                                    log('Webcam Bild gespeichert');
                                    sendImage(dest_path + 'kamearbild.jpg'); // Optional Kamerabild senden, bei mir mit Telegram.
                                    }
                                    });
                                    });
                                    }

                                    >! Sind natürlich nur die entsprechenden Codefragmente. Aber so geht es bei mir. :)
                                    >! Habe übrigens eine Foscam.
                                    MfG,
                                    
                                    André
                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Solear last edited by

                                      @andre:

                                      Hallo,

                                      Build ist durchgelaufen, also sollte wget ab sofort im neuen Beta-Image drin sein. `

                                      Hi André!

                                      habe gerade von :latest auf :beta umgestellt und es klappt hervorragend. wget ist nun "ab Werk" installiert. Danke vielmals!

                                      Hier mein wget - Foto Abholbefehl per Telegram:

                                      ! ````
                                      // ###################################################
                                      // Webcamfoto schicken
                                      ! on("telegram.0.communicate.request", function (obj) {
                                      if (obj.newState.val == "[xxx]torfoto" || obj.newState.val == "[xxx]/torfoto") {
                                      getfoto();
                                      setState("telegram.0.communicate.request","leer");
                                      }
                                      });
                                      ! function getfoto() {
                                      exec ("wget --user=xxxx--password=xxxx-N -P /opt/iobroker http://192.168.1.xxx/dms?nowprofileid=1.jpg");
                                      sendphoto(); // Rufe Funktion sendphoto auf

                                          setState("telegram.0.communicate.request","leer");
                                      
                                          sendTo('telegram', 'Was noch?' +
                                                     '\n' + '/haus' +
                                                     '\n' + '/haupthahn' +
                                                     '\n' + '/heckehatti' +
                                                     '\n' + '/reboot');
                                      

                                      }

                                      ! function sendphoto() { // Warteschleife, 2 Sekunden, damit das Bild erzeugt wird
                                      setTimeout(waittime, 2000);
                                      }
                                      ! function waittime() { // Nach der Warteschleife, sende das Bild per Telegram
                                      sendTo('telegram', "/opt/iobroker/dms?nowprofileid=1.jpg");
                                      }
                                      ! ````

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

                                        Der Docker Container läuft perfekt, vielen Dank dafür.

                                        Habe noch eine Synology-spezifische Frage: Ich möchte auch die ioBroker-Authentifikatiion zum Schutz von admin und vis in Betrieb nehmen. Wie an mehreren Stellen zu lesen ist, geht das nur in Verbindung mit "Verschlüsselung(HTTPS)" und eigenen Zertifikaten. Das funktioniert bei mir allerdings nicht, da ja die Synology die Ports 80 & 443 besetzt hat und sich darüber selbst Zertifikate über Lets encrypt beschafft.

                                        Bisher habe ich das immer gelöst, in dem ich unter Synology/Anwendungen den reverse Proxy (nginx) aktiviert habe und lasse bepielsweise nextcloud.xxx.myds.me auf den Docker-Port der Anwendung verweisen, so dass ich hier kein Zertifikat mehr benötige.

                                        Das würde ich für den ioBroker auch so machen und alles den Zugriff nur noch über die IP der Synology zu damit keiner den https umgehen kann.

                                        Wie kann ich den hhtps-Zwang für die Authentifikation befriedigen wenn ich Port 80 für iobroker nicht bereit stellen kann?

                                        Muss ich die Zertifikate etwa alle 3 Monate von der Synology in ioBroker importieren?

                                        Gruß, Ralf

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          as15 last edited by

                                          Hey! Cooles Projekt mit Docker. Funktioniert einwandfrei. Gute Anleitung!

                                          Wollte heute mal ein Update fahren. Habe aus diesem Forumsbeitrag rausgelesen, dass man folgende Kombination verwenden kann um ein Update des Containers zu machen und danach ein Update von js-controller durchführen kann:

                                          Update Container:````
                                          apt-get update
                                          apt-get upgrade

                                          
                                          Update js-controller:````
                                          pkill io
                                          npm install iobroker.js-controller –production
                                          node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
                                          
                                          

                                          Leider kommt dann folgender Fehler:````
                                          root@buanet-iobroker1:/opt/iobroker# pkill io
                                          root@buanet-iobroker1:/opt/iobroker# npm install iobroker.js-controller –product
                                          ion
                                          npm ERR! addLocal Could not install /opt/iobroker/–production
                                          npm ERR! Linux 3.10.102
                                          npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller"
                                          "–production"
                                          npm ERR! node v6.13.1
                                          npm ERR! npm v3.10.10
                                          npm ERR! path /opt/iobroker/–production
                                          npm ERR! code ENOENT
                                          npm ERR! errno -2
                                          npm ERR! syscall open

                                          npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/–producti
                                          on'
                                          npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/–producti
                                          on'
                                          npm ERR! enoent This is most likely not a problem with npm itself
                                          npm ERR! enoent and is related to npm not being able to find a file.
                                          npm ERR! enoent

                                          npm ERR! Please include the following file with any support request:
                                          npm ERR! /opt/iobroker/npm-debug.log
                                          [1]+ Exit 1 node node_modules/iobroker.js-controller/controlle
                                          r.js > /opt/scripts/docker_iobroker_log.txt 2>&1
                                          root@buanet-iobroker1:/opt/iobroker# node node_modules/iobroker.js-controller/co
                                          ntroller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
                                          [1] 10117

                                          
                                          Habt Ihr eine Idee? Danke euch!
                                          1 Reply Last reply Reply Quote 0
                                          • andre
                                            andre Developer last edited by

                                            @as15:

                                            Hey! Cooles Projekt mit Docker. Funktioniert einwandfrei. Gute Anleitung!

                                            Wollte heute mal ein Update fahren. Habe aus diesem Forumsbeitrag rausgelesen, dass man folgende Kombination verwenden kann um ein Update des Containers zu machen und danach ein Update von js-controller durchführen kann:

                                            Update Container:````
                                            apt-get update
                                            apt-get upgrade

                                            
                                            Update js-controller:````
                                            pkill io
                                            npm install iobroker.js-controller –production
                                            node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
                                            
                                            

                                            Leider kommt dann folgender Fehler:````
                                            root@buanet-iobroker1:/opt/iobroker# pkill io
                                            root@buanet-iobroker1:/opt/iobroker# npm install iobroker.js-controller –product
                                            ion
                                            npm ERR! addLocal Could not install /opt/iobroker/–production
                                            npm ERR! Linux 3.10.102
                                            npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller"
                                            "–production"
                                            npm ERR! node v6.13.1
                                            npm ERR! npm v3.10.10
                                            npm ERR! path /opt/iobroker/–production
                                            npm ERR! code ENOENT
                                            npm ERR! errno -2
                                            npm ERR! syscall open

                                            npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/–producti
                                            on'
                                            npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/–producti
                                            on'
                                            npm ERR! enoent This is most likely not a problem with npm itself
                                            npm ERR! enoent and is related to npm not being able to find a file.
                                            npm ERR! enoent

                                            npm ERR! Please include the following file with any support request:
                                            npm ERR! /opt/iobroker/npm-debug.log
                                            [1]+ Exit 1 node node_modules/iobroker.js-controller/controlle
                                            r.js > /opt/scripts/docker_iobroker_log.txt 2>&1
                                            root@buanet-iobroker1:/opt/iobroker# node node_modules/iobroker.js-controller/co
                                            ntroller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
                                            [1] 10117

                                            
                                            Habt Ihr eine Idee? Danke euch! `  
                                            

                                            Hallo,

                                            das ist kein Docker-spezifisches Problem. Dir fehlt einfach das zweite Minuszeichen im Befehl:

                                            npm install iobroker.js-controller --production
                                            
                                            

                                            MfG,

                                            André

                                            Gesendet von iPad mit Tapatalk Pro

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            907
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            buanet diskstation docker iobroker synology
                                            248
                                            2854
                                            1397955
                                            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