Eigenen RustDesk-Server mit Docker installieren¶
Veröffentlicht am 7. August 2026 · Geschätzte Lesezeit: 4 Minuten
Mit einem eigenen RustDesk-Server laufen Verbindungsaufbau und bei Bedarf auch
der Relay-Datenverkehr über deinen Server. hbbs vermittelt die Geräte, hbbr
leitet eine Verbindung weiter, falls keine direkte Verbindung möglich ist. Die
Einrichtung auf einem Linux-Server dauert ungefähr 20 Minuten.
Voraussetzungen
- Ein Linux-Server mit Docker und Docker Compose
- Eine feste öffentliche IP oder ein DNS-Name für den Server
- Freie Ports 21115 bis 21117/TCP und 21116/UDP
- SSH-Zugriff und ein Benutzer mit
sudo-Rechten
1. Ordner vorbereiten¶
Führe diese Befehle auf dem RustDesk-Server aus. Der Unterordner data enthält
später Datenbank und Schlüsselpaar:
sudo mkdir -p /opt/rustdesk-server/data
sudo chown -R "$USER":"$USER" /opt/rustdesk-server
cd /opt/rustdesk-server
2. Compose-Datei anlegen¶
Erstelle in /opt/rustdesk-server die Datei compose.yaml. Diese Konfiguration
verwendet das von RustDesk für Linux empfohlene Host-Netzwerk.
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
command: hbbs
volumes:
- ./data:/root
network_mode: host
depends_on:
- hbbr
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
command: hbbr
volumes:
- ./data:/root
network_mode: host
restart: unless-stopped
Nur für Linux
network_mode: host funktioniert in dieser Form auf Linux. Nutzt du Docker
Desktop auf Windows oder macOS, verwende stattdessen die dort passenden
Portfreigaben aus der offiziellen RustDesk-Dokumentation.
3. Firewall öffnen¶
Bei einer aktiven UFW-Firewall öffnest du auf dem Server nur die für Desktop- Clients erforderlichen Ports:
Wenn der Server zu Hause steht, leite dieselben Ports im Router an seine feste interne IP weiter. Bei einem gemieteten Server müssen sie zusätzlich in der Firewall des Anbieters erlaubt sein.
Web-Client nicht benötigt
Die Ports 21118 und 21119 bleiben hier bewusst geschlossen. RustDesk warnt, dass diese WebSocket-Ports nur geschützt hinter einem korrekt eingerichteten Reverse Proxy veröffentlicht werden sollten.
4. Server starten¶
Starte beide Dienste im Ordner /opt/rustdesk-server:
Prüfe ihren Zustand:
Kontrolliere anschließend die letzten Meldungen von Vermittlungs- und Relay- Server:
5. Öffentlichen Schlüssel anzeigen¶
Beim ersten Start erzeugt hbbs ein Schlüsselpaar. Zeige den öffentlichen
Schlüssel auf dem Server an:
Kopiere ausschließlich die angezeigte einzelne Zeile. Die Datei
id_ed25519 ohne .pub ist der private Schlüssel und darf den Server nie
verlassen.
6. RustDesk-Clients verbinden¶
Öffne auf jedem beteiligten Gerät im RustDesk-Client das Menü neben der eigenen ID und gehe zu Netzwerk. Trage folgende Werte ein:
- ID-Server:
<rustdesk-domain>:21116 - Relay-Server: leer lassen; RustDesk leitet ihn normalerweise selbst her
- Key: Inhalt aus
id_ed25519.pub - API-Server: leer lassen; er gehört zur Pro-Ausgabe
Ersetze <rustdesk-domain> durch den DNS-Namen oder die öffentliche IP deines
Servers. Die Einstellungen müssen auf beiden Geräten stimmen.
Fernzugriff bewusst freigeben
Akzeptiere niemals unerwartete Verbindungsanfragen. Aktiviere unbeaufsichtigten Zugriff nur auf eigenen Geräten, verwende dafür ein langes, einmaliges Passwort und beschränke die erlaubten Rechte im RustDesk-Client.
7. Backup und Rückweg¶
Das Backup muss besonders das Schlüsselpaar enthalten. Ohne den bisherigen Schlüssel melden bereits eingerichtete Clients einen falschen Serverschlüssel.
Stoppe den Stack kurz:
Lege den Zielordner an, falls er noch nicht vorhanden ist:
Erstelle auf dem Server ein datiertes Archiv:
sudo tar -czf "/var/backups/rustdesk-server-$(date +%F).tar.gz" -C /opt/rustdesk-server data compose.yaml
Starte die Dienste wieder:
Für den Rückweg entpackst du bei gestopptem Stack das gewünschte Archiv wieder
nach /opt/rustdesk-server. Bewahre das Backup verschlüsselt auf, weil es den
privaten Serverschlüssel enthält.
8. Aktualisieren und typische Fehler¶
Lege zuerst ein Backup an. Aktualisiere danach das Image und erstelle beide Container neu:
- „Key mismatch“: Auf beiden Clients den Inhalt der aktuellen Datei
id_ed25519.pubeintragen. Prüfen, ob das Datenverzeichnis ersetzt wurde. - „Not ready“ oder keine ID: TCP 21116 und UDP 21116 in Server-Firewall, Anbieter-Firewall und Router prüfen.
- Direktverbindung scheitert: TCP 21117 muss für den Relay-Server erreichbar sein; Relay-Verkehr kann deutlich mehr Bandbreite verbrauchen.
- Container startet ständig neu: Mit dem folgenden Befehl die Ursache lesen:
9. Quellen und Video¶
- Offizielle RustDesk-Docker-Anleitung
- Offizielle Übersicht zu Diensten und Ports
- Offizielle Client-Konfiguration
- Video: RustDesk selbst hosten mit Docker
Fertig¶
hbbs und hbbr laufen nun mit dauerhaft gespeicherten Schlüsseln. Starte auf
zwei eingerichteten Geräten RustDesk, gib die ID des jeweils anderen Geräts ein
und baue eine genehmigte Testverbindung auf. In docker compose logs hbbs hbbr
sollten dabei neue Verbindungen erscheinen.