首页
/ RustDesk服务器端Docker Compose部署指南

RustDesk服务器端Docker Compose部署指南

2025-07-07 02:20:08作者:宣聪麟

概述

RustDesk是一款开源的远程桌面控制软件,其服务器端组件可以自行部署以实现私有化远程控制服务。本文将详细介绍如何使用Docker Compose快速部署RustDesk服务器端,包含hbbs(信令服务器)和hbbr(中继服务器)两个核心组件。

核心组件解析

RustDesk服务器端主要由两个服务组成:

  1. hbbs (RustDesk ID服务器)

    • 负责处理客户端注册和ID分配
    • 管理对等连接的信令交换
    • 默认监听TCP端口21115、21116、21118
  2. 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服务相对简单,主要负责中继功能,同样将数据持久化到宿主机。

部署步骤

  1. 创建项目目录并进入:

    mkdir rustdesk-server && cd rustdesk-server
    
  2. 创建docker-compose.yml文件,将上述配置内容复制进去

  3. 修改command: hbbs -r rustdesk.example.com:21117中的域名为您的实际域名或IP

  4. 启动服务:

    docker-compose up -d
    
  5. 验证服务运行状态:

    docker-compose ps
    

防火墙配置

确保服务器防火墙开放以下端口:

  • TCP: 21115-21119
  • UDP: 21116

数据持久化

配置文件和数据存储在./data目录中,包含:

  • id_ed25519id_ed25519.pub - 服务器的密钥对
  • db_v2.sqlite3 - SQLite数据库文件
  • relay.db - 中继服务器数据库

常见问题解决

  1. 端口冲突:如果端口已被占用,可以修改docker-compose.yml中的端口映射,如21115:21115改为21125:21115

  2. 域名解析问题:确保-r参数指定的域名能够正确解析到服务器IP

  3. 数据备份:定期备份./data目录以防止数据丢失

性能优化建议

  1. 对于高并发场景,可以考虑:

    • 增加服务器资源
    • 部署多个hbbr实例进行负载均衡
    • 使用数据库集群替代单机SQLite
  2. 网络优化:

    • 确保服务器有良好的网络连接
    • 考虑部署在靠近用户的区域

结语

通过Docker Compose部署RustDesk服务器端是一种简单高效的方式,本文详细介绍了配置文件的各个部分及其作用,帮助您快速搭建私有远程桌面服务。根据实际需求,您可以进一步调整配置参数以获得更好的性能和安全性。