added shinobi
parent
531b988111
commit
2e2cec5c32
@ -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