Skip to content

Livekit Server

Andreas edited this page Mar 7, 2025 · 4 revisions

LiveKit RTC Server Installation auf Debian mit Caddy und Redis

Diese Anleitung führt Sie durch die Installation eines LiveKit RTC-Servers auf einem Debian-System. Wir verwenden Caddy als Reverse-Proxy und SSL-Terminierung sowie Redis als Datenbank. Diese Konfiguration ist für Produktionsumgebungen geeignet und unterstützt eine breite Palette von Konnektivitätsoptionen, einschließlich Verbindungen hinter VPNs und Firewalls (über TURN/TLS).


Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  1. Ein Debian-System (vorzugsweise die neueste stabile Version).
  2. Root-Zugriff oder ein Benutzer mit sudo-Berechtigungen.
  3. Eine öffentliche IP-Adresse und ein Domainname, der auf diese IP verweist (für SSL-Zertifikate).
  4. Grundlegende Kenntnisse in der Arbeit mit der Linux-Kommandozeile.

Starten des Servers im Entwicklungsmodus

Sie können LiveKit im Entwicklungsmodus starten, indem Sie den folgenden Befehl ausführen:

LiveKit im Entwicklungsmodus starten


Bereitstellung auf einer virtuellen Maschine (VM)

Dieser Leitfaden hilft Ihnen, einen produktionsreifen LiveKit-Server auf einer Cloud-VM einzurichten. Diese Konfiguration verwendet Docker Compose und Caddy. Ihr LiveKit-Server unterstützt eine breite Palette von Konnektivitätsoptionen, einschließlich Verbindungen hinter VPNs und Firewalls (über TURN/TLS).

Sie benötigen keine separaten SSL-Zertifikate für dieses Setup, da wir diese automatisch mit Caddy bereitstellen (über Let's Encrypt oder ZeroSSL).

Falls gewünscht, kann der Generator auch bei der Einrichtung von LiveKit Ingress und Egress helfen. Dies ermöglicht es Ihnen, Medien aus anderen Quellen zu erfassen und Aufzeichnungsfunktionen zu aktivieren.

Die LiveKit-Konfiguration finden Sie in der Dokumentation: LiveKit-Konfigurationscontainer.


Bereitstellung auf einem Server mit Systemd-Dienst

1. Redis Server und Caddy installieren

Aktualisieren Sie das System und installieren Sie die erforderlichen Pakete:

apt update && apt upgrade -y
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl lsb-release gpg

Fügen Sie die Redis- und Caddy-Repositories hinzu:

curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list

curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/gpg.key | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt | tee /etc/apt/sources.list.d/caddy-stable.list

Installieren Sie Redis und Caddy:

apt-get update
apt-get install -y redis
apt-get install -y caddy
  1. Caddy als Reverse-Proxy für LiveKit einrichten

Fügen Sie die folgende Caddy-Konfiguration hinzu, um den Reverse-Proxy und die SSL-Erstellung zu aktivieren. Die Systemd-Konfiguration muss in /etc/systemd/system/caddy-server.service platziert werden:

[Unit]
Description=Livekit-Server by H2 invent
After=syslog.target network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=caddy reverse-proxy --to 127.0.0.1:7880
Restart=always

[Install]
WantedBy=multi-user.target

Starten Sie den Caddy-Server neu:

systemctl daemon-reload
systemctl start caddy-server
systemctl enable caddy-server
  1. LiveKit-Binary von GitHub herunterladen

Laden Sie die LiveKit-Binary von GitHub herunter:

cd /tmp/
wget https://github.com/livekit/livekit/releases/download/v1.8.4/livekit_1.8.4_linux_amd64.tar.gz
tar -zvxf livekit_1.8.4_linux_amd64.tar.gz
cp livekit-server /opt/livekit/
chown -R root /opt/livekit/
chmod +x /opt/livekit/livekit-server
  1. Systemd-Dienst und LiveKit-Konfiguration erstellen

Erstellen Sie die Systemd-Dienstkonfiguration für den LiveKit-Server in /etc/systemd/system/livekit-rtc.service:

[Unit]
Description=Livekit-Server by H2 invent
After=syslog.target network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/livekit/
ExecStart=/opt/livekit/livekit-server --bind 127.0.0.1 --config /opt/livekit/live-config.yaml
Restart=always
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Erstellen Sie die LiveKit-Konfigurationsdatei in /opt/livekit/livekit-config.yaml:

port: 7880
redis:
  address: 127.0.0.1:6379
rtc:
  tcp_port: 7881
  use_external_ip: true
  udp_port: 7882-7892

Starten Sie den LiveKit-Server:

systemctl daemon-reload
systemctl start livekit-rtc
systemctl enable livekit-rtc

Nützliche Tipps für weniger erfahrene Sysadmins

Fehlerbehebung: Überprüfen Sie die Logs, wenn der Dienst nicht startet:

journalctl -u livekit-rtc -f
  • Firewall-Einstellungen: Stellen Sie sicher, dass die Ports 7880, 7881 und 7882-7892 in Ihrer Firewall geöffnet sind.
  • Domainname: Wenn Sie keinen Domainnamen haben, können Sie einen kostenlosen bei Diensten wie DuckDNS erhalten.
  • Sicherheit: Ändern Sie das Standardpasswort für Redis und beschränken Sie den Zugriff auf vertrauenswürdige IPs.
  • Backup: Erstellen Sie regelmäßig Backups Ihrer Redis-Datenbank.

Fazit

Mit dieser Anleitung haben Sie einen LiveKit RTC-Server auf Debian mit Caddy und Redis eingerichtet. Diese Konfiguration ist sicher, skalierbar und für den produktiven Einsatz geeignet. Bei Fragen oder Problemen konsultieren Sie die offizielle LiveKit-Dokumentation.

Clone this wiki locally