Docker nightlies

Hallo zusammen,

ich würde gerne homegear als MQTT-Bridge für meine existierenden Homematic-Geräte (non-IP) nutzen. Die Homematic-Geräte sind erfolgreich an einer CCU2 in Betrieb und das würde ich (zumindest kurzfristig) nur ungern ändern, da bisher alles gut funktioniert…

Dementsprechend habe ich das homegear-Docker-nightly-Image auf meinem Synology-NAS zum Laufen gebracht und konnte dort auch die Geräte wie gewünscht sehen. Leider ist die nightly-Version recht alt, also habe ich versucht, mithilfe des Dockerfiles ein eigenes Image zu erzeugen. Nachdem ich in mehreren Iterationen alle fehlenden Pakete hinzugefügt hatte, wurde das Image auch erzeugt, beim Start erhalte ich jedoch immer die Meldung “homegear: unrecognized service”, woraufhin sich der Container beendet. Ich habe es bis jetzt leider nicht geschafft, ein eigenes funktionierendes Image zu erzeugen…

Gibt es ein mit den letzten nightlies funktionierendes Dockerfile? Oder gibt es Pläne, analog zu den nightlies aktuelle Dockerimages zu erzeugen?

Viele Grüße!

Hallo zusammen,

sorry, dass ich das schon jetzt wieder hochhole, aber das Thema lässt mich nicht los.
@sathya sind die Dockerfiles von dir? Falls ja, könntest du – wenn möglich – das aktuelle Dockerfile posten, mit dem es geht oder mir einen Hinweis geben, wie ich das Problem umgehe?

Vielen Dank!

Hallo @Poquaruse,

ist wie alles auf GitHub ;-): https://github.com/Homegear/Homegear-Docker

Viele Grüße

Sathya

Ein Hinweis dazu: Docker legt für jede RUN Anweisung im Dockerfile ein “Intermediate Image” an, welches den Zustand nach der RUN Anweisung abbildet. Daher sollte man mehrere RUN-Anweisungen, die eine logische Einheit bilden zusammenfassen.

z.B. Zeilen 4-6 in rpi-stable:

aktuell:

RUN wget https://homegear.eu/packages/Release.key && apt-key add Release.key && rm Release.key
RUN echo 'deb https://homegear.eu/packages/Raspbian/ stretch/' >> /etc/apt/sources.list.d/homegear.list
RUN apt-get update && apt-get -y install homegear homegear-nodes-core homegear-nodes-extra homegear-homematicbidcos homegear-homematicwired homegear-insteon homegear-max homegear-philipshue homegear-sonos homegear-kodi homegear-ipcam homegear-beckhoff homegear-knx homegear-enocean homegear-intertechno homegear-zwave homegear-mbus homegear-ccu2 homegear-influxdb

Aber weil die Zeilen die Installation von Homegear bewirken, sollte man sie zusammenfassen, damit nur ein Image angelegt wird.

RUN \
  wget https://homegear.eu/packages/Release.key && \
  apt-key add Release.key && \
  rm Release.key && \
  echo 'deb https://homegear.eu/packages/Raspbian/ stretch/' >> /etc/apt/sources.list.d/homegear.list && \
  apt-get update && apt-get -y install homegear homegear-nodes-core homegear-nodes-extra \
    homegear-homematicbidcos homegear-homematicwired homegear-insteon homegear-max \
    homegear-philipshue homegear-sonos homegear-kodi homegear-ipcam homegear-beckhoff \ 
    homegear-knx homegear-enocean homegear-intertechno homegear-zwave homegear-mbus \
    homegear-ccu2 homegear-influxdb

Gruß

m0wlheld

1 Like

damit nur ein Image angelegt wird.

Das ergibt total Sinn und ich hab’s gleich mal geändert ;-).

Hallo @sathya,

danke für die Antwort! Das Dockerfile im git hatte ich bereits gesehen.
Leider gibt es aber auch mit dem aktualisierten nightly-Dockerfile noch Probleme. Zunächst fehlen diverse Bibliotheken

“dpkg: dependency problems prevent configuration of homegear:
homegear depends on libedit2 (>= 2.11-20080614); however:
Package libedit2 is not installed.
homegear depends on libenchant1c2a (>= 1.6.0); however:
Package libenchant1c2a is not installed.
homegear depends on libltdl7 (>= 2.4.6); however:
Package libltdl7 is not installed.
homegear depends on libmariadbclient18 (>= 5.5.36); however:
Package libmariadbclient18 is not installed.
homegear depends on libxml2 (>= 2.9.0); however:
Package libxml2 is not installed.
homegear depends on libxslt1.1 (>= 1.1.25); however:
Package libxslt1.1 is not installed.
homegear depends on unzip (>= 6.0); however:
Package unzip is not installed.
homegear depends on p7zip-full (>= 9.0); however:
Package p7zip-full is not installed.
homegear depends on procps; however:
Package procps is not installed.
homegear depends on libqdbm14; however:
Package libqdbm14 is not installed.
homegear depends on ntp; however:
Package ntp is not installed.”

was natürlich angemerkt wird, dann taucht die Meldung

“Errors were encountered while processing:
homegear
E: Sub-process /usr/bin/dpkg returned an error code (1)”

auf. Beim Versuch, den Container dennoch zu starten kommt u.a.

“homegear: unrecognized service
homegear-influxdb: unrecognized service”

und erwartungsgemäß funktioniert der Container nicht…

Wäre es ggf. möglich, regelmäßig die Nightly auf https://hub.docker.com/r/homegear/homegear/ zu pushen? Dort ist zurzeit eine 25 Tage alte Version.

Viele Grüße

Inzwischen sollte es aber wieder klappen - hoffentlich :-P.