Raspberrymatic als Docker im Proxmox-lxc-Container

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
agen
Beiträge: 39
Registriert: 11.03.2008, 09:28
Danksagung erhalten: 2 Mal

Raspberrymatic als Docker im Proxmox-lxc-Container

Beitrag von agen » 19.04.2021, 14:43

Hallo zusammen,

als echter Fan von Raspberrymatic hat mich die ressourcenintensive "Vollvirtualisierung" mit KVM immer etwas gestört. (Sie hat zweifellos selbstverständlich auch schöne Vorteile wie z.B. das einfache Update !).

Nachdem ich mittlerweile alles über Proxmox-lxc-container (auf 2 x Odroid H2) umgesetzt hatte, bin ich "gezwungenermassen" auf Debmatic umgestiegen (auch ein ganz tolles Projekt - mit super Hardware). Nachdem Raspberrymatic auch als Docker-Image vorliegt lag es nahe dies in die Umgebung zu integrieren - hierzu gibt es zwei Optionen - einmal als Docker auf dem Proxmox-Host - oder als Docker IN einem lxc-container.

Bei der lxc-Lösung ist die Herausforderung die richtige lxc-container Konfiguration zu finden damit das Raspberrymatic-Image läuft (Rechte...) und dann auch noch problemlos auf die Homematic-Hardware über den Proxmox-Host zuzugreifen kann.

Mittlerweile habe ich das Ganze stabil zum laufen gebracht (mit HB-RF-ETH (für HM und HM-IP), HM-LANGW, HM-WIRED-GW, RPI-als LAN-GW) !

1. Setup der HM-Hardware auf dem Host - über die Beschreibung von Debmatic https://github.com/alexreinert/debmatic ... proxmox.md
nur mit einer kleinen Korrektur: die Proxmox-header müssen über

Code: Alles auswählen

apt install pve-headers-`uname -r` pve-headers
statt

Code: Alles auswählen

apt install pve-headers
2. Danach einen neuen Proxmox-lxc-Container anlegen (ich habe dazu einen aktuelle Debian genommen)
dann auf dem Host unter "/etc/pve/lxc/<container-nr>.conf anpassen:

Code: Alles auswählen

arch: amd64
cores: 2
hostname: HMDock
memory: 1024
net0: name=eth0,bridge=vmbr0,gw=10.90.1.1,hwaddr=01:A3:87:7D:E7:60,ip=10.90.1.2/24,type=veth
ostype: debian
rootfs: MZ-1TB:subvol-111-disk-0,size=8G
swap: 0
lxc.cap.drop: 
lxc.cgroup.devices.allow: a
lxc.apparmor.profile: unconfined
lxc.hook.mount: /usr/share/debmatic/bin/lxc-start-hook.sh
dazu müssen nur die Zeilen mit lxc. angehängt werden, der Rest wird über Proxmox-generiert.

3. Der Docker Installationsanleitung von Raspberrymatic folgen !

Ich benutze die "Docker Load-Variante"- danach den Container mit

Code: Alles auswählen

docker run --tty --interactive --name ccu -v /dev:/dev --volume=ccu_data:/usr/local:rw --volume=/lib/modules:/lib/modules:ro --publish=8080:80 --publish=2000:2000 --publish=2001:2001 --publish=8181:8181 --publish=2010:2010 --privileged --restart=always --stop-timeout=30   --hostname homematic-raspi raspberrymatic:amd64-3.57.4.20210320
starten (die weiteren Portfreigaben sind nur notwendig, wenn die Funktionen von "ausserhalb" benötigt werden.

wichtig ist das Ddurchreichen des lcx-dev Verzeichnisses : -v /dev:/dev damit die entsprechenden Devices (raw-uart, eq3_loop ...) an den Docker-Container durchgereicht werden.

Danach solle es so aussehen (der LED-fehler ist einfach zu ignorieren)

Code: Alles auswählen

Identifying onboard hardware: oci, OK
Initializing RTC Clock: no hardware found
Running sysctl: OK
Checking for Factory Reset: not required
Checking for Backup Restore: not required
Initializing System: ln: /dev/raw-uart: File exists
ln: /dev/raw-uart1: File exists
ln: /dev/eq3loop: File exists
ln: /dev/mmd_bidcos: File exists
ln: /dev/mmd_hmip: File exists
OK
Starting logging: OK
Populating /dev using udev: done
Init onboard LEDs: init, OK
Starting irqbalance: OK
Starting network: eth0: link up, fixed, firewall, inet up, 172.17.0.2, OK
Identifying Homematic RF-Hardware: ...../etc/init.d/S47InitRFHardware: line 367: can't create /sys/bus/platform/drivers/leds-gpio/unbind: nonexistent directory
/etc/init.d/S47InitRFHardware: line 378: can't create /sys/bus/platform/drivers/leds-gpio/bind: nonexistent directory
modprobe: can't change directory to '5.4.106-1-pve': No such file or directory
HmRF: RPI-RF-MOD/HB-RF-ETH@10.90.1.222, HmIP: RPI-RF-MOD/HB-RF-ETH@10.90.1.222, OK
Updating Homematic RF-Hardware: RPI-RF-MOD: 4.2.14, OK
Starting hs485dLoader: OK
Starting xinetd: OK
Starting eq3configd: OK
Starting lighttpd: OK
Starting ser2net: disabled
Starting ssdpd: OK
Starting sshd: OK
Starting NUT services: disabled
Initializing Third-Party Addons: OK
Starting LGWFirmwareUpdate: .cryptEnabled true.cryptEnabled true.cryptEnabled trueOK
Setting LAN Gateway keys: OK
Starting hs485d: OK
Starting multimacd: .OK
Starting rfd: ...OK
Starting HMIPServer: ........OK
Starting ReGaHss: .OK
Starting CloudMatic: OK
Starting Third-Party Addons: OK
Starting crond: OK
Setup onboard LEDs: booted, OK
Viel Spass beim Nachbauen ;-)


agen

Antworten

Zurück zu „RaspberryMatic“