---
url: /de/install/linux.md
---

# 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](/de/intro/requirements).

## Voraussetzungen

* 64-bit-Linux (x64 oder arm64) mit systemd
* **Node.js 24**, z.B. via [NodeSource](https://github.com/nodesource/distributions):

  ```bash
  curl -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

```bash
sudo npm install -g camera.ui
sudo cameraui install --user cameraui
```

`cameraui 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](/de/admin/workers) für einen anderen camera.ui-Server läuft, hänge `--worker` an den Install-Befehl:

```bash
sudo cameraui install --user cameraui --worker
```

Das 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](/de/admin/workers#einen-worker-koppeln) beschrieben in die Config dieser Maschine ein und führe dann `sudo cameraui restart --user cameraui` aus.

## Service verwalten

```bash
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 pinnen
```

Der 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](/de/install/updating#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](/de/install/hardware-acceleration), 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](https://developer.nvidia.com/cuda-downloads): `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](/de/install/hardware-acceleration#coral-edge-tpu)
* **Hailo:** der Kernel-Treiber, siehe [Hailo-Abschnitt](/de/install/hardware-acceleration#hailo-8-hailo-8l)

Device-Passthrough braucht es nicht. Die Erkennungs-Plugins loggen, was sie gefunden haben (`Available devices: …`).

## Deinstallation

```bash
sudo cameraui uninstall        # entfernt den systemd-Service
sudo npm remove -g camera.ui
```

Das Datenverzeichnis (`~/.camera.ui`) bleibt unangetastet.
