Frigate on Docker, in Windows Subsystem for Linux (WSL)

Outcome

Deploy Frigate in WSL with stable storage, acceleration options, and a clean upgrade/rollback path.

Audience and Scope

Audience: Home automation builder with intermediate Home Assistant and Docker experience
Estimated Time: 1-4 hours
Difficulty: intermediate

Before You Start

  • WSL2 and Docker Desktop installed.
  • Camera streams and storage paths planned.
  • CPU/GPU acceleration strategy chosen.

Hardware and Software

Hardware

  • Windows host with WSL2.
  • Docker Desktop + Frigate container.
  • Persistent volumes for config/media.

Software

  • Windows host with WSL2.
  • Docker Desktop + Frigate container.
  • Persistent volumes for config/media.

Step-by-Step

Step 1: Prepare WSL and Docker integration

Objective: Enable WSL integration for Docker Desktop and verify container networking.

Actions:

  • Implement prepare wsl and docker integration according to your environment.

Verification:

  • Confirm expected state in Home Assistant and logs.
  • Run a manual test to verify expected behavior.

Common failure and fix: If streams fail: test RTSP endpoints outside Frigate first.

Step 2: Create Frigate directories

Objective: Create persistent folders for config, recordings, clips, and database.

Actions:

  • Implement create frigate directories according to your environment.

Verification:

  • Confirm expected state in Home Assistant and logs.
  • Run a manual test to verify expected behavior.

Common failure and fix: If streams fail: test RTSP endpoints outside Frigate first.

Step 3: Build compose stack

Objective: Create compose file with mapped volumes, ports, and resource constraints.

Actions:

  • Implement build compose stack according to your environment.

Verification:

  • Confirm expected state in Home Assistant and logs.
  • Run a manual test to verify expected behavior.

Common failure and fix: If streams fail: test RTSP endpoints outside Frigate first.

Step 4: Configure camera streams

Objective: Add RTSP/stream configs and test ingest per camera.

Actions:

  • Implement configure camera streams according to your environment.

Verification:

  • Confirm expected state in Home Assistant and logs.
  • Run a manual test to verify expected behavior.

Common failure and fix: If streams fail: test RTSP endpoints outside Frigate first.

Step 5: Enable acceleration (if supported)

Objective: Configure hardware acceleration according to Frigate docs.

Actions:

  • Implement enable acceleration (if supported) according to your environment.

Verification:

  • Confirm expected state in Home Assistant and logs.
  • Run a manual test to verify expected behavior.

Common failure and fix: If streams fail: test RTSP endpoints outside Frigate first.

Step 6: Validate detections and retention

Objective: Confirm event detection, playback, and retention policies.

Actions:

  • Implement validate detections and retention according to your environment.

Verification:

  • Confirm expected state in Home Assistant and logs.
  • Run a manual test to verify expected behavior.

Common failure and fix: If streams fail: test RTSP endpoints outside Frigate first.

Validation Checklist

  • Frigate UI loads consistently.
  • Cameras ingest without excessive drops.
  • Recordings/retention work as configured.

Operations and Maintenance

  • Document update cadence for packages and containers.
  • Schedule backup verification.
  • Record service health baselines and alert thresholds.

Troubleshooting and Rollback

  • If streams fail: test RTSP endpoints outside Frigate first.
  • If high CPU: lower frame rates and detector load.
  • If upgrade breaks config: revert to previous image tag and config backup.

Source Links