RustDesk服务器端Docker Compose部署指南
2025-07-07 02:20:08作者:宣聪麟
概述
RustDesk是一款开源的远程桌面控制软件,其服务器端组件可以自行部署以实现私有化远程控制服务。本文将详细介绍如何使用Docker Compose快速部署RustDesk服务器端,包含hbbs(信令服务器)和hbbr(中继服务器)两个核心组件。
核心组件解析
RustDesk服务器端主要由两个服务组成:
-
hbbs (RustDesk ID服务器):
- 负责处理客户端注册和ID分配
- 管理对等连接的信令交换
- 默认监听TCP端口21115、21116、21118
-
hbbr (RustDesk中继服务器):
- 当点对点连接无法建立时提供中继服务
- 默认监听TCP端口21117、21119
部署前准备
在开始部署前,请确保您的系统已安装:
- Docker引擎(版本17.06.0或更高)
- Docker Compose(版本1.28.0或更高)
Docker Compose配置详解
以下是配置文件的详细解析:
version: '3'
networks:
rustdesk-net:
external: false
这部分定义了Docker网络配置,创建了一个名为rustdesk-net
的内部网络,用于hbbs和hbbr服务之间的通信。
hbbs服务配置
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115 # TCP端口,用于客户端连接
- 21116:21116 # TCP端口,用于文件传输
- 21116:21116/udp # UDP端口,用于文件传输
- 21118:21118 # TCP端口,用于密钥交换
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
关键参数说明:
-r
参数指定了hbbr服务的地址和端口,请将rustdesk.example.com
替换为您的实际域名或IP- 端口映射确保外部可以访问必要的服务端口
- 数据卷挂载将配置和持久化数据保存在宿主机上
hbbr服务配置
hbbr:
container_name: hbbr
ports:
- 21117:21117 # TCP端口,用于中继服务
- 21119:21119 # TCP端口,用于Web客户端
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
hbbr服务相对简单,主要负责中继功能,同样将数据持久化到宿主机。
部署步骤
-
创建项目目录并进入:
mkdir rustdesk-server && cd rustdesk-server
-
创建
docker-compose.yml
文件,将上述配置内容复制进去 -
修改
command: hbbs -r rustdesk.example.com:21117
中的域名为您的实际域名或IP -
启动服务:
docker-compose up -d
-
验证服务运行状态:
docker-compose ps
防火墙配置
确保服务器防火墙开放以下端口:
- TCP: 21115-21119
- UDP: 21116
数据持久化
配置文件和数据存储在./data
目录中,包含:
id_ed25519
和id_ed25519.pub
- 服务器的密钥对db_v2.sqlite3
- SQLite数据库文件relay.db
- 中继服务器数据库
常见问题解决
-
端口冲突:如果端口已被占用,可以修改
docker-compose.yml
中的端口映射,如21115:21115
改为21125:21115
-
域名解析问题:确保
-r
参数指定的域名能够正确解析到服务器IP -
数据备份:定期备份
./data
目录以防止数据丢失
性能优化建议
-
对于高并发场景,可以考虑:
- 增加服务器资源
- 部署多个hbbr实例进行负载均衡
- 使用数据库集群替代单机SQLite
-
网络优化:
- 确保服务器有良好的网络连接
- 考虑部署在靠近用户的区域
结语
通过Docker Compose部署RustDesk服务器端是一种简单高效的方式,本文详细介绍了配置文件的各个部分及其作用,帮助您快速搭建私有远程桌面服务。根据实际需求,您可以进一步调整配置参数以获得更好的性能和安全性。