Freegate instalacja

Witam serdecznie wszystkich. To mój pierwszy post tutaj, Utknąłem na tutorialach internetowych i nie mogę sobie poradzić z instalacją freegate na dedykowanym komputerze (odroid C2 - taki wala mi sie po szufladzie). Zainstalowałem na nim ubuntu 20.04.6 lts, dockera i portainera. Tu wszystko działa, natomiast co bym nie robił z freegate to wywala mi wiadro błędów. Może jest tu ktoś kto poprowadziłby mnie za rączkę przez proces instalacji tego cosia i potem integracji z HA który chodzi na innym komputerze.

  1. Z jakiego tutorialu korzystałeś Linki
  2. Logi błędów .
  3. Pliki konfiguracyjne.
  4. Inne rzeczy które mogą pomóc w debugowaniu.

Wiele tego było, różne tutoriale, różne błędy. Teraz mam czysty linux z wymienioną konfiguracją. Chciałbym prosić kogoś o przeprowadzenie przez proces instalacji od zera. Niestety jest to mój pierwszy kontakt z dockerem i nie bardzo wiem jak się tu poruszać. Do tej pory starałem się powtarzać kroki z youtubowych filmów, bez sukcesu. A dokumentacja samego Freegate jest dla mnie zbyt ogólna niestety.

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

dzięki za odpowiedź. Zrobiłem tak jak opisałeś powyżej. Mój plik yml wygląda tak:

services:
  frigate:
    container_name: frigate
    privileged: true
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /media/frigate/config/config.yml:/config/config.yml:ro
      - /media/frigate/storage:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "5000:5000"
      - "1935:1935"
    environment:
      FRIGATE_RTSP_PASSWORD: "haslo"

Niestety portainer tworzy kontener, ale podczas uruchamiania wypada on z błędem jak poniżej:

s6-rc: info: service legacy-services: starting
2024-01-14 07:22:27.799193356  [INFO] Starting NGINX...
s6-rc: info: service legacy-services successfully started
./run.user: line 55:   105 Illegal instruction     (core dumped) python3 /usr/local/go2rtc/create_config.py
2024-01-14 07:22:28.301352766  [INFO] The go2rtc service exited with code 132 (by signal 0)
2024-01-14 07:22:33.471422053  [INFO] Preparing go2rtc config...
2024-01-14 07:22:37.781071644  [INFO] Starting go2rtc healthcheck service...
./run.user: line 55:   277 Illegal instruction     (core dumped) python3 /usr/local/go2rtc/create_config.py
2024-01-14 07:22:42.347515023  [INFO] The go2rtc service exited with code 132 (by signal 0)
2024-01-14 07:22:43.805839542  Fatal Python error: [INFO] Service Frigate exited with code 256 (by signal 4)
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service nginx: stopping
s6-rc: info: service go2rtc-healthcheck: stopping
2024-01-14 07:22:43.843300094  [INFO] The go2rtc-healthcheck service exited with code 256 (by signal 15)
2024-01-14 07:22:43.946593618  [INFO] Service NGINX exited with code 0 (by signal 0)
s6-rc: info: service nginx successfully stopped
s6-rc: info: service nginx-log: stopping
s6-rc: info: service frigate: stopping
2024-01-14 07:22:48.954098506  [INFO] Preparing go2rtc config...
s6-rc: info: service go2rtc-healthcheck successfully stopped
s6-rc: info: service frigate successfully stopped
s6-rc: info: service go2rtc: stopping
s6-rc: info: service frigate-log: stopping
s6-rc: info: service nginx-log successfully stopped
s6-rc: info: service frigate-log successfully stopped
2024-01-14 07:22:50.188871726  [INFO] The go2rtc service exited with code 256 (by signal 15)
s6-rc: info: service go2rtc successfully stopped
s6-rc: info: service go2rtc-log: stopping
s6-rc: info: service go2rtc-log successfully stopped
s6-rc: info: service log-prepare: stopping
s6-rc: info: service s6rc-fdholder: stopping
s6-rc: info: service log-prepare successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service s6rc-fdholder successfully stopped
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-fdholder: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service s6rc-fdholder successfully started
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service log-prepare: starting
s6-rc: info: service log-prepare successfully started
s6-rc: info: service nginx-log: starting
s6-rc: info: service go2rtc-log: starting
s6-rc: info: service frigate-log: starting
s6-rc: info: service go2rtc-log successfully started
s6-rc: info: service go2rtc: starting
s6-rc: info: service nginx-log successfully started
s6-rc: info: service frigate-log successfully started
2024-01-14 07:23:02.457579756  [INFO] Preparing go2rtc config...
s6-rc: info: service go2rtc successfully started
s6-rc: info: service go2rtc-healthcheck: starting
s6-rc: info: service frigate: starting
s6-rc: info: service go2rtc-healthcheck successfully started
s6-rc: info: service frigate successfully started
s6-rc: info: service nginx: starting
2024-01-14 07:23:02.482682126  [INFO] Starting Frigate...
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
2024-01-14 07:23:02.492490271  [INFO] Starting NGINX...
s6-rc: info: service legacy-services successfully started
./run.user: line 55:    99 Illegal instruction     (core dumped) python3 /usr/local/go2rtc/create_config.py
2024-01-14 07:23:02.987462574  [INFO] The go2rtc service exited with code 132 (by signal 0)
2024-01-14 07:23:07.348515923  Fatal Python error: Illegal instruction[INFO] Service Frigate exited with code 256 (by signal 4)
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service nginx: stopping
s6-rc: info: service go2rtc-healthcheck: stopping
2024-01-14 07:23:09.687893441  [INFO] The go2rtc-healthcheck service exited with code 256 (by signal 15)
s6-rc: info: service go2rtc-healthcheck successfully stopped
2024-01-14 07:23:09.791147965  [INFO] Service NGINX exited with code 0 (by signal 0)
s6-rc: info: service nginx successfully stopped
s6-rc: info: service nginx-log: stopping
s6-rc: info: service frigate: stopping
s6-rc: info: service frigate successfully stopped
s6-rc: info: service go2rtc: stopping
s6-rc: info: service frigate-log: stopping
s6-rc: info: service go2rtc successfully stopped
s6-rc: info: service go2rtc-log: stopping
s6-rc: info: service nginx-log successfully stopped
s6-rc: info: service frigate-log successfully stopped
s6-rc: info: service go2rtc-log successfully stopped
s6-rc: info: service log-prepare: stopping
s6-rc: info: service s6rc-fdholder: stopping
s6-rc: info: service log-prepare successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service s6rc-fdholder successfully stopped
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Potrzeba trochę diagnostyki, więc na początek parę pytań uzupełniających:

  1. Czy masz zrobiony dostęp do katalogów na Ubuntu?
  2. Czy masz jakieś doświadczenie w korzystaniu z terminala na tym Ubuntu?
  3. Domyślam się tylko, że te Ubuntu to wersja systemu bez pulpitu?
  4. Jeśli to wersja serwerowa, to z jakiego komputera pracujesz, chodzi o OS?

EDIT:
Próbuję uruchomienia Frigate na moim TV BOX z zainstalowanym Armbianem. Jest postęp i nawet udało mi się uruchomić skutecznie kontener. Więc czekam na podpowiedzi na moje pytania.
Tak to wychodzi przy jednej kamerze, 20% obciążenia CPU Amlogic s905x3.