72 lines
2.2 KiB
YAML
72 lines
2.2 KiB
YAML
# ---------------------------------------------------------------------------
|
|
# Home camera stack
|
|
# - Frigate 0.17 (NVR + face recognition + LPR + audio detection)
|
|
# - Mosquitto (MQTT broker)
|
|
# - frigate-notify (event consumer -> ntfy push notifications)
|
|
#
|
|
# First-run setup: see README.md.
|
|
# ---------------------------------------------------------------------------
|
|
|
|
services:
|
|
|
|
frigate:
|
|
container_name: frigate
|
|
image: ghcr.io/blakeblackshear/frigate:0.17.1
|
|
restart: unless-stopped
|
|
stop_grace_period: 30s
|
|
privileged: true # needed for USB Coral
|
|
shm_size: "512mb"
|
|
env_file: .env
|
|
depends_on:
|
|
- mosquitto
|
|
devices:
|
|
- /dev/bus/usb:/dev/bus/usb # USB Coral
|
|
# - /dev/apex_0:/dev/apex_0 # PCIe Coral
|
|
# - /dev/dri/renderD128 # Intel/AMD hwaccel
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ./frigate_config:/config
|
|
- /home/user/drives/sc-games/frigate:/media/frigate
|
|
- type: tmpfs
|
|
target: /tmp/cache
|
|
tmpfs:
|
|
size: 1000000000
|
|
ports:
|
|
- "8971:8971" # authenticated UI (proxied by Caddy)
|
|
- "5001:5000" # unauthenticated UI (LAN debug only)
|
|
- "8554:8554" # RTSP restream
|
|
- "8555:8555/tcp" # WebRTC TCP
|
|
- "8555:8555/udp" # WebRTC UDP
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:5000/api/version"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 60s
|
|
|
|
mosquitto:
|
|
container_name: mosquitto
|
|
hostname: mosquitto
|
|
image: eclipse-mosquitto:2
|
|
restart: unless-stopped
|
|
ports:
|
|
- "1883:1883" # MQTT (LAN ONLY -- never expose to internet)
|
|
volumes:
|
|
- ./mosquitto/config:/mosquitto/config
|
|
- ./mosquitto/data:/mosquitto/data
|
|
- ./mosquitto/log:/mosquitto/log
|
|
|
|
frigate-notify:
|
|
container_name: frigate-notify
|
|
hostname: frigate-notify
|
|
image: ghcr.io/0x2142/frigate-notify:latest
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
depends_on:
|
|
mosquitto:
|
|
condition: service_started
|
|
frigate:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./frigate-notify/config.yml:/app/config.yml:ro
|