Slik installerer og konfigurerer du Frigate med Docker: En komplett guide

Siste oppdatering: 15/09/2026

  • 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.
Fregatt med Docker for intelligent videoovervåking

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.

Slik bruker du Frigate med Home Assistant
Relatert artikkel:
Komplett guide til integrering av Frigate i Home Assistant

Hvilken maskinvare og operativsystem trenger du?

Maskinvare som kreves for å installere Frigate med Docker

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:

  • /config Den lagrer konfigurasjonsfilen, SQLite-databasen og andre nødvendige data.
  • /media/frigate Den inneholder opptakene, skjermbildene og eksportene.
  • /tmp/cache lagrer videosegmentene midlertidig før de behandles.
  • /dev/shm Den 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.

Eksklusivt innhold - Klikk her  Hvilke smartplugger er verdt å kjøpe og hvilke er det ikke.

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.

hjemmeautomatisering
Relatert artikkel:
Hjemmeautomatiseringsdingser: Den ultimate guiden til de beste smarthjemenhetene i 2024

Videoakselerasjon og -deteksjon ved hjelp av kunstig intelligens

Hjemmeautomatiseringsenheter som representerer videoakselerasjon og objektdeteksjon i Fregatt

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

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.

Eksklusivt innhold - Klikk her  TikTok-skjermtid: hvordan du kontrollerer den og beskytter din digitale velvære

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.

Veggmontert Home Assistant-kontrollpanel som styrer hjemmeautomasjon
Relatert artikkel:
Slik installerer og bruker du Blueprints i Home Assistant

Slik legger du til et kamera og konfigurerer strømmingene

Server for lagring og behandling av opptak fra et videoovervåkingssystem med Frigate

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.

Eksklusivt innhold - Klikk her  Slik laster du ned den offisielle Windows 11 25H2 ISO-filen

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:

  1. Åpne HACS i Hjemmeassistenten.
  2. Søk etter og installer integrasjonen Fregatt.
  3. Start Home Assistant på nytt.
  4. Gå Innstillinger > Enheter og tjenester.
  5. Pressen Legg til integrasjon og velg Fregatt.
  6. 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 bruker du Frigate med Home Assistant
Relatert artikkel:
Komplett guide til integrering av Frigate med Home Assistant

Slik kontrollerer og vedlikeholder du installasjonen

Docker Compose-kode brukt til å konfigurere Frigates delte minne og volumer

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.

Relatert artikkel:
Videoovervåkingsapplikasjon