My implementation of Motion-Project/motion in Docker, including some scripts for ease of event integration.
My work in here is under the MIT license, so you can do with it what you will, even comercially if you like- however please note that Motion-Project/motion appears to be under under GPL-2.0 license which will likely limit your ability to do that.
A running instance of motion-cctv
consists of the following:
- A Docker container with a Supervisor entrypoint, managing:
- In the
configs
foldermotion.conf
- a basic configuration that suits my use case
camera1.conf
,camera2.conf
,camera3.conf
- configurations for my 3 x Hikvision DS-2CD1H41WD-IZ cameras
- In the
res
folderconfig.py
- HTML templates for
event_parser.py
- HTML templates for
event_parser.py
- parses pictures and movies from
target_dir
and buildsevents.html
- parses pictures and movies from
event_parser_loop.py
- runs
event_parser.py
on a 60-second loop
- runs
event_parser_test.py
- unit tests for
event_parser.py
- unit tests for
index.html
- landing page
motion-cctv.conf
supervisor
configuration for all the processes
nginx.conf
nginx
web server configuration
- Define your
cameraN.conf
files - Adjust
motion.conf
to suit - Download the repo
./get.sh
- Build the image
./build.sh
- Run the instance in the foreground (you'll likely need to adjust the volumes)
./run.sh
- Browse to http://localhost and have a click around
If you want to run the instance in a more productionized way then run_in_background.sh
shows a suitable example (but again, you'll need to adjust the volumes).