Homgear in docker

Hallo,
ich versuche gerade homegear in docker zum laufen zu kriegen.
dazu hab ich debian als basis genommen und und homegear aus den sourcen installiert.
Danach starte ich den container mit

[quote]docker run -ti -p 2001:2001 --name homegear -v /var/lib/homegear/:/var/lib/homegear --privileged -v /etc/homegear/physicalinterfaces.conf:/etc/homegear/physicalinterfaces.conf shb256/homegear /bin/bash
[/quote]
und danach versuche ich auf die homegear console zuzugreifen.

[quote]root@0be5aff23fc0:/# /etc/init.d/homegear start
06/22/15 10:54:27.725 Info: Loading family module mod_miscellaneous.so
06/22/15 10:54:27.733 Info: Loading family module mod_homematicwired.so
06/22/15 10:54:27.742 Info: Loading family module mod_philipshue.so
06/22/15 10:54:27.749 Info: Loading family module mod_insteon.so
06/22/15 10:54:27.758 Info: Loading family module mod_max.so
06/22/15 10:54:27.766 Info: Loading family module mod_homematicbidcos.so
06/22/15 10:54:27.776 Module HomeMatic BidCoS: LAN-Konfigurationsadapter “My-HM-CFG-LAN”: Info: Enabling AES encryption for communication with HM-CFG-LAN.
06/22/15 10:54:27.778 Info: Disposing family module mod_philipshue.so
06/22/15 10:54:27.778 Info: Disposing family module mod_miscellaneous.so
06/22/15 10:54:27.778 Info: Disposing family module mod_max.so
06/22/15 10:54:27.778 Info: Disposing family module mod_insteon.so
06/22/15 10:54:27.778 Info: Disposing family module mod_homematicwired.so
06/22/15 10:54:27.779 Info: Disposing family module mod_homematicbidcos.so
06/22/15 10:54:27.779 Info: Waiting for event threads to finish.
[…] Starting Homegear: homegear06/22/15 10:54:27.809 Loading RPC server settings from /etc/homegear/rpcservers.conf
06/22/15 10:54:27.810 Loading RPC client settings from /etc/homegear/rpcclients.conf
06/22/15 10:54:27.810 Info: Waiting for event threads to finish.
. ok
root@0be5aff23fc0:/# cat /var/log/homegear/homegear.*
06/22/15 10:54:27.895 Critical: Signal 11 received. Stopping Homegear…
06/22/15 10:54:27.812 Info: Loading family module mod_miscellaneous.so
06/22/15 10:54:27.817 Info: Loading family module mod_homematicwired.so
06/22/15 10:54:27.823 Info: Loading family module mod_philipshue.so
06/22/15 10:54:27.828 Info: Loading family module mod_insteon.so
06/22/15 10:54:27.835 Info: Loading family module mod_max.so
06/22/15 10:54:27.842 Info: Loading family module mod_homematicbidcos.so
06/22/15 10:54:27.892 Module HomeMatic BidCoS: LAN-Konfigurationsadapter “My-HM-CFG-LAN”: Info: Enabling AES encryption for communication with HM-CFG-LAN.
06/22/15 10:54:27.892 Initializing database…
06/22/15 10:54:27.894 Initializing family controller…
06/22/15 10:54:27.894 Module HomeMatic BidCoS: Loading XML RPC devices…
06/22/15 10:54:27.895 Critical: Signal 11 received. Stopping Homegear…
root@0be5aff23fc0:/# homegear -r
06/22/15 10:54:58.449 Could not connect to socket. Error: No such file or directory
06/22/15 10:54:58.450 Could not connect to socket. Error: No such file or directory
root@0be5aff23fc0:/#
[/quote]
ich weiß, dass es schon fertige container gibt, aber die sind ja für arm.
wie man sieht binde ich schon vorhanden Verzeichnisse ein. Ziel ist es die vorhanden configuration weiter zu nutzen.
hat jemand nen tipp für mich?

thx stefan

Hallo Stefan,

magst du das Image einmal Uploaden? Dann kann ich schauen, wo das Problem liegt.

Viele Grüße

Sathya

ja gerne,
findest du unter
shb256/homegear

bye
stefan

Gibts da schon was neues?

Versuche gerade homegear auf meiner Synology (Intel) ans laufen zu bringen und habe genau das selbe Problem!

Ich bin zwar noch nicht weiter aber hier ist noch das Dockerfile

[quote]root@smarthome:~/docker/homegear# cat Dockerfile
FROM debian:latest
MAINTAINER Stefan Wolf shb256@gmail.com
RUN apt-get update && apt-get install -y wget && wget homegear.eu/packages/Release.key &&
apt-key add Release.key &&
rm Release.key && echo ‘deb homegear.eu/packages/Debian/ jessie/’ >> /etc/apt/sources.list.d/homegear.list &&
apt-get update && apt-get install -y ca-certificates homegear vim
[/quote]
bei mir soll es auch auf die synology, aber den container baue ich im moment unter nen debian

