- Docker Compose er den anbefalte metoden for å installere Frigate.
- Den beste ytelsen oppnås med Linux installert direkte på datamaskinen.
- FFmpeg-akselerasjon og AI-deteksjon er forskjellige prosesser.
- Port 8971 sørger for det autentisert grensesnittet; 5000 er intern og har ingen autentisering.
Frigate lar deg lage et lokalt videoovervåkingssystem som er i stand til å ta opp fra IP-kameraer og bruke kunstig intelligens til å oppdage personer, kjøretøy, dyr og andre objekter. All behandling kan gjøres i ditt eget nettverk, uten å kontinuerlig sende bilder til produsentens servere.
I tillegg til å tilby større kontroll over personvernet, lar Frigate deg sentralisere flere overvåkningskameraer, behold bare de viktige opptakene og generer hendelser som senere kan brukes i Home Assistant.
Den anbefalte måten å installere den på er ved å Docker ComposeFrigate er imidlertid ikke en konvensjonell container: dekoding av flere videostrømmer og kjøring av deteksjonsmodeller bruker betydelige ressurser. For å oppnå en stabil installasjon er riktig oppsett av lagring, delt minne, kamerastrømmer og maskinvaretilgang avgjørende.
Hvilken maskinvare og operativsystem trenger du?

Fregatt fungerer best på Docker installert direkte på en Debian-basert Linux-distribusjonDenne konfigurasjonen reduserer overhead og forenkler tilgangen til GPU-en, AI-akseleratoren og andre fysiske enheter.
Den kan også kjøres inne i en virtuell maskin, men du må konfigurere maskinvaregjennomgang riktig. Proxmox-dokumentasjonen anbefaler å bruke en virtuell QEMU-maskin for å kjøre Docker. Det er mulig å installere Frigate inne i en LXC-container, men støttes ikke offisielt og kan komplisere tilgang til enheter som... /dev/dri, en Coral USB eller en NPU.
En Raspberry Pi kan være passende for et lite oppsett, spesielt hvis du bruker en akselerator og ekstern lagring. Ytelsen vil imidlertid avhenge av antall kameraer, oppløsning, kodek og aktiverte funksjoner. Du bør også være oppmerksom på strømforbruket hvis du kobler til en Coral USB og en SSD samtidig, da du kanskje må bruke en strømdrevet USB-hub.
Før du begynner, sjekk disse kravene:
- En Linux-server med Docker og Docker Compose-pluginen.
- Ett eller flere RTSP-kompatible kameraer.
- En stabil nettverksforbindelse, helst via Ethernet.
- Nok plass til opptak.
- En kompatibel GPU, NPU eller akselerator hvis du skal bruke objektdeteksjon.
- En MQTT-megler er bare nødvendig hvis du vil integrere Frigate med Home Assistant.
Fregatt bruker flere interne stier som må tas i betraktning når du oppretter containeren:
/configDen lagrer konfigurasjonsfilen, SQLite-databasen og andre nødvendige data./media/frigateDen inneholder opptakene, skjermbildene og eksportene./tmp/cachelagrer videosegmentene midlertidig før de behandles./dev/shmDen lagrer de dekodede rammene i minnet.
Det anbefales å sette sammen /tmp/cache som tmpfsPå denne måten skrives midlertidige segmenter til RAM, noe som reduserer unødvendig skriving til SSD-en. Du trenger ikke å tilordne manuelt. /dev/shmKapasiteten styres av parameteren shm_size av Docker.
Slik beregner du Fregattens delte minne
Docker tildeler vanligvis 64 MB delt minne til hver container. Frigate bruker denne plassen til å lagre de dekodede bildene, så denne mengden kan være utilstrekkelig når flere kameraer er koblet til.
Når det delte minnet går tomt, kan containeren stoppe og vise meldingen «Bussfeil»En verdi på 128 MB er vanligvis tilstrekkelig for to kameraer med 720p-deteksjon, men installasjoner med flere kameraer eller strømmer med høyere oppløsning vil trenge en større mengde.
Beregningen avhenger av oppløsningen til strømmen som brukes til deteksjon, ikke oppløsningen til videoen som brukes til opptak. Frigate tilbyr denne indikative formelen:
(anchura × altura × 1,5 × 20 + 270480) ÷ 1048576
Til totalen fra alle kameraene må du legge til omtrent 40 MB for loggene som er lagret i minnet. Du kan også bruke SHM-kalkulatoren som er tilgjengelig i den offisielle dokumentasjonen.
I Docker Compose-filen legges innstillingen inn slik:
shm_size: "512mb"
512 MB er et rimelig utgangspunkt for et hjemmeoppsett med flere kameraer, men det er ikke en obligatorisk verdi. Hvis beholderen fortsetter å vise en Bussfeil Etter å ha økt den, sjekk også grensene for åpne prosesser og filer.
Videoakselerasjon og -deteksjon ved hjelp av kunstig intelligens

