Getting Started
If you already have an environment with Linux and Docker installed, you can continue to Installing Frigate below.
If you already have Frigate installed in Docker or as a Home Assistant addon, you can continue to Configuring Frigate below.
Setting up hardware
This section guides you through setting up a server with Debian Bookworm and Docker.
Install Debian 12 (Bookworm)
There are many guides on how to install Debian Server, so this will be an abbreviated guide. Connect a temporary monitor and keyboard to your device so you can install a minimal server without a desktop environment.
Prepare installation media
- Download the small installation image from the Debian website
- Flash the ISO to a USB device (popular tool is balena Etcher)
- Boot your device from USB
Install and setup Debian for remote access
- Ensure your device is connected to the network so updates and software options can be installed
- Choose the non-graphical install option if you don't have a mouse connected, but either install method works fine
- You will be prompted to set the root user password and create a user with a password
- Install the minimum software. Fewer dependencies result in less maintenance.
- Uncheck "Debian desktop environment" and "GNOME"
- Check "SSH server"
- Keep "standard system utilities" checked
- After reboot, login as root at the command prompt to add user to sudoers
- Install sudo
apt update && apt install -y sudo
- Add the user you created to the sudo group (change
blake
to your own user)usermod -aG sudo blake
- Install sudo
- Shutdown by running
poweroff
At this point, you can install the device in a permanent location. The remaining steps can be performed via SSH from another device. If you don't have an SSH client, you can install one of the options listed in the Visual Studio Code documentation.
Finish setup via SSH
-
Connect via SSH and login with your non-root user created during install
-
Setup passwordless sudo so you don't have to type your password for each sudo command (change
blake
in the command below to your user)echo 'blake ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/user
-
Logout and login again to activate passwordless sudo
-
Setup automatic security updates for the OS (optional)
- Ensure everything is up to date by running
sudo apt update && sudo apt upgrade -y
- Install unattended upgrades
sudo apt install -y unattended-upgrades
echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | sudo debconf-set-selections
sudo dpkg-reconfigure -f noninteractive unattended-upgrades
- Ensure everything is up to date by running
Now you have a minimal Debian server that requires very little maintenance.
Install Docker
- Install Docker Engine (not Docker Desktop) using the official docs
- Specifically, follow the steps in the Install using the apt repository section
- Add your user to the docker group as described in the Linux postinstall steps
Installing Frigate
This section shows how to create a minimal directory structure for a Docker installation on Debian. If you have installed Frigate as a Home Assistant addon or another way, you can continue to Configuring Frigate.