2 changed files with 152 additions and 1 deletions
@ -0,0 +1,145 @@
@@ -0,0 +1,145 @@
|
||||
# WIP |
||||
Not finished yet. Docker-compose was generated by the follow script below. You should install shinobi via the script below. Not the docker-compose that was shown further down. |
||||
|
||||
# ShinobiInstall.sh |
||||
``` |
||||
#!/bin/bash |
||||
if ! [ -x "$(command -v docker)" ]; then |
||||
echo "You are missing Docker" |
||||
echo "docker not found!" |
||||
echo "Get it here : https://docs.docker.com/engine/install/" |
||||
exit 1 |
||||
else |
||||
docker -v |
||||
fi |
||||
if ! [ -x "$(command -v docker-compose)" ]; then |
||||
echo "You are missing Docker Compose" |
||||
echo "docker-compose not found!" |
||||
echo "Get it here : https://docs.docker.com/compose/install/" |
||||
exit 1 |
||||
else |
||||
docker-compose -v |
||||
fi |
||||
|
||||
PLUGIN_LIST='' |
||||
PLUGIN_YMLS=(); |
||||
|
||||
SSL_TOGGLE="$(echo "$1" | awk '{print tolower($0)}')" |
||||
if [ "$SSL_TOGGLE" = "true" ]; then |
||||
SSL_TOGGLE='true' |
||||
else |
||||
SSL_TOGGLE='false' |
||||
fi |
||||
|
||||
echo "Shinobi - Do you want to Install Object Detection? (TensorFlow.js)" |
||||
echo "(y)es or (N)o" |
||||
read -r TENSORFLOW_PLUGIN_DOCKER_ADDON_AGREE |
||||
TENSORFLOW_PLUGIN_DOCKER_ADDON_AGREE="$(echo "$TENSORFLOW_PLUGIN_DOCKER_ADDON_AGREE" | awk '{print tolower($0)}')" |
||||
if [ "$TENSORFLOW_PLUGIN_DOCKER_ADDON_AGREE" = "y" ]; then |
||||
TENSORFLOW_PLUGIN_KEY=$(head -c 1024 < /dev/urandom | sha256sum | awk '{print substr($1,1,29)}') |
||||
PLUGIN_YMLS+=('"Tensorflow":"'$TENSORFLOW_PLUGIN_KEY'"') |
||||
PLUGIN_LIST+=$(cat <<-END |
||||
|
||||
shinobiplugintensorflow: |
||||
image: shinobisystems/shinobi-tensorflow:latest |
||||
container_name: shinobi-tensorflow |
||||
environment: |
||||
- PLUGIN_KEY=$TENSORFLOW_PLUGIN_KEY |
||||
- PLUGIN_HOST=Shinobi |
||||
volumes: |
||||
- $HOME/Shinobi/docker-plugins/tensorflow:/config |
||||
restart: unless-stopped |
||||
END |
||||
) |
||||
fi |
||||
|
||||
# Join Plugin Keys |
||||
PLUGIN_YMLS=$(printf ",%s" "${PLUGIN_YMLS[@]}") |
||||
PLUGIN_YMLS=${PLUGIN_YMLS:1} |
||||
PLUGIN_YMLS="{$PLUGIN_YMLS}" |
||||
cat > docker-compose.yml <<- EOM |
||||
version: "3" |
||||
services: |
||||
shinobi: |
||||
image: shinobisystems/shinobi:dev |
||||
container_name: Shinobi |
||||
environment: |
||||
- PLUGIN_KEYS=$PLUGIN_YMLS |
||||
# - SSL_ENABLED=$SSL_TOGGLE |
||||
volumes: |
||||
- ./config:/config |
||||
- ./customAutoLoad:/home/Shinobi/libs/customAutoLoad |
||||
- ./database:/var/lib/mysql |
||||
- ./videos:/home/Shinobi/videos |
||||
- ./plugins:/home/Shinobi/plugins |
||||
- /dev/shm/Shinobi/streams:/dev/shm/streams |
||||
- /etc/localtime:/etc/localtime:ro |
||||
# ports: |
||||
# - 8080:8080 |
||||
restart: unless-stopped |
||||
|
||||
networks: |
||||
default: |
||||
external: |
||||
name: caddy_net |
||||
$PLUGIN_LIST |
||||
EOM |
||||
cat docker-compose.yml |
||||
docker-compose up -d |
||||
# rm docker-compose.yml |
||||
``` |
||||
|
||||
# Minimum File Structure |
||||
``` |
||||
/home/ |
||||
└── ~/ |
||||
└── docker/ |
||||
└── shinobi/ |
||||
├── docker-compose.yml |
||||
``` |
||||
|
||||
# Caddyfile |
||||
``` |
||||
shinobi.yourdomain.com { |
||||
reverse_proxy shinobi:8080 |
||||
} |
||||
``` |
||||
|
||||
# docker-compose.yml |
||||
|
||||
``` |
||||
version: "3" |
||||
services: |
||||
shinobi: |
||||
image: shinobisystems/shinobi:dev |
||||
container_name: Shinobi |
||||
environment: |
||||
# - PLUGIN_KEYS={"Tensorflow":"KEYGENERATEDBY SCRIPT!!!!"} |
||||
# - SSL_ENABLED=false |
||||
volumes: |
||||
- ./config:/config |
||||
- ./customAutoLoad:/home/Shinobi/libs/customAutoLoad |
||||
- ./database:/var/lib/mysql |
||||
- ./videos:/home/Shinobi/videos |
||||
- ./plugins:/home/Shinobi/plugins |
||||
- /dev/shm/Shinobi/streams:/dev/shm/streams |
||||
- /etc/localtime:/etc/localtime:ro |
||||
# ports: |
||||
# - 8080:8080 |
||||
restart: unless-stopped |
||||
|
||||
shinobiplugintensorflow: |
||||
image: shinobisystems/shinobi-tensorflow:latest |
||||
container_name: shinobi-tensorflow |
||||
environment: |
||||
# - PLUGIN_KEY=KEYGENERATEDBY SCRIPT!!!! |
||||
- PLUGIN_HOST=Shinobi |
||||
volumes: |
||||
- /home/taidao/Shinobi/docker-plugins/tensorflow:/config |
||||
restart: unless-stopped |
||||
|
||||
networks: |
||||
default: |
||||
external: |
||||
name: caddy_net |
||||
``` |
||||
Loading…
Reference in new issue