bye stefan

so bin ein stück weiter,
jetzt läuft es etwas besser

hab jetzt nur die db.sql angegeben und nicht den ganzen Ordner. Damit startet es jetzt.

leider kann ich ihn noch nicht motivieren statt -ti mit -d zu starten, da beendet sich docker nach ca 10 sekunden wieder ;(

bye stefan

wenn ich es ohne -ti starte, läuft homegear an und beendet sich danach automatisch

[quote]06/28/15 08:43:50.677 Module HomeMatic BidCoS: Loading HomeMatic BidCoS device 2
06/28/15 08:43:50.678 Module Miscellaneous: Loading Miscellaneous device 3
06/28/15 08:43:50.678 Start listening for packets…
06/28/15 08:43:50.678 Initializing RPC client…
06/28/15 08:43:50.678 Starting XML RPC server RPCServer1 listening on 0.0.0.0:2001…
06/28/15 08:43:50.679 Info: Connecting to host 192.168.200.3 on port 1000…
06/28/15 08:43:50.679 Starting XML RPC server RPCServer2 listening on 0.0.0.0:2002, SSL enabled…
06/28/15 08:43:50.679 RPC Server (Port 2001): Info: RPC Server started listening on address 0.0.0.0 and port 2001
06/28/15 08:43:50.686 Starting XML RPC server RPCServer3 listening on 0.0.0.0:2003, SSL enabled, authentification enabled…
06/28/15 08:43:50.686 RPC Server (Port 2002): Info: RPC Server started listening on address 0.0.0.0 and port 2002
06/28/15 08:43:50.692 Starting CLI server…
06/28/15 08:43:50.692 Initializing event handler…
06/28/15 08:43:50.692 RPC Server (Port 2003): Info: RPC Server started listening on address 0.0.0.0 and port 2003
06/28/15 08:43:50.692 Loading events…
06/28/15 08:43:50.693 Startup complete.
06/28/15 08:43:50.695 Info: Connected to host 192.168.200.3 on port 1000. Client number is: 1
06/28/15 08:43:51.693 All physical interfaces are connected now.

############bis hier startet er bei -ti, ohne gehts mit dem folgendem output weiter und er fährt sich wieder runter

06/28/15 08:43:51.696 (Shutdown) => Stopping Homegear (Signal: 15)
06/28/15 08:43:51.697 (Shutdown) => Stopping RPC servers
06/28/15 08:43:55.686 RPC Server (Port 2001): Info: Waiting for threads to finish.
06/28/15 08:43:55.690 RPC Server (Port 2002): Info: Waiting for threads to finish.
06/28/15 08:43:55.698 RPC Server (Port 2003): Info: Waiting for threads to finish.
06/28/15 08:43:55.698 (Shutdown) => Stopping Event handler
06/28/15 08:43:55.699 Info: Waiting for event threads to finish.
06/28/15 08:43:55.699 (Shutdown) => Stopping RPC client
06/28/15 08:43:55.700 (Shutdown) => Closing physical devices
[/quote]

vieleicht hat noch jemand eine idee?

bye stefan

Hallo Stefan,

tut mir leid für die späte Antwort. Mein Rechner hat zwischenzeitlich den Geist aufgegeben und ich war damit beschäftigt, mein System neu aufzusetzen…

Jetzt habe ich es endlich auch testen können. Der Grund, weshalb du ein “Signal 11” bekommen hast, war, dass die Module in /var/lib/homegear wohl nicht kompatibel waren. Deswegen geht es jetzt auch, wenn du nur die Datenbank außerhalb des Dockersystems hast. Alternativ kannst du über “/etc/homegear/main.conf” das Modulverzeichnis auf einen anderen Pfad legen. Dann kannst du “/var/lib/homegear” komplett außerhalb des Dockersystems betreiben.

Merkwürdig ist allerdings, dass sich Homegear bei dir mit “-d” statt “-ti” direkt wieder beendet… Das tut es bei mir mit deinem Image nicht. Welche Docker-Version hast du?

Viele Grüße

Sathya

also ich habe auf meinem alten Server

[quote]root@smarthome:~# docker -v
Docker version 1.6.1, build 97cd073
[/quote]
laufen.
dort starte ich ich nun mit

[quote]docker run -tid -v /etc/homegear/physicalinterfaces.conf:/etc/homegear/physicalinterfaces.conf -v /var/lib/homegear/db.sql:/var/lib/homegear/db.sql -p 2001-2003:2001-2003 --privileged -v /var/lib/homegear/scripts/:/var/lib/homegear/scripts/ shb256/homegear[/quote] und es läuft.
nun bin ich auf meine Synology NAS umgezogen
dort hab ich fast die gleichen Einstellung

[quote]{
“cap_add” : [],
“cap_drop” : [],
“cmd” : “”,
“cpu_priority” : 0,
“enable_publish_all_ports” : false,
“enabled” : true,
“env_variables” : [],
“exporting” : false,
“id” : “1f493dfc271d500fed029eda888e5b619f3e76bdca1633797f6eceb0f64e1b27”,
“image” : “registry.hub.docker.com/shb256/homegear:latest”,
“is_package” : false,
“links” : [],
“memory_limit” : 0,
“name” : “homegear”,
“pin” : false,
“port_bindings” : [
{
“container_port” : 2003,
“host_port” : 2003,
“type” : “tcp”
},
{
“container_port” : 2002,
“host_port” : 2002,
“type” : “tcp”
},
{
“container_port” : 2001,
“host_port” : 2001,
“type” : “tcp”
}
],
“privileged” : false,
“shortcut” : {
“enable_shortcut” : false
},
“volume_bindings” : [
{
“host_volume_file” : “/docker/homegear/physicalinterfaces.conf”,
“mount_point” : “/etc/homegear/physicalinterfaces.conf”,
“type” : “rw”
},
{
“host_volume_file” : “/docker/homegear/db.sql”,
“mount_point” : “/var/lib/homegear/db.sql”,
“type” : “rw”
}
]
}
[/quote]
und das ist die Version 1.6.2

im Anhang ist das settings file noch mal, einfach in .json umbenennen und auf der NAS wieder importieren.

aber warum die module inkompatibel sind leuchtet mir nicht ein

[quote]root@smarthome:~# homegear -v
Homegear version 0.5.24
Copyright © 2013-2015 Sathya Laufer
root@smarthome:~# docker run -tid -v /etc/homegear/physicalinterfaces.conf:/etc/homegear/physicalinterfaces.conf -v /var/lib/homegear/db.sql:/var/lib/homegear/db.sql -p 2001-2003:2001-2003 --privileged -v /var/lib/homegear/scripts/:/var/lib/homegear/scripts/ shb256/homegear /bin/bash
d350793f3baf52220894bb49137c902f85e38c3acb723d9c466d1103ef6ddfc0
root@smarthome:~# homegear -v
Homegear version 0.5.24
Copyright © 2013-2015 Sathya Laufer[/quote]

ist beides die selbe version auf nem debian.

und er wollte auch nicht starten, als ich den kompletten /etc/homegear/ ordner genommen habe.

hab die aktuelle version auf docker hochgeladen, freue mich über feedback.

bye stefan
homegear.txt (1.19 KB)

Hallo Stefan,

Wenn es die gleiche Debian-Version für die gleiche CPU-Architektur ist, sollte es gehen (kann ich gerade bei mir nur schwer testen) - aber nur dann. Wenn entweder die CPU-Architektur oder die Debian-Version abweicht, geht’s schon nicht mehr. Aber so oder so sollten die Module aus dem Docker-Image geladen und nur die Daten ausgelagert werden.

Das klappt bei mir ebenfalls… Komisch. Ich habe allerdings Docker 1.7.0 hier laufen (kann ich auch sehr empfehlen, damit klappt der Image-Upload bei mir deutlich fehlerfreier).

Deine “homegear -v”-Ausgabe ist beide Male die von deinem Rechner :stuck_out_tongue:.

Auf der NAS bekommst du auch ein Signal 11? Welche Synology-NAS hast du genau?

Liebe Grüße

Sathya

vielleicht ist es eine Abweichung von der Debianversion
Auf der Synology hab ich es dann gar nicht mehr versucht.
Es ist die rs815+

Stimmt, ich depp.

Wie gesagt das Repository bei docker läuft auf nun einwandfrei auf der Synology.

Habe nun noch festgestellt, das bei meine Wandthermostaten die Uhrzeit um 2 Stunden nach geht. Ich weiß docker nutzt UTC, hab noch /etc/timezone ergänzt, bin mal gespannt wann er die Thermostate wieder updatet.

So modern bin ich noch nicht.

[quote]root@ca43dfaf28ed:/# homegear -v
Homegear version 0.5.25
Copyright © 2013-2015 Sathya Laufer
[/quote]
ist ne andere homegear version

bye stefan

Hältst du das Debian repository und die sources synchron?

Ich frage, ob es reicht den Container mit Hilfe des Repository zu bauen, oder doch lieber aus den Sourcen.

thx stefan

Hallo Stefan,

ja, Debian-Repository und Sources sind immer synchron. Das Repository hat die Änderungen natürlich etwas früher, da das Kompilieren etwas Zeit kostet.

Schön, dass jetzt alles läuft :smiley:.

Viele Grüße

Sathya