Fregatt utfører to forskjellige oppgaver som ikke bør forveksles. På den ene siden må FFmpeg dekode videostrømmenePå den annen side kjører en detektor den kunstige intelligensmodellen for å gjenkjenne objektene.
Dekoding kan akselereres ved hjelp av en integrert Intel- eller AMD-grafikkort, et Nvidia-grafikkort eller annen kompatibel maskinvare. Dette innebærer å konfigurere de tilsvarende enhetene i Docker og angi riktige verdier. hwaccel_args i fregatt.
Objektdeteksjon kan utføres ved hjelp av forskjellige systemer:
- Google Coral Edge TPU: Tilgjengelig i USB-, M.2- og Mini PCIe-versjoner.
- ÅpenVINO: Passer for Intel-prosessorer, integrerte GPU-er og Arc-kort.
- Hailo-8 og Hailo-8L: tilgjengelig for x86-datamaskiner og -kort som Raspberry Pi 5.
- Nvidia: ved hjelp av det spesifikke fregattbildet som er kompatibelt med TensorRT.
- AMD ROCm: for visse kompatible AMD-grafikkort.
- MemoryX MX3: et fellesskapsstøttet alternativ som krever egne drivere og tilleggskomponenter.
En CPU-basert detektor er nyttig for å teste en installasjon, men det er vanligvis ikke det beste valget for permanent bruk av flere kameraer. Strømforbruket vil avhenge av modellen som brukes, deteksjonsoppløsningen, antall bilder per sekund og mengden bevegelse i bildet.
Hvis du bruker en Coral USB, må du vanligvis sende USB-bussen til containeren:
devices:
- /dev/bus/usb:/dev/bus/usb
For en VAAPI-basert Intel- eller AMD GPU brukes vanligvis en enhet som den følgende:
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
Disse stiene kan variere avhengig av enheten. Sjekk dem på verten og legg bare til enhetene du faktisk trenger. Å kjøre containeren permanent som privilegert gjør noe testing enklere, men det gir flere tillatelser enn nødvendig og er ikke det sikreste alternativet for en endelig installasjon.
Slik installerer du Frigate med Docker Compose trinn for trinn

Opprett to permanente mapper: én for innstillinger og én for opptak. Du kan for eksempel bruke:
mkdir -p ~/frigate/config
mkdir -p ~/frigate/storage
cd ~/frigate
Deretter oppretter du en fil som heter compose.yaml med denne grunnleggende konfigurasjonen:
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable
restart: unless-stopped
stop_grace_period: 30s
shm_size: "512mb"
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971"
- "8554:8554"
- "8555:8555/tcp"
- "8555:8555/udp"
environment:
FRIGATE_RTSP_PASSWORD: "CAMBIA_ESTA_CONTRASEÑA"
Dette eksemplet inkluderer ingen akselerasjonsenheter fordi banen avhenger av maskinvaren som brukes. Hvis du har en GPU, Coral eller NPU, legg til blokken devices tilsvarende før du starter beholderen.
Etiketten stable Det fungerer for både AMD64-systemer og Raspberry Pi med ARM64, der den bruker en optimalisert konstruksjon. Det er ikke nødvendig å manuelt velge et annet image for en 64-bit Raspberry Pi. Installasjoner med Nvidia, ROCm eller visse Rockchip-prosessorer bruker spesifikke tagger.
Start beholderen med:
docker compose up -d
Det autentiserte grensesnittet vil være tilgjengelig på:
https://IP_DEL_SERVIDOR:8971
Nettleseren din kan vise en advarsel fordi Frigate i utgangspunktet bruker et selvsignert sertifikat. Under første oppstart genereres en administratorbruker og et midlertidig passord. Du kan hente dem med:
docker logs frigate
Logg inn og endre passordet ditt fra Innstillinger > BrukereDet nye passordet må være minst 12 tegn langt.
Frigate bruker også port 5000 for sitt interne grensesnitt og API uten autentisering. Det anbefales ikke å publisere dette på verten eller eksponere det for internett. Det er primært ment for tjenester som kommuniserer med Frigate innenfor et pålitelig Docker-nettverk.
Port 8554 gir tilgang til go2rtc RTSP-restreams, og port 8555 brukes for WebRTC-tilkoblinger. RTSP-restreams autentiseres ikke som standard, så du bør ikke eksponere dem direkte til internett.
Slik legger du til et kamera og konfigurerer strømmingene

