Grund für Docker auf dem Raspi: Unterschiedliche Anwendungen (auch meist leider unterschiedlicher Qualität) verbiegen sich das System für ihre zwecke - schwierig z.B. beim Thema Update einer einzelnen Komponente. Lösung: Trennung durch einzelne Container: einen für Loxberry, einen für HA-Bridge, einen für WLAN Controller, einen für Monitoring, einen für ApplikationXXX, etc.
Loxberry als Docker Container - /opt/loxberry/packages.txt
Einklappen
X
-
Die Heraussforderung ist hier eher die QNAP - nimm einen normalen Server Intel / AMD Server, bring den Receiver auf dem Basis-System zum laufen, dann kann man ihn auch in den Container durchreichen. Wenn man den Receiver auf der QNAP zum fliegen bringt, klappts auch im Docker container.
Grund für Docker auf dem Raspi: Unterschiedliche Anwendungen (auch meist leider unterschiedlicher Qualität) verbiegen sich das System für ihre zwecke - schwierig z.B. beim Thema Update einer einzelnen Komponente. Lösung: Trennung durch einzelne Container: einen für Loxberry, einen für HA-Bridge, einen für WLAN Controller, einen für Monitoring, einen für ApplikationXXX, etc.
-
Der Qnap ist ein normaler IntelPC und auch am "normalen" PC wüsste ich gern wo denn da die GPIO's sind. Ist schon klar, dass ich Hardware durchreichen kann. Geht so gar mit PCI, dafür muss die Hardware aber erstmal am Grundsystem vorhanden sein.Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)Kommentar
-
@sventhi: als ich meine Antwort für Andreas bzgl. GPIO geschrieben habe, war nie die Rede von einer QNAP. Auch auf der GitHub Page steht RaspberryPI (rpi) - auch in meinem Beitrag.
Richtig - die Hardware muss im Grundsystem vorhanden sein.
Richtig - ein PC oder vermutlich eine QNAP NAS haben keine GPIO PINs
Beides ist aber kein Docker-Problem.
Das wird dahingehen aber irrelevant, da das von mir bisher gebaute Dockerfile für einen Raspberry auf ARM gemacht ist. Natürlich kann dies nicht automatisch 1:1 auf einer anderen Platform genutzt werden. Da sind Anpassungen notwendig.
@Swallowtail: Ich werde das Image im DockerHub veröffentlichen, aber bis dahin muss die "Qualität" noch besser werden. Manches passt mir da noch nicht an dem Image.Kommentar
-
Ach, Dein Docker Container ist nur für den RPI ... dann erübrigen sich auch andere Dinge ;-) ich hatte es so verstanden, dass Du installscript angelegt hast. Ich bin jetzt kein Dockerkenner, doch hatte mal was gelesen, dass man da ein Projekt anlegen kann, in dem man z.B. Sagt Debian latest und dann per Anweisungen Dinge installiert/einrichtet. In so einem Fall müsste dass dann doch eigentlich Plattform unabhängig sein, oder?
Ich hab mich hier auch mal an einem Docker Container versucht. Für einen selber mag das sein, doch da hier kein reboot etc. Geht und auch kein systemctl zur Verfügung steht, ist das für Otto Normalverbraucher nicht zu gebrauchen. Habe mehr Erfolge mit einem LXC Container erzielen können, doch die sind wieder nicht so verbreitet. Habe letztlich aber auch Besonderheiten.Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)Kommentar
-
Das Dockerfile ist das Installscript und dort kannst du auch dinge nachinstallieren. Allerdings basiert der Container immer auf einem Baseimage - z.b. Debian:latest aber das ist ein x86/64 Image. Für die ARM-Plattform musst du auch ARM Baseimages nehmen. Daher sind Container nicht über CPU Architekturen hinweg compatibel.
Docker ist eigentlich auch nicht 100% dafür gemacht, bestehende Anwendungen da "reinzupressen". Je nachdem wie die Anwendung gebaut ist kann das sehr gut passen, manchmal ist einiges an Anpssung notwendig - so wie hier beim Loxberry.
Kommentar
-
Hi,
danke Michael M. das ist genau das was ich gesucht habe, bzw. ich mir gestern überlegt habe selbst zu erstellen. Allerdings wollte ich das nicht auf nem Raspi laufen lassen, sondern auf meinem Server den ich gerade aufsetze.
Ich hatte heute ein bisschen Zeit und hab das ganze auf meinem NUC mal ausprobiert und habs auch mit ein bisschen Aufwand zum laufen bekommen. Ich hab dein repo mal geforked und meine Änderung commited: https://github.com/Gagi2k/docker-rpi-loxberry. Da Raspbian noch ein paar Packete zusaetzlich zu Debian hatte, hab ich ne filter.txt angelegt, damit kann man ziemlich nahe an der original packages.txt bleiben.
Der Container hat bei mir sauber gestartet und ich konnte bisher durch das Setup laufen, zu mehr bin ich noch gekommen.
Falls Interesse besteht kann ich das Image gerne in den Docker Hub laden.
Gruss
DominikKommentar
-
ich fuchse mich gerade in meinen Qnap-Nas und Docker etc. rein. Ich würde gerne einen Unifi-Controller und den Loxberry darauf laufen lassen. Muss ich bei den Netzwerkeinstellungen bei der Installation irgendwas beachten? Ich erreiche die Dienste irgendwie nach dem Start nicht.Kommentar
-
Hi,
du musst die ports aus deinem container auch an den host weitergeben, standardmaessig ist der container voll isoliert und damit kein port freigegeben.
Das kannst du mit dem -p argument bei "docker run" angeben. https://docs.docker.com/engine/refer.../#general-form
Ansonsten kann ich dir https://www.portainer.io/ empfehlen, das ist eigentlich ganz schoen gemacht, vorallem wenn du nicht alles immer auf dem terminal machen willst.Kommentar
-
Ich erhalte beim Start immer folgenden Fehler:
Code:/run.sh: line 45: ./opt/loxberry/sbin/loxberryinit.sh: No such file or directory [ ok ] Starting periodic command scheduler: cron. /usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted) Setting ulimit failed. See README.Debian for more information. apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 3 of /opt/loxberry/system/apache2/mods-enabled/php7.0.load : Cannot load /usr/lib/apache2/modules/libphp7.0.so into server: /usr/lib/apache2/modules/libphp7.0.so: cannot open shared object file: No such file or directory Action '-D FOREGROUND' failed. The Apache error log may have more information.
Kann mir da jemand helfen?Kommentar
-
Das hatte ich letztens auch schonmal (zumindest den php7 teil), bin aber noch nicht dazu gekommen das bei mir zu fixen.
Das Problem ist das jetzt ueber git clone schon loxberry master gezogen wird (1.0), was auf (rasp)debian stretch basiert. Das Dockerfile zieht aber noch jessie und geht von Loxberry 0.2.3 aus.
Zum testen versuch einfach mal ueber "docker exec -ti <container-name> /bin/bash" direkt in die container zu gehen und das git verzeichnis auf die version 0.2.3 upzudaten (git checkout 0.2.3)
Ich schau mal ob ich das heute abend noch bei mir im git repo fixen werde und ein neues docker image hochlade.Kommentar
-
Es gibt auch immer noch den Frodo (0.2.3)-Branch, wenn ihr von dort ziehen wollt: https://github.com/mschlenstedt/Loxb...ry-0.2.3-frodoHilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraineKommentar
-
Ich bin gerade dabei einen Loxberry 1.0 Docker Container zu bauen. Christians vermutung ist richtig - es wird der falsche Branch ausgecheckt...Kommentar
-
Habe nun die ein aktualisiertes Dockerfile auf GitHub hochgeladen. Auf meinem Raspberry PI läuft der docker build durch und ich kann das Image verwenden.
Lest euch auf jeden Fall die Hinweise in der README.md durch.
Der automatische Build auf Docker Hub funktioniert noch nicht - daher müsst ihr euch das Dockerfile selbst herunterladen und dann einen Build machen.Kommentar
Kommentar