# docker-compose.yaml services: frigate: container_name: frigate image: ghcr.io/blakeblackshear/frigate:0.12.0 labels: autoheal: 'true' restart: unless-stopped healthcheck: test: ls /media/frigate && curl -s -f http://localhost:5000 -o /dev/null interval: 60s retries: 1 start_period: 30s timeout: 30s environment: FRIGATE_MQTT_USERNAME: frigate FRIGATE_MQTT_PASSWORD: ${MQTT_PASSWORD} FRIGATE_GARAGE_RTSP_USERNAME: motion FRIGATE_GARAGE_RTSP_PASSWORD: ${FRIGATE_GARAGE_RTSP_PASSWORD} FRIGATE_FRONT_DOOR_RTSP_USERNAME: motion FRIGATE_FRONT_DOOR_RTSP_PASSWORD: ${FRIGATE_FRONT_DOOR_RTSP_PASSWORD} FRIGATE_BACK_DOOR_RTSP_USERNAME: motion FRIGATE_BACK_DOOR_RTSP_PASSWORD: ${FRIGATE_BACK_DOOR_RTSP_PASSWORD} FRIGATE_FAMILY_ROOM_RTSP_USERNAME: frigate FRIGATE_FAMILY_ROOM_RTSP_PASSWORD: ${FRIGATE_FAMILY_ROOM_RTSP_PASSWORD} shm_size: '150mb' devices: - /dev/dri:/dev/dri volumes: - type: volume source: config target: /config - type: volume source: media target: /media/frigate - type: tmpfs target: /tmp/cache tmpfs: size: 1000000000 - type: bind source: /etc/localtime target: /etc/localtime read_only: true # networks: # - frigate ports: - 127.0.0.1:10000:5000 extra_hosts: - mqtt:192.168.0.6 notify: container_name: frigate-notify image: frigate-notify:latest restart: unless-stopped environment: MQTT_USERNAME: frigate MQTT_PASSWORD: ${MQTT_PASSWORD} REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt volumes: - type: bind source: /data/certs/homelab_ca.crt target: /usr/local/share/ca-certificates/homelab_ca.crt read_only: true - type: bind source: /etc/localtime target: /etc/localtime read_only: true extra_hosts: - mqtt:192.168.0.6 webcontrol: container_name: frigate-webcontrol image: frigate-webcontrol:latest labels: autoheal: 'true' restart: unless-stopped healthcheck: test: curl -s -f http://localhost -o /dev/null interval: 60s retries: 1 start_period: 30s timeout: 30s environment: MQTT_USERNAME: frigate MQTT_PASSWORD: ${MQTT_PASSWORD} IPGEOLOCATION_API_KEY: ${IPGEOLOCATION_API_KEY} volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true ports: - 127.0.0.1:10001:80 extra_hosts: - mqtt:192.168.0.6 # mqtt: # container_name: mqtt # image: eclipse-mosquitto:latest # command: # - mosquitto # - -c # - /mosquitto-no-auth.conf # restart: unless-stopped # volumes: # - type: bind # source: /etc/localtime # target: /etc/localtime # read_only: true # networks: # - frigate # ports: # - 1883:1883 # - 9001:9001 #networks: # frigate: # name: frigate volumes: config: name: frigate-config external: true media: name: frigate-media external: true