Freegate instalacja

Witamy na forum :raised_hand_with_fingers_splayed:. Jeśli masz już działający kontener z Portainer to myślę, że będzie to najlepsza platforma do konfiguracji kontenera z Frigate. Zacznijmy jednak od podstaw…

W konteneryzacji poprzez Docker trzeba zrozumieć na co należy zwrócić szczególną uwagę. Postaram się to wytłumaczyć na podstawie pliku yml, dzięki któremu tworzymy kontener i konfigurujemy jego ustawienia poprzez narzędzie docker-compose. Dodam, że takie pliki mogą być łatwo wykorzystywane następnie w Portainer. Wklejam poniżej plik yml z oficjalnej dokumentacji Friate:

version: "3.9"
services:
  frigate:
    container_name: frigate
    privileged: true # this may not be necessary for all setups
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "64mb" # update for your cameras based on calculation above
    devices:
      - /dev/bus/usb:/dev/bus/usb # passes the USB Coral, needs to be modified for other versions
      - /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
      - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /path/to/your/config.yml:/config/config.yml
      - /path/to/your/storage:/media/frigate
      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "5000:5000"
      - "8554:8554" # RTSP feeds
      - "8555:8555/tcp" # WebRTC over tcp
      - "8555:8555/udp" # WebRTC over udp
    environment:
      FRIGATE_RTSP_PASSWORD: "password"

Nie chcę omawiać każdego z wierszy w tym pliku, należy zwrócić szczególna uwagę na część dotyczącą prawidłowego mapowania dla volumes, to w tej części najłatwiej o błędną konfigurację.
image

  • 1 - w tej części podajemy ścieżki do odpowiednich katalogów na hoście. Mapujemy przykładowo plik config.yml z odpowiednim plikiem wewnątrz kontenera o tej samej nazwie. Innymi słowy wskazujemy Dockerowi gdzie wśród katalogów hosta jest dany plik potrzebny dla prawidłowego uruchomienia kontenera.
  • 2 - strony prawej nie zmieniamy, odpowiada konfiguracji oprogramowania wewnątrz kontenera

Podobnie wygląda sprawa przydzielania portów na których nasz kontener będzie widoczny w sieci. I tak dla przykładu poniżej zmieniłem port po stronie hosta na 5959 ponieważ na tym komputerze mam już inną usługę działającą pod tym portem.

image

@Marek_l - zacznij od przygotowania swojego pliku pod docker-compose a w następnej części pokażemy jak go wdrożyć dzięki Stack w Portainer.

Jeśli wcześniej używałeś polecenia docker run to pomocna jest strona z konwerterem na docker-compose:
https://www.composerize.com/

1 polubienie