blog.hypfer.de

GitHub Twitter RSS

Home Assistant: net rpc shutdown in Docker

Die WoL Component von Home Assistant wäre nicht vollständig, wenn sie nicht auch dazu taugen würde den Rechner wieder auszuschalten.

Für einen Windows host geht dies über das Netzwerk mittels net rpc shutdown. Diese Binary ist Teil von samba-common-bin.
samba-common-bin ist jedoch nicht Teil des offiziellen Docker-Images von Home assistant :-/

Wie also das Problem lösen?

Was ist die einfachste Möglichkeit eine Binary ohne weitere Abhängigkeiten zu bekommen? Richtig. Statisch kompilieren.

Mehr als 2h später hatte ich dann auch eine pseudo-statische net binary, welche ich innerhalb des Docker Images mittels mount verfügbar machen konnte.
Shutdown funktioniert. Alles super. Schlafen.

Am nächsten Morgen fiel mir dann auf, dass ich ja Docker nutze und das ganze doch eigentlich viel einfacher gehen müsste.

Und in der Tat:
Jo, geht viel einfacher.

FROM homeassistant/home-assistant:latest
RUN apt-get update && apt-get install -y samba-common-bin

custom_homeassistant.dockerfile

Die CMD Direktive (welche Home assistant startet), sowie auch alle weiteren RUN Kommandos werden natürlich vom offiziellen Image vererbt.

Hätte mir doch nur jemand früher gesagt, dass ich Docker nutze.

version: '2'
services:
homeassistant:
build:
context: .
dockerfile: custom_homeassistant.dockerfile

Bonus: docker_compose.yaml