A full-featured, open source, state-of-the-art video surveillance software system.
Monitor your home, office, or wherever you want. Using off the shelf hardware with any camera, you can design a system as large or as small as you need
Ubuntu 16.04 LTE, Zoneminder 1.30.4 and MariaDB. Cambozola not included.
Change these settings in ZM options:
FFMPEG_OUTPUT_OPTIONS= -r 30 -vcodec libx264 -threads 2 -b 2000k -minrate 800k -maxrate 5000k
FFMPEG_FORMATS= mpg mpeg wmv asf mp4* avi mov swf 3gp
Next to ffmpeg_formats, add mp4 (you could also add a star after mp4 and remove the star after avi to make mp4 the default format)
Live view in UI:
Change in ZM options:
Data are stored outside container (same settings as in aptalca/zoneminder image)
How to run:
docker create -p 8080:80 --name=zoneminder --shm-size=4096m --restart=unless-stopped -p 6802:6802 -v /path_to_storage:/config:rw -v /path_to_tmp:/tmp:rw -e TZ="Europe/Riga" gkirsteins/zoneminder
-p 8080:80 - web service port (you could use whatever you want instead of 8080)
--name=zoneminder - just conatainers name
--shm-size=4096m - amount of RAM used for mapped memory files that that ZoneMinder can use.
-v /path_to_storage:/config:rw - where all data are stored
-v /path_to_tmp:/tmp:rw - if you have fast SSD you can use it for tmp files, otherwise not use this setting.
--restart=unless-stopped - self explanatory
-p 6802:6802 - this is needed if you are using external source to trigger alarms, also you should switch OPT_TRIGGERS to 'on' in zm settings. To trigger alarm from outside i use CLI command:
echo "7|on+5|6|couse|text|show text" | netcat 192.168.66.120 6802
7 = monitor ID
on+5 = time for alarm
6 = alarm score
-e TZ="Europe/Riga" - list of supported timezones you could find here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
gkirsteins/zoneminder - this image (latest) or you could add other available tag
www = http://host_ip:port/zm/
To change Zoneminder state from outside the container use cmd:
docker exec zoneminder /usr/bin/zmpkg.pl Daytime
To login into container use cmd:
docker exec -it zoneminder /bin/bash
To check logs use cmd:
docker logs zoneminder or docker logs zoneminder -f