Ankündigung

Einklappen
Keine Ankündigung bisher.

SmarthomeNG als Docker auf Synology

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Hallo,

    ok. Das schaffen wir schon. Wärst du bereit, wenn es geklappt hat ein How-To ins Wiki zu stellen?
    Bitte guck mal, ob die Synology Docker-Compose unterstützt. Laut https://www.thomas-krenn.com/de/wiki...ager_(DSM)_6.0 sollte sie das. Ich kann dazu aber keine Dokumentation finden. Wenn nicht, geht es auch ohne. Mit wäre es aber weniger Arbeit.

    Gruß,
    Hendrik

    Kommentar


      #17
      Ja, ich würde eine Anleitung erstellen.
      Docker-Compose wird denke ich schon bei Synology unterstützt. Zumindest steht teilweise etwas im Synology Forum.

      http://www.synology-forum.de/showthr...cker-Container
      http://www.synology-forum.de/showthr...kete-in-Docker

      Kommentar


        #18
        Gitarrenflo ich verstehe noch nicht so 100% die Probleme. Du musst doch nur via Gui das Image reinziehen und die entsprechenden Parameter setzen?!

        Kommentar


          #19
          Wunderbar.
          kannst du docker-compose auf der Kommandozeile der Synology aufrufen?

          Gruß,
          Hendrik

          Kommentar


            #20
            psilo Ich denke, das Problem ist, dass er sich nicht bewusst ist, dass ein Container erstmal keinen Kontakt zur Außenwelt hat.

            @Flo:
            Wir müssen als nächstes den Kontakt zur Außenwelt herstellen. Dazu müssen Verzeichnisse und Ports gemappt werden. "Mappen" bezieht sich darauf, dass man einen Port/Verzeichnis im Container mit einem Port/Verzeichnis auf dem Host (Synology) verbindet.
            Beispiel:
            /srv/MeineDaten/smarthome/konfiguration/smarthome-ng/etc:/usr/local/smarthome/etc
            sorgt dafür dass die Daten die in /srv/MeineDaten/smarthome/konfiguration/smarthome-ng/etc liegen im Container unter /usr/local/smarthome/etc gefunden werden.

            In der docker-compose.yml sind all diese Mappings schon vor-definiert. Du musst nur noch die Pfade anpassen.
            Folge doch einfach dieser Anleitung 1:1 (erstmal ohne das GUI der Synology zu nutzen).
            Wenn es da irgendwelche Fragen gibt, lösen wir die hier. Wenn das erstmal läuft, können wir das auch noch über das GUI machen.

            Gruß,
            Hendrik






            Kommentar


              #21
              henfri unter der Syno ist das mit einem Klick beim Erzeugen des Containers im Reiter Netzwerk (Option "Dasselbe Netzwerk wie Docker Host verwenden") getan

              Kommentar


                #22
                @psilo: Für die Ports:ja (wobei das wohl auch nicht im Sinne des Erfinders).
                Für die Daten musst du aber mappen (oder?).

                Kommentar


                  #23
                  henfri ich mappe halt via gui den folder rein..

                  gg.PNG

                  Kommentar


                    #24
                    Ok.
                    Beides geht. Bei docker-compose muss ich weniger erklären und ich habe es so getestet.
                    @Flo: Was du wie mappen musst steht in der docker-compose.yml.
                    Die Ports kannst du mappen oder einfach "Dasselbe Netzwerk wie Docker Host verwenden" wählen.


                    Gruß,
                    Hendrik
                    Zuletzt geändert von henfri; 11.10.2017, 18:11.

                    Kommentar


                      #25
                      Also ich glaube das mit dem "Dasselbe Netzwerk wie Docker Host verwenden" hat geklappt.
                      selbe Netzwerk.JPG

                      Ob das mit
                      "kannst du docker-compose auf der Kommandozeile der Synology aufrufen?"
                      geklappt hat, bin ich mir unsicher.

                      Meinst du diesen Befehl?
                      "curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose"

                      Wenn ich das über den I-Browser im Terminal eingebe tut sich irgendwie nichts.

                      terminal.JPG

                      Wenn ich den Befehl über Putty eingebe, macht er zumindest etwas. Passt das?
                      putty.JPG

                      Irgendwie mag er aber den apt-get Befehl nicht:
                      apt.JPG

                      Grüße
                      Flo

                      Kommentar


                        #26
                        die synology hat kein apt-get, sondern nur ein IPKG und das auch nicht von haus aus. Das sind aber 3rd Party Tools und Du kannst damit ziemlich viel Mist auf deiner Synology machen, wenn Du Dich nicht auskennst. Zudem kann IPKG nicht alle Pakete, die apt-get hätte.

                        Daher wird das auf diese Weise schlichtweg nicht gehen. versuche es also wie nun schon mehrfach geraten ausschliesslich via GUI hinzubekommen. sonst machst Du da am Ende mehr kaputt als dir lieb ist - Vor allem, wenn du nicht verstehst, was du da ausführst.. Der Befehl den Du gepostest hast ist natürlich auch für das HOST-System gewesen, geht aber
                        ​​aber nur unter einen "normalen" Linux und nicht der Synlogy DSM.

                        In den Containern von Henfri kannst Du eigentlich gar nicht auf die Shell. In einem Docker Container ist normal ein Tool drin (ein Prozess) das Du nutzt. Also einer für KNXD, einer für SmartHomeNG, einer für die SmartVISU. Du konfigurierst ihn und das Ding startet automatisch. Oft mappst Du nur noch Dateien aus dem Host-System dazu, bei SmarthomeNG bpsw die von Dir genutzten Plugins oder Konfigurationsdateien. Die Anleitung bspw. bei https://github.com/henfri/docker/tree/master/knx hilft Dir unter Synology also so gut wie NICHTS, weil sie dort nicht funktioniert!

                        So gut wie nichts, aber doch ein bischen was, weil:
                        Für den KNXD musst Du bspw nur in https://github.com/henfri/docker/blo...nxd/Dockerfile schauen, und das was hier als CMD Befehlt stehlt in der GUI von Synology unter Ausführungsbefehl als Befehl eingeben. Du musst den Befehl dafür aber umbauen!.
                        Bei SmartHomeNG steht analog der Befehl unter https://github.com/henfri/docker/blo...-ng/Dockerfile

                        Zudem musst Du aus "sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && " Umgebungsvariablen ableiten für die LOCALE Einstellungen. Beides gibt man in der GUI dann hier ein. Aber 1:1 darfst Du das natürlich nicht da reinpasten. Du musst es schon umbauen!
                        ausführungsbefehl.PNG

                        Beim KNXD steht da sogar schon toll das hier drin:
                        ausführungsbefehl2.PNG
                        Das musst Du nun halt auf Dein Setting justieren, bspw. bei der IP Addresse.

                        Ganz ehrlich: wenn Du mit den Shell-Befehlen vom Verständnis nicht klarkommst und Dir auch gar nicht bewusst war, dass es auf Synology kein apt-get gibt, vermute ich, dass es einfacher wäre, wenn Du Docker entgegen seinem eigentlichen Zweck "missbrauchst" und so wie ich ein Debian Image nimmst und in diesem Container nach Komplettanleitung alles installierst. Dann hast du auch Shell-Zugriff.
                        Zuletzt geändert von psilo; 14.10.2017, 07:16.

                        Kommentar


                          #27
                          Hi Psilo,

                          welches Debian Docker-Image hast du im Einsatz?

                          Du meinst diese Anleitung, oder?
                          https://github.com/smarthomeNG/smart...plettanleitung

                          In der Anleitung stehen auch einige sudo, apt-get Befehle. Funktionieren die dann, da ich das Debian drauf habe? Muss ich dann noch etwas einrichten, dass ich über SSH auf den Debian Container zugreifen kann?

                          Kommentar


                            #28
                            Das offizielle debian:stretch Image

                            Zugriff auf die Shell, wie bereits weiter vorne gesagt, direkt in der Docker GUI oder in dem Du auf das NAS via ssh einloggst und mit "docker attach <name>" in die shell des containers wechselst. (https://blog.pavelsklenar.com/how-to...r-on-synology/)

                            Ob die komplettanleitung in https://github.com/smarthomeNG/smart...plettanleitung 100% identisch auf dem docker container funktioniert, weiss ich auch nicht wirklich... Ich habe nur SmartHomeNG im Container eingerichtet, den git checkout habe ich dabei in eine der Synology-Freigaben mit Sourcetree unter Windows gemacht (/volume1/python). Diese mappe ich in den Debian Container. Vorteil: ich code unter windows mit PyCharm direkt auf dem Projekt und kann im Container einfach nur SmartHomeNG durchstarten. Als properties des containers musste ich noch die locales setzen:
                            locale.PNG

                            Für KNXD nutze ich den Container von henfri (das ging relativ schnell bis das lief) und die smartVISU liegt direkt auf der Synology im Webspace.
                            Zuletzt geändert von psilo; 15.10.2017, 08:02.

                            Kommentar


                              #29
                              Hallo zusammen,

                              ich wollte fragen, ob es schon eine gute Anleitung gibt, ansonsten würde ich gerne auch mithelfen.
                              Ich bin halt blutiger Anfänger was Docker betrifft und möchte das innerhalb Synology zum Laufen bringen.

                              Runtergeladen hab ich SmarthomeNG und knxd von henfri, smartvisu habe ich 2 gefunden (welche ist besser?)

                              Dann hab ich starten probiert, bei 2 geht das, bei den anderen nicht.

                              Wie komme ich jetzt zur Konfiguration?

                              danke!



                              You do not have permission to view this gallery.
                              This gallery has 1 photos.

                              Kommentar


                                #30
                                Hallo,
                                nein, es gibt noch keine Anleitung.
                                Ich weiß nicht, welcher Docker-Container für die Smartvisu besser ist.

                                Ganz ehrlich: Ich halte es für die einfachste Möglichkeit einfach docker-compose zu verwenden und dann meiner weiter oben verlinkten Anleitung zu folgen.
                                Das umgeht aber das Synology GUI. Dafür musst du aber eben nur der Anleitung folgen (die aber für Debian geschrieben ist; also musst du schon eine Übertragungsleistung bringen, da wo docker-compose installiert wird und die Installation von docker selbst überspringen).

                                Wenn du das nicht willst:
                                Der Container ist erstmal komplett isoliert. Du muss nun die Verzeichnisse, die du verändern willst (/usr/local/smarthome/etc , ./var ./ items ./logics, ...) in den Container mappen. Das geht im Docker Gui.
                                Mappen bedeutet z.B. dass
                                /pfad/zu/meiner/sh_config/etc nach /usr/local/smarthome/etc im Container eingebunden wird. Jede Änderung in /pfad/zu/meiner/sh_config/etc wird im container in /usr/local/smarthome/etc sichtbar.

                                Welche Pfade gemappt werden müssen/sollten ist eigentlich klar, wenn man sh.py kennt. Ansonsten einfach in meine docker-compose.yml gucken.


                                Bitte erst knxd, dann sh.py und dann erst die smartvisu angehen.
                                Und vorher bitte auch mit den Grundlagen von Docker vertraut machen. Z.B. gab es in der c't kürzlich einen Artikel dazu. Kostet zwar vielleicht 1-2€ im Online-Kiosk, spart aber Zeit.

                                Gruß,
                                Hendrik

                                Kommentar

                                Lädt...
                                X