RustDesk ‐ Client server installation and configuration - mluchettii/github-wiki-mluchetti GitHub Wiki
Environment: RaspberryPi OS (Debian), Fedora Server 42, Windows 11 | Docker, Tailscale
Table of Contents
Client
Download
Download the latest release for your system:
https://github.com/rustdesk/rustdesk/releases
Installation
Windows
Simply download the 64-bit EXE/MSI installer and install the program.
Fedora
Open the terminal and navigate to where the package file was downloaded. Use the following command to install the package:
sudo dnf install ./rustdesk-1.4.2-0.x86_64.rpm
Usage
Open RustDesk to view your connection ID:
You are now ready to connect to another client's desktop by supplying its ID. Note that self-hosting your own RustDesk server gives you a faster connection.
Optional: The instructions below are for self-hosting a RustDesk server.
Server
Self-hosting your own RustDesk ensures a higher quality connection between your clients. I set up my server on a Pi using Docker.
Firewall setup
If UFW firewall is installed, use these commands to configure the firewall to allow the server to communicate:
ufw allow 21114:21119/tcp
ufw allow 21116/udp
sudo ufw enable
Installation
Docker installation method:
bash <(wget -qO- https://get.docker.com) # remove this line if Docker is already installed,
wget rustdesk.com/oss.yml -O compose.yml # or press Ctrl + C when prompted by the terminal
sudo docker compose up -d
This will add the RustDesk hbbr and hbbs containers to your Docker environment.
I then used Portainer to check the logs of the hbbs container. The first time the container starts, it writes a public key to a file named id_ed25519.pub located in the working directory / data folder of the container -- this key can be viewed from the logs as well:
[2025-10-05 15:45:18.127422 +00:00] INFO [src/common.rs:147] Private/public key written to id_ed25519/id_ed25519.pub
[2025-10-05 15:45:18.127462 +00:00] INFO [src/rendezvous_server.rs:1205] Key: OjH1Yxxxxx
The server also listens on TCP/UDP port 21116:
[2025-10-05 15:45:18.188702 +00:00] INFO [src/rendezvous_server.rs:101] Listening on tcp/udp :21116
Client configuration
This configuration must be done on every client that you want to connect to.
-
Open the Network>ID/Relay server settings on your RustDesk client.
-
It will ask for four pieces of information, but you only need to provide the
ID serverand theKey. -
For the ID server, put the IP address of the server hosting RustDesk over port 21116.
-
For the key, copy and paste the key that was generated in the
id_ed25519.pubfile. -
The Relay server and API server can be left blank, they will be recognized automatically.
Your configuration should look similar to this:
For more security, I am using my Pi's Tailscale IP address
The hbbs logs show that my Windows client connected to the server via the Tailscale VPN mesh network:
[2025-10-05 16:07:43.329019 +00:00] INFO [src/peer.rs:102] update_pk 29176065 [::ffff:100.x.x.128]:60031 ...
Result
Connection successful via the self-hosted server on my VPN mesh network