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.

  1. Open the Network>ID/Relay server settings on your RustDesk client.

  2. It will ask for four pieces of information, but you only need to provide the ID server and the Key.

  3. For the ID server, put the IP address of the server hosting RustDesk over port 21116.

  4. For the key, copy and paste the key that was generated in the id_ed25519.pub file.

  5. 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