RustDesk 自建服务器详细部署教程(基于 Docker Compose)
- 内容介绍
- 文章标签
- 相关推荐
RustDesk 自建服务器详细部署教程(基于 Docker Compose)
起因是网易UU实在是太卡了,而且办公室和宿舍之间经常需要远程操作,没有资金氪金,所以想着用自己的服务器即可以更快,又可以省money,以下内容通过了AI润色,更像人话了
1. 准备工作
在开始之前,请确保你拥有以下条件:
- 一台云服务器 (VPS):具有公网 IP,内存建议 1GB 以上,系统推荐 Ubuntu 20.04/22.04 或 Debian 11/12,我有一个别的用处的腾讯云闲置了,所以正好用来做这个。
- 开放防火墙端口:这是最重要的一步,请务必在你的云服务商控制台(安全组)以及系统自带防火墙中放行以下端口(云服务器控制台里的安全组、防火墙,以及服务器内的防火墙都需要打开):
21115(TCP):用于 NAT 类型测试。21116(TCP & UDP):TCP 用于 TCP 打洞和连接服务,UDP 用于 ID 注册与心跳服务 (hbbs)。这两个协议都需要打开,就是踩了一个没打开UDP的坑,导致卡了一段时间21117(TCP):用于中继服务 (hbbr)。21118,21119(TCP):用于支持 Web 客户端(可选)。
sudo ufw status
# 首先放行22端口
sudo ufw allow 22/tcp
sudo ufw enable
# 1. 放行 21115 TCP (NAT类型测试)
sudo ufw allow 21115/tcp
# 2. 放行 21116 TCP & UDP (ID注册与心跳服务 —— 你踩过坑的地方)
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
# 3. 放行 21117 TCP (中继服务)
sudo ufw allow 21117/tcp
# 4. 批量放行 21118 到 21119 TCP (Web 客户端)
sudo ufw allow 21118:21119/tcp
2. 安装 Docker 和 Docker Compose
如果你已经安装了 Docker 环境,可以跳过此步骤。
安装 Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
启动 Docker 并设置开机自启:
sudo systemctl enable docker
sudo systemctl start docker
注: 新版本的 Docker 已经自带
docker compose插件,无需额外安装独立的docker-compose。
3. 编写 Docker Compose 配置文件
我们将创建专门的目录来存放 RustDesk 的配置文件和数据。
1. 创建并进入目录:
mkdir -p /opt/rustdesk
cd /opt/rustdesk
2. 创建 docker-compose.yml 文件:
nano docker-compose.yml
3. 将以下内容粘贴到文件中:
注意: 请将第
15行的<你的公网IP或域名>替换为你服务器的实际公网 IP 地址或解析到该 IP 的域名。
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
# 请将下面 <你的公网IP或域名> 替换为实际 IP。 -k _ 表示强制开启加密。
command: hbbs -r <你的公网IP或域名>:21117 -k _
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr -k _
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
(按 Ctrl+O 保存,按 Enter 确认,然后按 Ctrl+X 退出 nano 编辑器。)
4. 启动服务并获取密钥
1. 启动容器:
在 docker-compose.yml 所在的目录下运行:
docker compose up -d
你可以通过 docker ps 命令检查 hbbs 和 hbbr 是否已经成功运行。
2. 获取加密密钥 (Key):
我们在配置文件中使用了 -k _ 参数,这会让服务器自动生成一对非对称加密密钥。客户端必须填写公钥才能连接服务器,这能有效防止未经授权的人白嫖你的服务器带宽。
查看公钥文件内容:
cat ./data/id_ed25519.pub
终端会输出一串类似于这样的字符串:8A9B1C2D3E4F5G6H7I8J9K0L1M2N3O4P5Q6R7S8T9U=。请复制并妥善保存这串密钥,接下来配置客户端会用到。
5. 配置 RustDesk 客户端
现在你的服务器已经搭建完毕,接下来在控制端和被控端电脑上配置客户端软件。
- 打开 RustDesk 客户端。
- 点击主界面 ID 旁边的 ⋮ (三个点) 菜单图标,选择 网络设置 (Network / ID/Relay Server)。
- 在弹出的设置窗口中,填写以下信息:
- ID 服务器 (ID Server):填写你的服务器公网 IP 或域名。
- 中继服务器 (Relay Server):填写你的服务器公网 IP 或域名(也可以留空,客户端会自动推导)。
- API 服务器:留空即可。
- Key:粘贴你刚才在步骤 4 中获取的公钥字符串。
- 点击 应用 (Apply)。
当客户端底部显示 “就绪 (Ready)” 时,说明你已成功连接到自建的 RustDesk 服务器!将控制端和被控端都按此方法配置好,就可以享受满速的远程控制体验了。
网友解答:--【壹】--:
这个不错
--【贰】--:
感谢佬,研究一下
--【叁】--:
是的佬,但是涉及到多平台,而且害怕买的服务器泄露了,就自己搞了,也没有很麻烦
--【肆】--:
对服务器没有要求 ptp的,服务器只是打通隧道而已
--【伍】--:
这个别用了 100%触发反诈电话+辅警上门签保证书
我就是因为这个用的网易uu, 佬友跟我反着来的
--【陆】--:
自建这个对服务器带宽要求高吗,之前用一个2m的轻量服务器搭过,只能30帧20几帧,不知道是不是设置有问题。
--【柒】--:
手机端我之前也安装过-也没事。不过这种手机操作太麻烦了-平时感觉就pc端用用就行了。
--【捌】--:
网易 UU 不是 P to P 吗?怎么会卡呢?是不是网络没配置好?
--【玖】--:
不懂就问,这个是干嘛的
--【拾】--:
感谢大佬 !
--【拾壹】--:
PixPin_2026-04-07_08-23-39509×468 80.3 KB
--【拾贰】--:
这不如有个开源的第三方好用,第三方自带了服务端后台,具体忘了叫啥了,佬可以github搜一下
这个
GitHub - lejianwen/rustdesk-api: Custom Rustdesk Api Server, include web admin ,web...
Custom Rustdesk Api Server, include web admin ,web client, web client v2 preview and oidc login
--【拾叁】--:
感谢大佬分享,我收藏了
--【拾肆】--:
感觉比网易UU快很多,我的也是2m的,但是就是画质不太好,可能是我设置没太好
--【拾伍】--:
远程控制电脑用的
--【拾陆】--:
诶,大佬知道为什么明明网络支持千兆的,也能跑到千兆,但是始终会出现帧率卡在 30 帧,然后画质不行的问题啊
--【拾柒】--:
掉帧的问题有办法解决吗?我在内网用IP都跑不满4K60帧
--【拾捌】--:
可以调整帧率和码率的,默认是自动的,百分之50码率+30帧,客户端里远程别人的时候,画质那一栏可以调整为自定义,拉高帧率和码率
--【拾玖】--:
让ai来弄就可以了,我就是这样部署的
RustDesk 自建服务器详细部署教程(基于 Docker Compose)
起因是网易UU实在是太卡了,而且办公室和宿舍之间经常需要远程操作,没有资金氪金,所以想着用自己的服务器即可以更快,又可以省money,以下内容通过了AI润色,更像人话了
1. 准备工作
在开始之前,请确保你拥有以下条件:
- 一台云服务器 (VPS):具有公网 IP,内存建议 1GB 以上,系统推荐 Ubuntu 20.04/22.04 或 Debian 11/12,我有一个别的用处的腾讯云闲置了,所以正好用来做这个。
- 开放防火墙端口:这是最重要的一步,请务必在你的云服务商控制台(安全组)以及系统自带防火墙中放行以下端口(云服务器控制台里的安全组、防火墙,以及服务器内的防火墙都需要打开):
21115(TCP):用于 NAT 类型测试。21116(TCP & UDP):TCP 用于 TCP 打洞和连接服务,UDP 用于 ID 注册与心跳服务 (hbbs)。这两个协议都需要打开,就是踩了一个没打开UDP的坑,导致卡了一段时间21117(TCP):用于中继服务 (hbbr)。21118,21119(TCP):用于支持 Web 客户端(可选)。
sudo ufw status
# 首先放行22端口
sudo ufw allow 22/tcp
sudo ufw enable
# 1. 放行 21115 TCP (NAT类型测试)
sudo ufw allow 21115/tcp
# 2. 放行 21116 TCP & UDP (ID注册与心跳服务 —— 你踩过坑的地方)
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
# 3. 放行 21117 TCP (中继服务)
sudo ufw allow 21117/tcp
# 4. 批量放行 21118 到 21119 TCP (Web 客户端)
sudo ufw allow 21118:21119/tcp
2. 安装 Docker 和 Docker Compose
如果你已经安装了 Docker 环境,可以跳过此步骤。
安装 Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
启动 Docker 并设置开机自启:
sudo systemctl enable docker
sudo systemctl start docker
注: 新版本的 Docker 已经自带
docker compose插件,无需额外安装独立的docker-compose。
3. 编写 Docker Compose 配置文件
我们将创建专门的目录来存放 RustDesk 的配置文件和数据。
1. 创建并进入目录:
mkdir -p /opt/rustdesk
cd /opt/rustdesk
2. 创建 docker-compose.yml 文件:
nano docker-compose.yml
3. 将以下内容粘贴到文件中:
注意: 请将第
15行的<你的公网IP或域名>替换为你服务器的实际公网 IP 地址或解析到该 IP 的域名。
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
# 请将下面 <你的公网IP或域名> 替换为实际 IP。 -k _ 表示强制开启加密。
command: hbbs -r <你的公网IP或域名>:21117 -k _
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr -k _
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
(按 Ctrl+O 保存,按 Enter 确认,然后按 Ctrl+X 退出 nano 编辑器。)
4. 启动服务并获取密钥
1. 启动容器:
在 docker-compose.yml 所在的目录下运行:
docker compose up -d
你可以通过 docker ps 命令检查 hbbs 和 hbbr 是否已经成功运行。
2. 获取加密密钥 (Key):
我们在配置文件中使用了 -k _ 参数,这会让服务器自动生成一对非对称加密密钥。客户端必须填写公钥才能连接服务器,这能有效防止未经授权的人白嫖你的服务器带宽。
查看公钥文件内容:
cat ./data/id_ed25519.pub
终端会输出一串类似于这样的字符串:8A9B1C2D3E4F5G6H7I8J9K0L1M2N3O4P5Q6R7S8T9U=。请复制并妥善保存这串密钥,接下来配置客户端会用到。
5. 配置 RustDesk 客户端
现在你的服务器已经搭建完毕,接下来在控制端和被控端电脑上配置客户端软件。
- 打开 RustDesk 客户端。
- 点击主界面 ID 旁边的 ⋮ (三个点) 菜单图标,选择 网络设置 (Network / ID/Relay Server)。
- 在弹出的设置窗口中,填写以下信息:
- ID 服务器 (ID Server):填写你的服务器公网 IP 或域名。
- 中继服务器 (Relay Server):填写你的服务器公网 IP 或域名(也可以留空,客户端会自动推导)。
- API 服务器:留空即可。
- Key:粘贴你刚才在步骤 4 中获取的公钥字符串。
- 点击 应用 (Apply)。
当客户端底部显示 “就绪 (Ready)” 时,说明你已成功连接到自建的 RustDesk 服务器!将控制端和被控端都按此方法配置好,就可以享受满速的远程控制体验了。
网友解答:--【壹】--:
这个不错
--【贰】--:
感谢佬,研究一下
--【叁】--:
是的佬,但是涉及到多平台,而且害怕买的服务器泄露了,就自己搞了,也没有很麻烦
--【肆】--:
对服务器没有要求 ptp的,服务器只是打通隧道而已
--【伍】--:
这个别用了 100%触发反诈电话+辅警上门签保证书
我就是因为这个用的网易uu, 佬友跟我反着来的
--【陆】--:
自建这个对服务器带宽要求高吗,之前用一个2m的轻量服务器搭过,只能30帧20几帧,不知道是不是设置有问题。
--【柒】--:
手机端我之前也安装过-也没事。不过这种手机操作太麻烦了-平时感觉就pc端用用就行了。
--【捌】--:
网易 UU 不是 P to P 吗?怎么会卡呢?是不是网络没配置好?
--【玖】--:
不懂就问,这个是干嘛的
--【拾】--:
感谢大佬 !
--【拾壹】--:
PixPin_2026-04-07_08-23-39509×468 80.3 KB
--【拾贰】--:
这不如有个开源的第三方好用,第三方自带了服务端后台,具体忘了叫啥了,佬可以github搜一下
这个
GitHub - lejianwen/rustdesk-api: Custom Rustdesk Api Server, include web admin ,web...
Custom Rustdesk Api Server, include web admin ,web client, web client v2 preview and oidc login
--【拾叁】--:
感谢大佬分享,我收藏了
--【拾肆】--:
感觉比网易UU快很多,我的也是2m的,但是就是画质不太好,可能是我设置没太好
--【拾伍】--:
远程控制电脑用的
--【拾陆】--:
诶,大佬知道为什么明明网络支持千兆的,也能跑到千兆,但是始终会出现帧率卡在 30 帧,然后画质不行的问题啊
--【拾柒】--:
掉帧的问题有办法解决吗?我在内网用IP都跑不满4K60帧
--【拾捌】--:
可以调整帧率和码率的,默认是自动的,百分之50码率+30帧,客户端里远程别人的时候,画质那一栏可以调整为自定义,拉高帧率和码率
--【拾玖】--:
让ai来弄就可以了,我就是这样部署的

