services: frigate: container_name: frigate privileged: true # simplifies USB Coral access; can be tightened later restart: unless-stopped stop_grace_period: 30s image: ghcr.io/blakeblackshear/frigate:stable shm_size: "512mb" # adjust per the calculation in the README (Step 5) devices: - /dev/bus/usb:/dev/bus/usb # passes the USB Coral into the container volumes: - /etc/localtime:/etc/localtime:ro - ./config:/config - ./storage:/media/frigate - type: tmpfs # 1GB in-memory cache for recording segments target: /tmp/cache tmpfs: size: 1000000000 ports: - "8971:8971" # authenticated UI + API # - "5000:5000" # internal unauthenticated access — expose carefully - "8554:8554" # RTSP restreaming - "8555:8555/tcp" # WebRTC over TCP - "8555:8555/udp" # WebRTC over UDP environment: FRIGATE_RTSP_PASSWORD: "password" # change this