v1.1.0 : Updated deployment
This commit is contained in:
@@ -18,7 +18,10 @@ RUN apt-get update && apt-get install -y \
|
||||
ADD cameradar_*_Release_Linux.tar.gz /
|
||||
RUN mv cameradar_*_Release_Linux cameradar
|
||||
|
||||
RUN mkdir /conf
|
||||
ADD run.sh /run.sh
|
||||
COPY conf /cameradar/conf
|
||||
|
||||
CMD ["/run.sh"]
|
||||
COPY docker-entrypoint.sh /usr/local/bin/
|
||||
RUN ln -s /usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
|
||||
CMD ["/cameradar/bin/cameradar", "-c", "/cameradar/conf/cameradar.conf.json"]
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"mysql_db" : {
|
||||
"host" : "__MYSQL_ADDR__",
|
||||
"port" : __MYSQL_PORT__,
|
||||
"user": "root",
|
||||
"password": "root",
|
||||
"db_name": "cmrdr"
|
||||
},
|
||||
|
||||
"subnets" : "localhost",
|
||||
|
||||
// If not specified, will scan all ports (1-65535)
|
||||
"ports" : "554,8554",
|
||||
"rtsp_url_file" : "conf/url.json",
|
||||
"rtsp_ids_file" : "conf/ids.json",
|
||||
|
||||
// You must give an accessible path to an already existing directory
|
||||
"thumbnail_storage_path" : "/tmp",
|
||||
|
||||
// This is the path that will be used in the Docker container
|
||||
// if you're not familiar with Docker, only change the
|
||||
// cache_manager_name value
|
||||
"cache_manager_path" : "/cameradar/cache_managers",
|
||||
"cache_manager_name" : "mysql"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"mysql_db" : {
|
||||
"host" : "cameradar-database",
|
||||
"port" : 3306,
|
||||
"user": "root",
|
||||
"password": "$MYSQL_ROOT_PASSWORD",
|
||||
"db_name": "cmrdr"
|
||||
},
|
||||
"subnets" : "$CAMERAS_SUBNETWORKS",
|
||||
"ports" : "$CAMERAS_PORTS",
|
||||
"rtsp_url_file" : "/cameradar/conf/url.json",
|
||||
"rtsp_ids_file" : "/cameradar/conf/ids.json",
|
||||
"thumbnail_storage_path" : "/tmp/thumbs",
|
||||
"cache_manager_path" : "/cameradar/cache_managers",
|
||||
"cache_manager_name" : "$CACHE_MANAGER"
|
||||
}
|
||||
@@ -1,16 +1,26 @@
|
||||
cameradar:
|
||||
build: .
|
||||
dockerfile: Dockerfile
|
||||
env_file: env_file
|
||||
volumes:
|
||||
- "./conf:/tmp/conf:ro"
|
||||
- "./cameradar_thumbnails:/tmp/cameradar_thumbnails"
|
||||
links:
|
||||
- mysql
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: cmrdr
|
||||
ports:
|
||||
- "3306:3306"
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
cameradar:
|
||||
build: .
|
||||
container_name: cameradar
|
||||
volumes:
|
||||
- "./cameradar_thumbnails:/tmp/thumbs"
|
||||
environment:
|
||||
- CAMERAS_SUBNETWORKS=localhost
|
||||
- CAMERAS_PORTS=554,8554
|
||||
- CACHE_MANAGER=mysql
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
depends_on:
|
||||
- cameradar-database
|
||||
cameradar-database:
|
||||
container_name: cameradar-database
|
||||
image: mysql:5.7
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_DATABASE=cmrdr
|
||||
ports:
|
||||
- "3306:3306"
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
ESC_SEQ="\x1b["
|
||||
COL_RESET=$ESC_SEQ"39;49;00m"
|
||||
COL_RED=$ESC_SEQ"31;01m"
|
||||
COL_GREEN=$ESC_SEQ"32;01m"
|
||||
|
||||
# if command starts with an option, prepend /cameradar/bin/cameradar
|
||||
if [ "${1:0:1}" = '-' ]; then
|
||||
set -- /cctv/bin/cctv_server "$@"
|
||||
fi
|
||||
|
||||
# skip setup if they want an option that stops cctv_server
|
||||
wantHelp=
|
||||
for arg; do
|
||||
case "$arg" in
|
||||
-v|-h)
|
||||
wantHelp=1
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
envsubst < /cameradar/conf/cameradar.tmpl.conf.json > /cameradar/conf/cameradar.conf.json
|
||||
|
||||
if [ "$1" = '/cameradar/bin/cameradar' -a -z "$wantHelp" ]; then
|
||||
echo -n "Waiting for cameradar-database to be ready..."
|
||||
while ! mysqladmin ping -h "cameradar-database" -P3306 -p"$MYSQL_ROOT_PASSWORD" --silent; do
|
||||
sleep 1; echo -n "."
|
||||
done
|
||||
echo -e $COL_GREEN"ok"$COL_RESET
|
||||
|
||||
echo "Cameradar init finished. Starting it."
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@@ -1,2 +0,0 @@
|
||||
CAMERAS_SUBNETWORKS=172.16.100.0/24,192.168.178.47
|
||||
CAMERAS_PORTS=554,8554
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
ESC_SEQ="\x1b["
|
||||
COL_RESET=$ESC_SEQ"39;49;00m"
|
||||
COL_RED=$ESC_SEQ"31;01m"
|
||||
COL_GREEN=$ESC_SEQ"32;01m"
|
||||
COL_YELLOW=$ESC_SEQ"33;01m"
|
||||
COL_BLUE=$ESC_SEQ"34;01m"
|
||||
COL_MAGENTA=$ESC_SEQ"35;01m"
|
||||
COL_CYAN=$ESC_SEQ"36;01m"
|
||||
|
||||
# declare usefuls vars
|
||||
CONF=/conf/cameradar.conf.json
|
||||
|
||||
# copy configuration
|
||||
cp /tmp/conf/* /conf/
|
||||
|
||||
echo -n "replacing cameras subnetworks in configuration "
|
||||
sed -i s#__CAMERAS_SUBNETWORKS__#$CAMERAS_SUBNETWORKS#g $CONF
|
||||
echo -e $COL_GREEN"ok"$COL_RESET
|
||||
|
||||
echo -n "replacing cameras ports in configuration "
|
||||
sed -i s#__PORTS_TO_CHECK__#$CAMERAS_PORTS#g $CONF
|
||||
echo -e $COL_GREEN"ok"$COL_RESET
|
||||
|
||||
# Replace ext_cctv_mysql with the IP address of your DB or the name of its Docker
|
||||
# container. The container has to be linked in docker-compose.yml for cameradar
|
||||
# to be able to interact with it.
|
||||
echo -n "replacing mysql host and port in configuration "
|
||||
sed -i s#__MYSQL_ADDR__#mysql#g $CONF
|
||||
|
||||
# Reaplce 3306 with the port of your DB
|
||||
sed -i s#__MYSQL_PORT__#3306#g $CONF
|
||||
echo -e $COL_GREEN"ok"$COL_RESET
|
||||
|
||||
echo -n "waiting for mysql to be ready "
|
||||
while ! mysqladmin ping -h"mysql" -P3306 --silent; do
|
||||
sleep 1
|
||||
done
|
||||
echo -e $COL_GREEN"ok"$COL_RESET
|
||||
|
||||
/cameradar/bin/cameradar -l 1 -c /conf/cameradar.conf.json &
|
||||
cameradar_pid=$!
|
||||
|
||||
trap 'kill -2 $cameradar_pid; wait $cameradar_pid; exit $?' SIGTERM SIGINT
|
||||
wait $cameradar_pid
|
||||
Reference in New Issue
Block a user