Version: 25.6.01

RustDesk is a free, open-source remote desktop tool — similar to TeamViewer or AnyDesk — that allows secure remote access and support between devices. Unlike proprietary solutions, RustDesk allows you to host your own server, giving you full privacy and data control.
🔍 What is RustDesk?
- Cross-platform: Windows, macOS, Linux, Android, iOS
- End-to-end encrypted
- Uses a public server by default – but can also be self-hosted
- Written in Rust, making it fast and resource-efficient
🛠️ Everyday Use Cases
- Remote support for family PCs (e.g., helping grandparents with computer issues)
- IT support in companies – without expensive license models
- Accessing your own PC while on the go
- Self-hosted control over privacy and security
- Managing and developing servers via GUI access
✅ Advantages over Commercial Solutions
RustDesk | Commercial Providers |
---|---|
Open Source | Closed Source |
Self-hosted Server | Provider-hosted Cloud |
Free to Use | License Fees |
No Account Required | Registration Required |
🔧 Requirements
- A Linux server or VPS (Ubuntu recommended)
- Docker & Docker Compose installed
- A public IP
- Open ports: 21115–21119 TCP and 21115+21116 UDP
We start and log in to the server:
ssh Username@Server-IP
Navigate to your Docker project folder, which in my case is located under /home/
.
cd /home/
A folder named “rustdesk” is created:
mkdir rustdesk
And then navigated into:
cd rustdesk
📁 Now let’s focus on the RustDesk server and create the following file inside the /home/rustdesk
folder:
nano docker-compose.yml
We insert the following content into the file and save it:
version: '3.8'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
restart: always
volumes:
- ./data:/root
command: hbbs -r VPS-IP:21117
ports:
- "21115:21115/udp"
- "21115:21115/tcp"
- "21116:21116/udp"
- "21116:21116/tcp"
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
restart: always
volumes:
- ./data:/root
command: hbbr
ports:
- "21117:21117/tcp"
- "21118:21118/tcp"
- "21119:21119/tcp"
⚠️ IMPORTANT: VPS-IP
= This is the IP address of your VPS server. Make sure to replace it accordingly.
We start the RustDesk server with:
docker compose up -d
Now let’s take a look at the public key:
cd /home/rustdesk/data
After that:
nano id_ed25519.pub
We now see the public key in the file, which the clients need in order to connect to the RustDesk server:

Firewall settings:
Ports 21115 to 21119 are opened for TCP.
Additionally, ports 21115 and 21116 are also opened for UDP.
✅ What have we accomplished in this tutorial?
- Set up your own RustDesk server for remote support (Client software: https://rustdesk.com)
- Secured with end-to-end encryption
- Configured the firewall to allow required ports (on your VPS or via UFW)
All done! 😊

bc1q8dxp9mlt3mkvaklu2vn8j6jteqyv53kschc90v

Lightning: itsc@strike.me
