Witamy na forum . 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ę.
- 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.
@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/