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.
- Z jakiego tutorialu korzystałeś
Linki
- Logi błędów .
- Pliki konfiguracyjne.
- 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 . 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/
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:
- Czy masz zrobiony dostęp do katalogów na Ubuntu?
- Czy masz jakieś doświadczenie w korzystaniu z terminala na tym Ubuntu?
- Domyślam się tylko, że te Ubuntu to wersja systemu bez pulpitu?
- 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.