I’ve been using ZM for years too but I used it natively installed into Ubuntu for most of that time. I can confirm that it is extremely stable you just need some CPU power to crunch the images. About a two years ago I started getting into docker and I eventually realized there were several docker containers for ZM and around then I transitioned my natively installed version to a docker.
That was the best thing because upgrading ZoneMinder has always been a difficult chore for me. Docker takes much of the pain out of it because it won’t affect the system at large. About 2 months ago I found dlandon/zoneminder which is a ZoneMinder docker with built-in ML support for object detection (THIS HAS MQTT!!).
I used to have an HA automation that would watch the number of captures and if it incremented, I would notify my phone with something like “Front Door camera captured motion events 2=>3”. Anyway, this wasn’t very reliable but it mostly worked. I’ve used it like that for about a year.
I get a lot of spider webs and bugs that love to fly in front of the cameras triggering them throughout the day and night. Because the dlandon ML integration includes MQTT you can set it up to only push an MQTT event on successful object/face/license plate detection otherwise it still records to ZM but doesn’t create an MQTT message. I used to get notifications for all of the bugs and webs but now with object detection and MQTT I only get captures for stuff I care about. It’s much quicker alert and more reliable.
The thing I like most is that the capture image for the ML analysis gets saved with the detection zones. This last weekend I was able to revamp the HA ZM notifications and include the image in my notification! So now, when the camera is triggered, the ML fires up and does analysis on both the highest score alarm and snapshot frame, if it detects something then it sends an HTML5 notification with the details of the detection and the processed image. For example…
On my computer:
On my phone:
I’ve noticed that the notification happens within 30-60 seconds of the capture starting which is a big improvement to the previous notification methodology I was using. Anyway, I know ZM isn’t perfect and the built-in detection feels very dated but the zone setup does do a pretty good job of capturing stuff you care about with this ML integration.
FWIW: My ZM server hosts 6 cameras, they’re all Reolink cameras (RLC-410/RLC-511/RLC-520) and the server sits at a constant load of between 3 and 4 doing detection all day long. All are throttled to 10fps at 1280x720 or 1280x960 depending on the camera’s model. The captures are very high quality and with these settings I could record continuous days of data (maybe weeks) with the storage behind it if needed.