Videoüberwachung im Smarthome

Es gibt bestimmt unzählige ähnliche Artikel. Bei der Umsetzung bin ich jedoch leider auf Probleme gestoßen, dessen Lösung ich nicht auf Anhieb per Web-Recherche finden konnte. Die Ansätze möchte ich daher hier erwähnen. Ziel ist es, eine Videoüberwachung im Docker Swarm laufen zu lassen und z.B. mit node-red zu interagieren.

Gestartet bin ich anfangs mit einer Kamera, der ich per Shell-Script unter bestimmten Umständen Einzelbilder abgelukst habe um sie zu speichern und am Ende des Tages in ein Video zusammenzufassen.

Zwischenzeitlich habe ich auch mal Zoneminder ausprobiert, vermutlich nicht konsequent genug.

Bei der Ablösung meiner historisch gewachsenen shell-script-Sammlung durch node-red suchte ich ein Möglichkeit Bilder der Kamera per Pushover zu versenden oder zumindest strukturiert zu speichern. Es gibt tatsächlich einen NVR für IP-Kameras komplett in node-red umgesetzt.

So kam ich dazu wieder Zoneminder auszuprobieren. Diesmal im Docker, verteilt, redundant,… Quantumobject hat eine Variante mit Loadbalancer, SQL-DB, Web und Stream Container im Docker-Hub. Klingt erstmal super, habe ich aber leider nicht zum Laufen bekommen.

Back to the basics….

Ich habe mir dann ein einfaches Dockerimage von Zoneminder gsucht und es erstmal so in einen Stack verpackt, damit es wenigstens redundant im Swarm läuft.

Soweit so gut. Das erste Problem war dann jedoch die SHM-SIZE. Die von Docker standardmässig zugeteilte Größe (64MB) reicht für Zoneminder nicht aus. Zoneminder funktioniert dann nicht.

Also muss man im docker-compose.yml diesen Wert anpassen.

Aber wie?

Die in der Dokumentation (Docker Compose Reference) und diversen Foren benannten Parameter zeigten leider kein Änderung:

SHM-SIZE: '2GB'

Selbst wenn ich den Stack vorher komplett entfernt und neu deployed habe.

Hier bin ich dann jedoch auf einen Workarround gestoßen, der wie folgt aussieht:

Ind er Section „volumes“ trägt man zu seinen definierten persistenten Volumes das hier ein:

  - type: tmpfs
    target: /dev/shm
    tmpfs:
       size: 2048000000

Und zack, sieht die Welt hier schon etwas besser aus:

Sicher kann man den Wert noch etwas optimieren, aber zumindest steht hier nun nicht mehr dauerhaft in rot /dev/shm: 100%

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert