接下来介绍如何部署RustDesk Docker Compose 完整部署方式,如果你已经有一台 Linux 服务器,那么用 Docker 部署 RustDesk 服务端是最省事的方式。RustDesk 服务端主要包含两个核心组件:
hbbs:负责 ID 注册、设备发现hbbr:负责中继转发
大多数情况下,只要把这两个服务跑起来,再在客户端填入你的服务端地址,就能开始使用。
一、部署前准备
先准备好这些东西:
- 一台 Linux 服务器
- 已安装 Docker
- 有公网 IP,或者能被外网访问
- 防火墙 / 安全组已放行相关端口
如果你只是自己用,1 核 1G 的轻量云主机通常就够起步了。真正影响体验的,往往不是 CPU,而是网络线路和带宽。
二、目录准备
先创建部署目录:
mkdir -p /opt/rustdesk-server
cd /opt/rustdesk-server
mkdir -p data
三、编写 docker-compose.yml
在 /opt/rustdesk-server 目录下新建 docker-compose.yml:
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
command: hbbs -r IP地址:21117 #这里注意填写ip地址
network_mode: host
volumes:
- ./data:/root
restart: always
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
command: hbbr
network_mode: host
volumes:
- ./data:/root
restart: always
参考官网文档:

四、启动服务
执行:
docker compose up -d
查看运行状态:
docker compose ps
如果两个容器都正常运行,说明服务已经启动成功。
五、查看日志
如果你想确认服务是否正常,可以看日志:
查看 hbbs 日志:
docker logs -f rustdesk-hbbs
查看 hbbr 日志:
docker logs -f rustdesk-hbbr
如果日志没有明显报错,一般说明服务端本身没问题。
六、RustDesk 自建服务端常用端口说明
RustDesk 自建时,最容易出问题的地方就是端口没放通。常见需要关注的端口有:
2111521116211172111821119
不同版本、不同部署方式,端口使用情况可能会有差异,正式上线前建议以官方文档为准进行核对。
七、Rocky Linux 9 防火墙放行示例
如果你的服务器是 Rocky Linux 9 / RHEL 9 / AlmaLinux 9,通常默认使用 firewalld。
先查看防火墙状态:
systemctl status firewalld
如果在运行,就放行端口:
firewall-cmd --permanent --add-port=21115/tcp
firewall-cmd --permanent --add-port=21116/tcp
firewall-cmd --permanent --add-port=21116/udp
firewall-cmd --permanent --add-port=21117/tcp
firewall-cmd --permanent --add-port=21118/tcp
firewall-cmd --permanent --add-port=21119/tcp
firewall-cmd --reload
查看是否已放通:
firewall-cmd --list-ports
如果你还有云厂商安全组,也别忘了同步放行这些端口。很多人以为系统防火墙开了就行,结果安全组没放开,客户端还是连不上。
八、Ubuntu 防火墙放行示例
如果你的服务器是 Ubuntu,常见使用 ufw。
先查看状态:
sudo ufw status
如果开启了 ufw,执行:
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcp
sudo ufw reload
查看规则:
sudo ufw status numbered
九、云服务器安全组也必须放行
如果你用的是阿里云、腾讯云、华为云、AWS、Oracle Cloud、Vultr 等云服务器,除了系统防火墙,还要检查:
- 安全组
- 网络 ACL
- 云平台入站规则
至少要确认两层:
- 云平台安全组放行
- 系统防火墙放行
少一层都可能不通。
十、检查服务端端口是否真的在监听
光看容器运行中还不够,最好确认端口确实已经监听:
ss -lntup | grep 211
如果看到相关端口处于监听状态,说明服务已经正常对外提供能力。
十一、获取 RustDesk 服务端公钥
客户端连接自建 RustDesk 时,除了服务器地址,还需要配置公钥。这个公钥的路径是因为我们的dockercompose的文件是在/opt/rustdesk-server目录下的,所以容器镜像会映射公钥到该路径下。
查看公钥命令:
cat /opt/rustdesk-server/data/id_ed25519.pub
你会得到一串字符串,这就是客户端要填的 Key。
这个公钥很关键。很多人部署成功后还是连不上,问题往往就出在这里:公钥没填、公钥填错、复制时带了多余空格或换行。
十二、客户端配置方法
服务端部署完成后,需要下载客户端

