4 Minuten
RustDesk: Selbstgehostete Alternative zu TeamViewer mit Docker
Einführung
RustDesk ist eine kostenlose, Open-Source-Fernwartungssoftware, die als selbstgehostete Alternative zu TeamViewer oder AnyDesk dient. Im Gegensatz zu den kommerziellen Lösungen läuft dein eigener RustDesk-Server vollständig unter deiner Kontrolle, ohne Gebühren oder Lizenzbeschränkungen.
Die Vorteile von RustDesk:
- 100% kostenlos und Open Source
- Selbstgehostet - volle Kontrolle über deine Daten
- Keine Nutzungslimits - so viele Verbindungen wie du willst
- Moderne Verschlüsselung - sicherer Datenverkehr
- Multi-Plattform - Windows, Linux, macOS, Android, iOS
- Niedrige Latenz - optimierte Übertragung
Was benötigt wird
Um einen selbstgehosteten RustDesk-Server einzurichten, benötigst du:
- Einen VPS oder Server mit öffentlicher IP-Adresse
- Docker und Docker Compose installiert
- Root- oder sudo-Zugriff
- Offene Ports:
21115-21119/tcpund21116/udp
RustDesk-Server mit Docker Compose einrichten
Schritt 1: Projektverzeichnis erstellen
mkdir -p ~/rustdesk-server
cd ~/rustdesk-server
Schritt 2: Docker Compose-Datei erstellen
Erstelle eine docker-compose.yml Datei:
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
Wichtige Parameter:
hbbsist der Relay-Server (ID-Server)hbbrist der Relay-Server (Rendezvous-Server)network_mode: "host"- Verwendet das Host-Netzwerk für beste Performance und das Erkennen der korrekten IPs./data- Hier werden die Schlüssel gespeichert
Schritt 3: Server starten
docker compose up -d
Prüfe, ob beide Container laufen:
docker compose ps
Schritt 4: Firewall konfigurieren
Öffne die erforderlichen Ports:
UFW (Ubuntu/Debian):
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
sudo ufw reload
Firewalld (CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=21115-21119/tcp
sudo firewall-cmd --permanent --add-port=21116/udp
sudo firewall-cmd --reload
Schritt 5: Server-Key kopieren
Nach dem ersten Start wird ein öffentlicher Schlüssel erstellt:
cat data/id_ed25519.pub
Kopiere den vollständigen Inhalt dieser Datei - du benötigst ihn für die Client-Konfiguration.
Schritt 6: Status prüfen
docker compose logs -f
Du solltest beide Services ohne Fehler laufen sehen.
RustDesk-Client konfigurieren
Standard-Client
- Lade den RustDesk-Client von rustdesk.com herunter
- Öffne die Netzwerk-Einstellungen
- Trage folgende Informationen ein:
- ID-Server:
rustdesk.example.com(oder deine IP) - Relay:
rustdesk.example.com:21117 - API: (optional)
- Key: Füge den kompletten Inhalt von
id_ed25519.pubein
- ID-Server:
Automatische Konfiguration mit Custom Client
Um die Konfiguration zu vereinfachen und sicherzustellen, dass alle Clients automatisch deinen Server verwenden, kannst du einen Custom Client mit rdgen.crayoneater.org erstellen.
Schritt 1: Custom Client Builder aufrufen
Öffne https://rdgen.crayoneater.org in deinem Browser.
Schritt 2: Basis-Konfiguration
Plattform auswählen:
- Wähle deine Zielplattform (z.B. Windows 64Bit)
General Settings:
- Name: Einen eindeutigen Namen eingeben (z.B.
rustdesk-server) - Custom Application Name: Optional einen benutzerdefinierten Namen
- Connection Type:
Bidirectional
Schritt 3: Custom Server konfigurieren
Die wichtigsten Einstellungen für einen selbstgehosteten Server:
Host:
rustdesk.example.com
(oder deine Server-IP)
Key:
Füge hier den vollständigen Inhalt von id_ed25519.pub ein:
Veröffentlichter Schlüssel hier...
API: (Optional)
http://rustdesk.example.com:21114
Schritt 4: Sicherheit konfigurieren
Password Approve mode:
Accept sessions via password- StandardeinstellungAccept sessions via both- Für flexiblere Nutzung
Permanent Password: (Empfohlen)
- Setze ein Standard-Passwort
- Kann später vom Client geändert werden
Zusätzliche Sicherheitsoptionen:
Deny LAN discovery- Verhindert lokale Netzwerk-SucheEnable direct IP access- Ermöglicht direkte IP-VerbindungenAutomatically close incoming sessions on user inactivity- Sicherheitsfeature
Schritt 5: Visuelle Anpassungen (Optional)
- Custom App Icon - Eigenes Icon hochladen (.png Format)
- Custom App Logo - Eigenes Logo hochladen
- Theme:
DarkoderLight
Schritt 6: Berechtigungen
Definiere die Standard-Permissions für den Client:
Empfohlene Standard-Berechtigungen:
- Enable keyboard/mouse ✓
- Enable clipboard ✓
- Enable file transfer ✓
- Enable audio (Optional)
- Enable TCP tunneling ✓
- Enable remote restart ✓
Schritt 7: Client generieren
Klicke auf “Generate Custom Client” und lade die generierte Datei herunter.
Installation des Custom Clients
- Verteile die generierte Installationsdatei an deine Nutzer
- Installiere den Custom Client wie eine normale Anwendung
- Der Client ist bereits vorkonfiguriert und verbindet automatisch mit deinem Server
- Nutzer müssen nur ihre ID und das Permanent Password eingeben
Wartung und Updates
Container updaten
cd ~/rustdesk-server
docker compose pull
docker compose up -d
Logs anzeigen
docker compose logs -f hbbs
docker compose logs -f hbbr
Server neustarten
docker compose restart
Troubleshooting
Verbindung schlägt fehl
- Prüfe, ob die Firewall-Ports geöffnet sind
- Stelle sicher, dass der Key korrekt eingefügt wurde
- Prüfe die Logs:
docker compose logs
Hohe Latenz
- Verwende
network_mode: "host"für beste Performance - Stelle sicher, dass Server und Client gute Internetverbindungen haben
Container starten nicht
docker compose down
docker compose up -d
Fazit
RustDesk ist eine hervorragende selbstgehostete Alternative zu kommerziellen Fernwartungslösungen wie TeamViewer. Mit Docker Compose ist die Einrichtung innerhalb weniger Minuten erledigt, und durch den Custom Client Builder wird die Verteilung und Konfiguration für Endnutzer zum Kinderspiel.
Die Kombination aus selbstgehostetem Server und Custom Client bietet maximale Kontrolle über deine Remote-Zugriffe, ohne dabei auf moderne Features zu verzichten.