Linux (Bare-Metal)
Für Always-on-Server ohne Docker: camera.ui wird über npm installiert und läuft als systemd-Service. Ubuntu 24.04 (oder neuer) ist die getestete Basis. Siehe Systemanforderungen.
Voraussetzungen
64-bit-Linux (x64 oder arm64) mit systemd
Node.js 24, z.B. via NodeSource:
bashcurl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - sudo apt-get install -y nodejs
FFmpeg, go2rtc und eine portable Python-Runtime für die Erkennungs-Plugins lädt und verwaltet camera.ui selbst.
Installation
sudo npm install -g camera.ui
sudo cameraui install --user camerauicameraui install legt den Service-User an, falls er nicht existiert, registriert einen systemd-Service namens cameraui und startet ihn beim Boot. Der erste Start lädt den Server und dauert ein paar Minuten (sudo cameraui logs --user cameraui zeigt den Fortschritt). Die Web-UI läuft danach auf https://<host>:3443.
Braucht der Service-User GPU-Zugriff für Hardware-Beschleunigung, füge ihn den video/render-Gruppen deiner Distribution hinzu. --group video greift nur, wenn der Install den User anlegt. Existiert der User schon, führe sudo usermod -aG video cameraui aus und starte den Service neu.
Worker-Modus
Damit diese Maschine als Worker für einen anderen camera.ui-Server läuft, hänge --worker an den Install-Befehl:
sudo cameraui install --user cameraui --workerDas Flag wird mit dem Service gespeichert, die Maschine kommt nach einem Reboot also wieder als Worker hoch. Erzeuge auf dem Haupt-Server einen Pairing-Code, trag das Snippet wie auf der Worker-Seite beschrieben in die Config dieser Maschine ein und führe dann sudo cameraui restart --user cameraui aus.
Service verwalten
cameraui status # Service-Zustand
sudo cameraui logs --user cameraui # Logs verfolgen
sudo cameraui restart --user cameraui # ebenso: start / stop
sudo cameraui update-server # auf das neueste Server-Release aktualisieren
sudo cameraui update-server 1.2.3 # oder eine bestimmte Version pinnenDer Service läuft unter einem eigenen User, alles außer status braucht also sudo und dasselbe --user, mit dem du installiert hast. Hast du mit -H <pfad> installiert, gib stattdessen das an.
Die Updates-Seite macht dasselbe in der Weboberfläche; update-server ist das CLI-Pendant.
Daten
Alles liegt im Home des Service-Users unter ~/.camera.ui (Config, Datenbank, Aufnahmen, TLS-Zertifikate). Das ist das Verzeichnis fürs Backup. Ein anderer Ort lässt sich beim Install mit -H <pfad> setzen.
Hardware-Beschleunigung
Video-Beschleunigung ist automatisch, auf Bare-Metal liefert aber der Host die Treiber, die die Docker-Images sonst mitbringen:
- Intel-GPU:
sudo apt install intel-media-va-driver-non-free(VA-API/QSV). Für OpenVINO- oder OpenCL-Inferenz auf der GPU zusätzlich die OpenCL-Runtime:sudo apt install ocl-icd-libopencl1 intel-opencl-icd - AMD-GPU:
sudo apt install mesa-va-drivers - NVIDIA: der normale Treiber (z.B.
sudo ubuntu-drivers install); das Container Toolkit ist Docker-spezifisch, hier nicht nötig. Für CUDA-Erkennung mit dem ONNX-Plugin müssen zusätzlich die CUDA-13-Bibliotheken und cuDNN 9 aufs System (NVIDIA-apt-Repo:sudo apt install cuda-libraries-13-2 cudnn9-cuda-13); das ONNX-Legacy-Plugin will stattdessen CUDA 12. Die Docker-Images bringen beides mit, Bare-Metal nicht - Coral Edge TPU: die
libedgetpu-Runtime plus (bei PCIe/M.2) der gasket-Kernel-Treiber, siehe Coral-Abschnitt - Hailo: der Kernel-Treiber, siehe Hailo-Abschnitt
Device-Passthrough braucht es nicht. Die Erkennungs-Plugins loggen, was sie gefunden haben (Available devices: …).
Deinstallation
sudo cameraui uninstall # entfernt den systemd-Service
sudo npm remove -g camera.uiDas Datenverzeichnis (~/.camera.ui) bleibt unangetastet.