安装完成后,不需要账户登录,需要设置配服务端的信息

ID Server:您的hbbs主机名或 IP 地址Key:用于加密连接的公钥API Server:Pro 登录和 Web 控制台功能所必需Relay Server:通常是可选的,除非您想显式指定它
打开 RustDesk 客户端,进入网络设置页面,填写以下内容:
1)ID Server
填你的服务器公网 IP 或域名,例如:
123.123.123.123:端口号
2)Key
cat /opt/rustdesk-server/data/id_ed25519.pub
配置保存后,客户端就会尝试连接你的自建服务端。
十三、Docker Compose 常用维护命令
既然是自己部署,后面难免要维护。下面这几个命令建议收藏。
启动服务
docker compose up -d
停止服务
docker compose down
重启服务
docker compose restart
查看状态
docker compose ps
查看日志
docker compose logs -f
拉取新镜像并更新
docker compose pull
docker compose up -d
十四、RustDesk 自建常见问题排查
1)容器启动了,但客户端连不上
优先检查:
- 云安全组是否放行
- 系统防火墙是否放行
- 客户端填的是不是公网 IP / 正确域名
- 公钥有没有填对
这个问题最常见,八成不是 RustDesk 本身的问题,而是网络配置问题。
2)能连上,但画面很卡
这通常和下面几项有关:
- VPS 线路差
- 带宽太小
- 晚高峰丢包
- 被控端上行太弱
- 没能直连,只能走中继
远程桌面体验,不只看服务端,更看网络链路质量。RustDesk 自建后不会被平台会员策略限制,但也不会突破物理网络条件本身。
3)公钥填了还是不通
排查方向:
- 是否复制错了公钥
- 数据目录是否挂载正确
- 客户端保存后是否真正生效
- 服务端是否重新生成过密钥
如果中途删除过数据目录,公钥可能已经变了,这时候客户端里旧的 Key 就会失效。
4)域名配置了,但还是不通
检查:
- DNS 解析是否生效
- 域名是否指向正确公网 IP
- 本地
ping/nslookup是否正常 hbbs -r里的地址是否也写对
有时候不是 Docker 问题,而是域名本身没解析到正确的机器。
十五、部署建议:怎么选服务器更合适?
如果你打算长期使用 RustDesk,建议从一开始就把服务器选对。
1)不要只看便宜
远程桌面的体验,线路质量比单纯价格更重要。
2)优先考虑离你常用网络近的节点
例如你主要在国内用,就优先考虑:
- 国内云服务器
- 或者对国内线路更友好的海外节点
3)带宽要够
RustDesk 尤其在中继场景下,对带宽比较敏感。如果服务器带宽太小,多设备同时远程时体验会明显下降。
4)先小规模试,再决定是否长期使用
先拿一台轻量主机跑起来测试,确认体验合适,再决定是否升级线路和配置。
十六、小结
如果只是偶尔远程一下,很多商业工具确实更省事。但如果你是技术人员、运维工程师,或者有多设备远程管理需求,那么 RustDesk 的价值就不只是“能用”,而是:
- 开源
- 可自建
- 链路可控
- 长期不容易受平台策略影响
而在所有自建方式里,Docker Compose 基本是最适合大多数人的方案:
- 部署快
- 升级方便
- 维护简单
- 出问题也更容易排查
所以如果你已经决定长期使用 RustDesk,那么自己搭一套服务端,确实很值得。
参考链接
- RustDesk 官网:https://rustdesk.com/
- RustDesk GitHub:https://github.com/rustdesk/rustdesk
- RustDesk Server GitHub:https://github.com/rustdesk/rustdesk-server
- RustDesk 文档:https://rustdesk.com/docs/
- RustDesk 自建文档:https://rustdesk.com/docs/en/self-host/
- RustDesk 客户端下载地址:https://rustdesk.com/docs/zh-cn/client/windows/