RustDesk – An Open Source Remote Support Alternative to AnyDesk and TeamViewer
Introduction: Why RustDesk?
If you’ve used AnyDesk or TeamViewer, you know how helpful remote desktop tools are. But many users—especially freelancers, small business owners, or VPS admins—are starting to ask:
“Is there a free, secure, and private alternative?”
Yes, there is. It’s called RustDesk.
RustDesk is a free and open-source remote desktop software that works just like AnyDesk or TeamViewer, but with one major advantage: you can self-host it. That means you control your data, not some big tech company.
Whether you’re an IT support person, managing multiple servers, or just helping your family with tech issues, RustDesk is a solid choice—especially if you care about privacy, simplicity, and cost.
Who Can Benefit from RustDesk?
RustDesk isn’t just for developers. Here are a few real-world examples:
- Freelancers: Support clients remotely without paying monthly fees.
- IT Support Teams: Help staff or customers with secure, private connections.
- Small Teams & Startups: Avoid expensive commercial licenses.
- Bloggers & VPS Users: Access your Linux servers securely from anywhere.
- Families & Friends: Help your parents or kids with tech issues at no cost.
RustDesk vs AnyDesk vs TeamViewer (Feature Comparison)
Here’s a quick look at how RustDesk compares:
Feature | RustDesk | AnyDesk | TeamViewer |
---|---|---|---|
Price | Free (Open Source) | Free (limited) / Paid | Free (personal) / Paid |
Self-Hosting Option | ✅ Yes | ❌ No | ❌ No |
Peer-to-Peer Connection | ✅ Yes | ✅ Yes | ✅ Yes |
File Transfer | ✅ Yes | ✅ Yes | ✅ Yes |
Works on Windows/Linux/macOS | ✅ Yes | ✅ Yes | ✅ Yes |
Mobile App (iOS/Android) | ✅ Yes | ✅ Yes | ✅ Yes |
Privacy Control | ✅ Full (Self-hosted) | ❌ Server-based | ❌ Server-based |
Branding Options | ✅ Customizable (DIY) | ✅ (Enterprise plan) | ✅ (Enterprise plan) |
Using RustDesk Without a Server (Peer-to-Peer)
If you just want a quick remote session—say, to help a friend—you don’t need to set up a server.
Here’s how:
- Both users download and install the RustDesk client from rustdesk.com.
- The person needing help shares their RustDesk ID and password.
- The helper enters that ID and connects—just like AnyDesk or TeamViewer.
Simple, fast, and no setup required.
But for maximum privacy and speed, we recommend self-hosting. Let’s walk through it.
How to Self-Host RustDesk on a VPS (Docker)
If you have a VPS (like from Hetzner or Contabo), you can host RustDesk’s backend server (called hbbs
and hbbr
) yourself.
Here’s a beginner-friendly guide.
Requirements
- A VPS with Ubuntu 22.04 or 24.04 (2GB RAM works fine)
- Root or sudo access
- Docker and Docker Compose installed
- A domain (e.g.,
rustdesk.yourdomain.com
)
Step 1: Install Docker & Docker Compose
Connect to your VPS via SSH, then run:
bash <(wget -qO- https://get.docker.com)
Then install Docker Compose:
sudo apt install docker-compose -y
Step 2: Set Up Domain (A Record)
- Go to your domain provider (like GoDaddy or Cloudflare).
- Create an A Record pointing
rustdesk.yourdomain.com
to your VPS IP.
Step 3: Create Docker Compose File
Create a folder and a file:
mkdir -p ~/rustdesk && cd ~/rustdesk
nano compose.yml
Paste this content:
services:
hbbs:
container_name: hbbs
image: docker.io/rustdesk/rustdesk-server-pro:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: docker.io/rustdesk/rustdesk-server-pro:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
Step 4: Run the Server
Start the server using:
sudo docker compose up -d
Check it’s working:
sudo docker compose logs -f
You should see both hbbs
and hbbr
running without errors.
Step 5: Configure the RustDesk Client
- Download RustDesk on your PC.
- Open it → Click the three-dot menu → “ID/Relay Server”.
- Enter your domain (e.g.,
rustdesk.yourdomain.com
). - Leave ports and keys blank unless you’ve set them up.
- Click OK. The status should say “Ready”.
Extra: SSL, Firewall, and Port Forwarding
Important Ports to Allow:
21115-21119
(TCP + UDP)
Allow them in your VPS firewall:
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
Setting Up SSL with Nginx Proxy Manager (Recommended)
If you want to secure your RustDesk server with HTTPS (SSL), the easiest way is to use Nginx Proxy Manager. This helps you:
- Enable a free SSL certificate using Let’s Encrypt
- Avoid exposing raw ports in public
- Access your RustDesk server securely via a domain like
https://rustdesk.yourdomain.com
Need help setting it up?
Check out my full step-by-step guide here
Pro tip: With SSL in place, your remote desktop traffic stays encrypted and secure — especially important if you’re accessing it over the internet.
Security Tips
- Use strong passwords for your clients.
- Limit SSH access (use key-based auth).
- Disable root login if not needed.
- Use fail2ban to block brute-force attempts.
Optional: Set up a key-pair authentication in RustDesk for enhanced access control.
Common RustDesk Issues and Fixes
Problem: Can’t Connect
- Check if Docker containers are running.
- Make sure firewall ports are open.
- Double-check domain A record.
NAT Traversal Issues
- Use the public VPS IP.
- Confirm
network_mode: "host"
is set in yourcompose.yml
.
Self-Hosted Not Working
- Ensure you’ve configured the client to point to your own server.
- Check Docker logs for errors (
docker compose logs -f
).
Conclusion: RustDesk Is Worth It
RustDesk is a game-changer for anyone who wants full control over their remote desktop solution—without paying monthly fees.
Whether you’re running a blog, helping family with tech support, or managing servers, RustDesk gives you the freedom, privacy, and power that tools like AnyDesk and TeamViewer often charge for.
And the best part? It’s open-source and easy to self-host, even if you’re a beginner.