1 | version: '2'
|
2 | services:
|
3 | db:
|
4 | image: mysql:5.6
|
5 | restart: always
|
6 | volumes:
|
7 | - ./sql/docker:/docker-entrypoint-initdb.d:ro
|
8 | - ./dbdata:/var/lib/mysql
|
9 | environment:
|
10 | MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
11 | MYSQL_USER: ${MYSQL_USER}
|
12 | MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
13 | MYSQL_DATABASE: ${MYSQL_DATABASE}
|
14 | camera:
|
15 | depends_on:
|
16 | - "db"
|
17 | command: /usr/bin/node /opt/shinobi/camera.js
|
18 | build:
|
19 | context: .
|
20 | restart: always
|
21 | environment:
|
22 | ADMIN_PASSWORD: ${ADMIN_PASSWORD}
|
23 | MYSQL_HOST: ${MYSQL_HOST}
|
24 | MYSQL_DATABASE: ${MYSQL_DATABASE}
|
25 | MYSQL_USER: ${MYSQL_USER}
|
26 | MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
27 | TIMEZONE_OFFSET: ${TIMEZONE_OFFSET}
|
28 | ports:
|
29 | - 8080:8080
|
30 | volumes:
|
31 | - ./videos:/opt/shinobi/videos
|
32 | links:
|
33 | - db:db
|
34 | cron:
|
35 | depends_on:
|
36 | - "db"
|
37 | command: /usr/bin/node /opt/shinobi/cron.js
|
38 | build:
|
39 | context: .
|
40 | restart: always
|
41 | environment:
|
42 | MYSQL_HOST: ${MYSQL_HOST}
|
43 | MYSQL_DATABASE: ${MYSQL_DATABASE}
|
44 | MYSQL_USER: ${MYSQL_USER}
|
45 | MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
46 | TIMEZONE_OFFSET: ${TIMEZONE_OFFSET}
|
47 | links:
|
48 | - db:db
|
49 | volumes:
|
50 | - ./videos:/opt/shinobi/videos
|
51 | motion:
|
52 | depends_on:
|
53 | - "db"
|
54 | command: /usr/bin/node /opt/shinobi/plugins/motion/shinobi-motion.js
|
55 | build:
|
56 | context: .
|
57 | restart: always
|
58 | environment:
|
59 | MYSQL_HOST: ${MYSQL_HOST}
|
60 | MYSQL_DATABASE: ${MYSQL_DATABASE}
|
61 | MYSQL_USER: ${MYSQL_USER}
|
62 | MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
63 | TIMEZONE_OFFSET: ${TIMEZONE_OFFSET}
|
64 | links:
|
65 | - db:db
|
66 | volumes:
|
67 | - ./videos:/opt/shinobi/videos
|