Før du legger til et kamera, test RTSP-adressen med VLC eller en annen kompatibel spiller. Hvis strømmingen ikke fungerer utenfor Frigate, vil den heller ikke fungere inne i containeren.
Du kan legge til et kamera ved hjelp av den tilgjengelige assistenten i Innstillinger > Globale innstillinger > KameraadministrasjonDu kan også redigere filen direkte. config.yml lagret i katalogen som er montert i /config.
Den mest effektive konfigurasjonen bruker vanligvis to strømmer:
- En understrøm med lavere oppløsning for å oppdage bevegelse og objekter.
- En hovedstrøm med høyere oppløsning for å lagre opptakene.
Du kan også deklarere de opprinnelige tilkoblingene i go2rtc og la FFmpeg bruke sine lokale restreams. Dette reduserer antallet direkte tilkoblinger som er åpne til kameraet.
Et grunnleggende eksempel ville være følgende:
mqtt:
enabled: false
go2rtc:
streams:
entrada_principal:
- rtsp://usuario:{FRIGATE_RTSP_PASSWORD}@192.168.1.50:554/stream1
entrada_sub:
- rtsp://usuario:{FRIGATE_RTSP_PASSWORD}@192.168.1.50:554/stream2
cameras:
entrada:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/entrada_sub
input_args: preset-rtsp-restream
roles:
- detect
- path: rtsp://127.0.0.1:8554/entrada_principal
input_args: preset-rtsp-restream
roles:
- record
detect:
width: 1280
height: 720
record:
enabled: true
Du må erstatte brukernavn, IP-adresse, port og strømningsstier med verdiene som tilsvarer kameraet ditt. Navnet som brukes i go2rtc må også samsvare nøyaktig med det som er inkludert i den lokale URL-adressen.
I nåværende versjoner prøver Frigate å oppdage oppløsningen automatisk. Å definere den eksplisitt kan imidlertid forenkle feilsøking. Å bruke 4K-video til deteksjon er ineffektivt hvis kameraet leverer en understrøm med lavere oppløsning.
Etter at du har lagret filen, validerer du konfigurasjonen fra selve grensesnittet eller sjekker containerloggene. Hvis det er en YAML-innrykksfeil, en feil RTSP-bane eller en duplikatrolle, kan Frigate avvise konfigurasjonen.
Slik bruker du masker, filtre og soner riktig
Bevegelsesmasker er ikke utformet for å skjule et område fullstendig, og de garanterer heller ikke at et objekt ikke lenger vil bli oppdaget. Funksjonen deres er å forhindre at visse bildeendringer utløser deteksjonsprosessen.
De er nyttige for ting som:
- Dato og klokkeslett lagt over av kameraet.
- Himmelen eller tretoppene.
- Et flagg som stadig beveger seg.
- Refleksjoner eller repeterende elementer som genererer bevegelse.
Et objekt kan fortsatt oppdages i en bevegelsesmaske hvis en annen del av bildet utløser analysen. Dessuten gjør det å dekke for mye overflate vanskelig å spore objekter.
Hvis en vegg, et tre eller annet fast element gjentatte ganger identifiseres som en person, må du bruke en filtermaske for den typen objektHvis du bare vil motta varsler når en person går inn i hagen eller nærmer seg en dør, er det riktige å opprette en sone og bruke den som en obligatorisk varslingssone.
Frigate lar deg tegne disse polygonene fra Innstillinger > Kamerainnstillinger > Masker og sonerFør du legger til en maske, bruk feilsøkingsvisningen til å sjekke hvor bevegelses- og deteksjonsboksene vises.
Slik integrerer du Frigate med MQTT og Home Assistant
Fregatt kan betjene og ta opp kameraer uten å bruke MQTT. Imidlertid Integrasjon med Home Assistant krever en MQTT-megler, som Mosquitto. Frigate og Home Assistant må koble til samme MQTT-server.
Den grunnleggende konfigurasjonen bruker dette formatet:
mqtt:
enabled: true
host: 192.168.1.20
user: usuario_mqtt
password: contraseña_mqtt
Etter at du har bekreftet at Frigate kobler seg riktig til megleren, installerer du den offisielle integrasjonen fra HACS:
- Åpne HACS i Hjemmeassistenten.
- Søk etter og installer integrasjonen Fregatt.
- Start Home Assistant på nytt.
- Gå Innstillinger > Enheter og tjenester.
- Pressen Legg til integrasjon og velg Fregatt.
- Skriv inn instansadressen.
Hvis Home Assistant og Frigate deler et sikkert Docker-nettverk, kan integrasjonen kommunisere ved hjelp av intern port 5000. I andre konfigurasjoner er det å foretrekke å bruke autentisert port 8971. Ikke åpne port 5000 utad bare for å legge til rette for integrasjon.
Når den er tilkoblet, kan Home Assistant bruke sensorer, kameraer og hendelser generert av Frigate til å lage automatiseringer. For eksempel kan den sende et øyeblikksbilde til telefonen din når noen går inn i et bestemt område, slå på et utendørslys eller inkludere en lenke til den innspilte videoen.
Slik kontrollerer og vedlikeholder du installasjonen

