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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [HowTo] ioBroker unter Docker auf Synology DiskStation

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

      Hallo,

      Harmony läuft jetzt bei mir. 😄

      Ich habe das Harmony Paket gelöscht und iobroker runtergefahen und neu gestartet und das Harmony Paktet neu installiert.

      Danach hatte ich alle Funktionen 😄

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

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

                                            Support us

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

                                            511
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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