
部署RustDesk自建服务器免费版本
系统环境:Alpine vir 3.19.0 x86_64 Alpine Linux安装
已安装docker及compose插件 ALpine Linux中安装Docker
中文文档 RustDesk文档
RustDesk开源地址 rustdesk/rustdesk (github.com)
推荐使用docker compose方式部署
需要创建两个文件夹用于保存ID服务器和中继服务器数据,以/opt/hbbs,/opt/hbbr为例
创建配置文件
在目录内创建docker-compose.yaml文件。
启动命令中加入 -k _
参数用于强制加密连接,环境变量中的- LIMIT_SPEED=100
,- SINGLE_BANDWIDTH=100
根据需要设置限速,单位是Mbps。
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116 # 定义 hbbs 映射端口
- 21116:21116/udp # 定义 hbbs 映射端口
environment:
- TZ=Asia/Chongqing
image: rustdesk/rustdesk-server
command: hbbs -r your_domain.com:21117 -k _ # 填入个人域名或 IP + hbbr 暴露端口
volumes:
- ./opt/hbbs:/root # 自定义挂载目录
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
deploy: # 容器内存限制
resources:
limits:
memory: 64M
hbbr:
container_name: hbbr
ports:
- 21117:21117 # 自定义 hbbr 映射端口
environment:
- TZ=Asia/Chongqing
- LIMIT_SPEED=50
- SINGLE_BANDWIDTH=100
image: rustdesk/rustdesk-server
command: hbbr -k _
volumes:
- ./opt/hbbr:/root # 自定义挂载目录
networks:
- rustdesk-net
restart: unless-stopped
deploy: # 容器内存限制
resources:
limits:
memory: 64M
启动rustdesk容器
docker compose up -d
配置端口映射
默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。其中21115是hbbs用作NAT类型测试,21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务,21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,对应端口可以不开。
TCP(21115, 21116, 21117, 21118, 21119)
UDP(21116)
Key
hbbs在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的id_ed25519
和id_ed25519.pub
文件中),其主要用途是为了通讯加密。存放于/opt/hbbs目录中,如果中继服务器同时启用了加密,则应保持/opt/hbbs和/opt/hbbr目录下的密钥文件一致。
配置客户端
被控端+主控端都要再在 ID 服务器输入框中输入 hbbs 主机或 ip 地址,另外两个地址可以不填,RustDesk会自动推导(如果没有特别设定),中继服务器指的是hbbr(21117)端口。Key输入框填入上述id_ed25519.pub
文件中的公钥,如果配置了强制加密参数 -k _
则必须填入公钥,否则可不填,不影响连接,但是连接无法加密。