RustDesk
RustDesk est une application de prise en main à distance, chiffrée de bout en bout, avec un serveur qu’il est possible d’héberger. Elle fonctionne aussi bien en LAN qu’en accès externe via Internet.
Ses points forts :
- Open source et gratuit
- Fonctionne sans configuration réseau complexe (NAT, etc.)
- Serveur d’identification et de relais en auto hébergement
- Application disponible sur Windows, Linux, macOS, Android, iOS

Pourquoi l’auto-héberger ?
Héberger vous-même les serveurs hbbs (serveur public) et hbbr (serveur de relais) permet :
- de garantir que vos connexions ne passent par aucun tiers
- de supprimer toute dépendance à l’infrastructure de RustDesk
- d’intégrer RustDesk dans votre écosystème existant (reverse proxy, DNS, etc.)
Installation
Le fichier docker-compose.yml :
services:
hbbs:
image: docker.io/rustdesk/rustdesk-server:latest
container_name: rustdesk
hostname: hbbs
command: hbbs
env_file: rustdesk.env
ports:
- 21115:21115
- 21116:21116/tcp
- 21116:21116/udp
volumes:
- ./files:/root
depends_on:
- hbbr
restart: always
hbbr:
image: docker.io/rustdesk/rustdesk-server:latest
container_name: rustdesk-relay
hostname: hbbr
command: hbbr
ports:
- 21117:21117
volumes:
- ./files:/root
restart: alwaysEt son fichier rustdesk.env associé :
ALWAYS_USE_RELAY=NSi cela est possible, RustDesk effectuera une connexion peer to peer entre les 2 machines pour de meilleures performances. Mais vous pouvez forcer l’utilisation du serveur de relais.
Firewall
Dans le cas où vous utilisez un firewall, pensez à ouvrir les ports en conséquence. Certains ne nécessitent que du TCP, et un nécessite à la fois du TCP et de l’UDP. Regardez directement le fichier docker-compose.yml pour avoir les informations.
Si comme moi vous utilisez ufw, voici les commandes à passer pour l’ajout des ports :
sudo ufw allow 21115/tcp
sudo ufw allow 21116
sudo ufw allow 21117/tcpConfiguration côté client
Dans l’appli RustDesk (sur desktop ou mobile), il suffit d’indiquer les éléments suivants dans les paramètres, dans Serveur ID/relais :
- Serveur ID : l’IP ou le nom DNS de votre serveur
- Serveur relais : même chose
- Serveur API : laissez-le à vide
- Key : Clé publique générée par RustDesk (fichier
id_ed25519.pubprésent dans le volume)

Important
Tous les appareils que vous voulez faire communiquer doivent désormais passer par ce même serveur