wyzely-detect/docker-compose.yml

69 lines
2.0 KiB
YAML

version: '2.4'
networks:
all:
services:
bridge:
container_name: bridge-wyzely-detect
restart: unless-stopped
image: mrlt8/wyze-bridge:latest
# The ports can be removed since we're using the network
# Just an unnecesary security risk to expose them but can be useful for debugging
# ports:
# - 1935:1935 # RTMP
# - 8554:8554 # RTSP (this is really the only one we need)
# - 8888:8888 # HLS
# - 5000:5000 # WEB-UI
environment:
- WYZE_EMAIL=${WYZE_EMAIL} # Replace with wyze email
- WYZE_PASSWORD=${WYZE_PASSWORD} # Replace with wyze password
networks:
all:
ntfy:
image: binwiederhier/ntfy
container_name: ntfy-wyzely-detect
command:
- serve
environment:
- TZ=UTC # optional: set desired timezone
# volumes:
# - /var/cache/ntfy:/var/cache/ntfy
# - /etc/ntfy:/etc/ntfy
ports:
- 9216:80
restart: unless-stopped
networks:
all:
wyzely-detect:
container_name: wyzely-detect
restart: unless-stopped
image: ghcr.io/slashtechno/wyzely-detect:latest
# Building from source is also an option
# build:
# context: .
# dockerfile: Dockerfile
volumes:
- ./faces:/app/faces
networks:
all:
environment:
- URL=rtsp://bridge:8554/cv
- NO_DISPLAY=true
- NTFY_URL=http://ntfy:80/wyzely-detect
depends_on:
- bridge
# Use curl to check if the rtsp stream is up, then run the face recognition
# command: >
# /bin/sh -c "
# while true; do
# curl -s http://bridge:8888/cv/0.m3u8 > /dev/null
# if [ $? -eq 0 ]; then
# echo 'Stream is up, running face recognition'
# python3 /app/main.py
# else
# echo 'Stream is down, waiting 5 seconds'
# sleep 5
# fi
# done
# "
tty: true