# frigate -- https://docs.frigate.video/frigate/installation/
---
services:
    frigate:
        container_name: frigate
        #privileged: true # this may not be necessary for all setups
        stop_grace_period: 30s # allow enough time to shut down the various services
        restart: unless-stopped
        image: ghcr.io/blakeblackshear/frigate:stable
        shm_size: "512mb" # update for your cameras based on calculation above
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - ${FRIGATE_DATA}/config:/config
            - ${FRIGATE_DATA}/media:/media/frigate
            - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
              target: /tmp/cache
              tmpfs:
                  size: 1000000000
        ports:
            - "8971:8971"
            - "5000:5000" # Internal unauthenticated access. Expose carefully.
            - "8554:8554" # RTSP feeds
            - "8555:8555/tcp" # WebRTC over tcp
            - "8555:8555/udp" # WebRTC over udp
        environment:
            FRIGATE_RTSP_PASSWORD: '${FRIGATE_RTSP_PASSWORD}'