Frigate na ROCm w kontenerze LXC

Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał

Myślałem, że najlepszą opcją uruchomienia Frigate jest uruchomienie na bare metal, z pominięciem wirtualizacji i kontenerów systemowych. Teraz jednak sytuacja trochę się zmieniła, bo udało mi się odpalić Frigate w kontenerze LXC na Proxmoksie z niewielką pomocą sprzętowego dekodowania wideo AMD ROCm.

I tak, detekcja wysypuje się na ONNX i musi działać na CPU… ale dekodowanie wideo działa dobrze. Co więcej, detekcja na 16 x AMD Ryzen 7 255 z grafiką Radeon 780M (1 gniazdo) działa bardzo dobrze przy niemal 20 strumieniach wideo (mieszanka H264 i H265). Możesz przełączyć się na Google Coral jako urządzenie USB przekazane do kontenera LXC, ale po co?

Kontener LXC #

Musisz mieć następujące ustawienia:

Text
/dev/dri/renderD128
fuse
mknod
nesting
privileged

Instalacja ROCm #

Bash
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html
wget https://repo.radeon.com/amdgpu-install/7.1.1/ubuntu/noble/amdgpu-install_7.1.1.70101-1_all.deb
sudo apt install ./amdgpu-install_7.1.1.70101-1_all.deb
sudo apt update
sudo apt install python3-setuptools python3-wheel
sudo usermod -a -G render,video $LOGNAME # Add the current user to the render and video groups
sudo apt install rocm

Docker CE #

Bash
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Konfiguracja kontenera Frigate #

Bash
docker run --name=frigate --privileged --volume /frigate-config:/config --volume /frigate-media:/media/frigate --expose=5000 -p 8554:8554 -p 8555:8555 -p 8555:8555/udp -p 8971:8971 --restart=unless-stopped --device /dev/dri/renderD128:/dev/dri/renderD128 --detach=true --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000 --shm-size=2000m ghcr.io/blakeblackshear/frigate:stable-rocm

Konfiguracja Frigate #

YAML
environment_vars:
  LIBVA_DRIVER_NAME: radeonsi
  HSA_OVERRIDE_GFX_VERSION: 10.3.0

ffmpeg:
  hwaccel_args: preset-vaapi

Dalsza lektura #

https://forum.proxmox.com/threads/tutorial-run-llms-using-amd-gpu-and-rocm-in-unprivileged-lxc-container.157920/
https://github.com/blakeblackshear/frigate/discussions/5773
https://community.home-assistant.io/t/frigate-coral-usb-proxmox/752563
https://github.com/blakeblackshear/frigate/discussions/18732

Wersja Markdown

Wszystkie treści na tej stronie są udostępniane na licencji Uznanie autorstwa – Użycie niekomercyjne – Bez utworów zależnych 4.0 Międzynarodowe (CC BY-NC-ND 4.0). Cytuj jako: Michał Sobczak, „Frigate na ROCm w kontenerze LXC”, 19 stycznia 2026, https://michalasobczak.pl/pl/posts/frigate-on-rocm-in-lxc-container.html