Etter at du har fullført oppsettet, sjekk beholderstatusen:
docker compose ps
For å se sanntidslogger, bruk:
docker compose logs -f frigate
Sjekk spesifikt at:
- Alle RTSP-strømmer åpnes riktig.
- Det er ingen konstante FFmpeg-omstarter.
- Den valgte detektoren er oppført som aktiv.
- Delt minne går ikke tomt.
- Opptakene lagres på den forventede ruten.
- Disken har nok ledig plass.
For å oppdatere Frigate ved hjelp av Docker Compose, kjør:
docker compose pull
docker compose up -d
Før du oppdaterer, lagre en kopi av den monterte mappen i /configDer finner du YAML-filen, databasen og andre innstillinger som er nødvendige for å gjenoppbygge installasjonen. Opptakene som er lagret i /media/frigate De kan sikkerhetskopieres separat hvis du trenger å beholde dem.
Unngå å publisere portene 5000, 1984 eller 8554 direkte på internett. For å få tilgang til Frigate utenfra hjemmenettverket ditt, er det sikrere å bruke et VPN eller en riktig konfigurert omvendt proxy på den autentiserte porten.
Installasjon av Frigate med Docker lar deg bygge et privat og tilpasningsdyktig videoovervåkingssystem, men stabiliteten avhenger av en balansert konfigurasjon. Å separere deteksjons- og opptaksstrømmer, justere delt minne, utnytte tilgjengelig akselerasjon og begrense tilgang til interne porter reduserer feil og ressursforbruk betydelig.
Når systemet er koblet til Home Assistant, kan det bruke deteksjonene til å generere varsler og automatiseringer som er mye mer nøyaktige enn konvensjonelle bevegelsesvarsler, samtidig som opptakene holdes innenfor din egen infrastruktur.
Jeg er en teknologientusiast som har gjort sine "geek"-interesser til et yrke. Jeg har brukt mer enn 10 år av livet mitt på å bruke banebrytende teknologi og fikse med alle slags programmer av ren nysgjerrighet. Nå har jeg spesialisert meg på datateknologi og videospill. Dette er fordi jeg i mer enn 5 år har skrevet for forskjellige nettsteder om teknologi og videospill, og laget artikler som prøver å gi deg den informasjonen du trenger på et språk som er forståelig for alle.
Hvis du har spørsmål, spenner min kunnskap fra alt relatert til Windows-operativsystemet samt Android for mobiltelefoner. Og mitt engasjement er til deg, jeg er alltid villig til å bruke noen minutter og hjelpe deg med å løse eventuelle spørsmål du måtte ha i denne internettverdenen.
