zoneminder
==========
![](https://badge.imagelayers.io/vimagick/zoneminder:latest.svg)
[ZoneMinder][1] is 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.
## docker-compose.yml
```yaml
zoneminder:
image: vimagick/zoneminder
ports:
- "127.0.0.1:8080:80"
links:
- mysql
volumes:
- ./fcgiwrap:/etc/default/fcgiwrap
restart: always
mysql:
image: mysql
volumes:
- ./mysql/my.cnf:/etc/mysql/conf.d/my.cnf
- ./mysql:/docker-entrypoint-initdb.d
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
environment:
- MYSQL_ROOT_PASSWORD=root
restart: always
```
> - `timezone = Asia/Shanghai` was hard-coded in Dockerfile.
> - Make sure two containers have the same timezone.
## fcgiwrap
```bash
FCGI_CHILDREN=4
```
## /etc/nginx/sites-enabled/default
```
server {
listen 80;
server_name zm.easypi.info;
location = / {
return 301 /zm/;
}
location /zm/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd;
proxy_pass http://127.0.0.1:8080;
}
}
```
## /etc/nginx/htpasswd
```
user:$apr1$zLX30Ahb$S0pZUiZW676E0gTplhpie0
```
## up and running
```bash
$ docker-compose up -d
```
- Open
- Add New Monitor
- Click Presets: 640x480, mpjpeg
- Change Source
- Remote Host Name: user:pass@x.x.x.x
- Remote Host Port: 8080
- Remote Host Path: /?action=stream
- Save
- Run State: Stopped -> Running
- Click `Monitor-1`
> I'm running `mjpg-streamer` on OpenWrt.
## references
-
-
-
-
-
[1]: https://www.zoneminder.com/