69 lines
2.0 KiB
YAML
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 |