RustDesk 安装

docker-compose.yaml

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
    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
    volumes:
      - ./data:/root
    networks:
      - rustdesk-net
    restart: unless-stopped
docker-compose up -d

下载客户端设置中继服务器

换一台设备设置同样的配置尝试连接
image-20250403145519392

API

新版功能需要 hbbs,hbbr,api 必须都在同一个环境中,就是使用的是同一个本地回环地址::1,127.0.0.1。需要部署在同一台服务器中。

· 拉取镜像(需要能访问国外网站)
docker pull ghcr.io/lejianwen/rustdesk-api:latest

· 使用 docker-compose 安装
mkdir /data/rustdesk/api	# 创建项目目录
cd /data/rustdesk/api
vim docker-compose.yaml		# 创建yaml文件

docker-compose.yaml 文件

version: '2.1'
services:
   rustdesk-api:
    container_name: rustdesk-api
    environment:
      - TZ=Asia/Shanghai
      - RUSTDESK_API_RUSTDESK_ID_SERVER=域名或IP:21116
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=域名或IP:21117
      - RUSTDESK_API_RUSTDESK_API_SERVER=http://域名或IP:21114
      - RUSTDESK_API_RUSTDESK_KEY=自设置key
    ports:
      - 21114:21114
    image: lejianwen/rustdesk-api
    volumes:
      - /data/rustdesk/api:/app/data #将数据库挂载出来方便备份
    networks:
      - rustdesk-net
    restart: unless-stopped
networks:
  rustdesk-net:
    external: false

· 运行 docker
docker-compose up -d

查看容器状态
image-20250403142519608进入容器重置后台管理员密码

docker exec -it rustdesk-api /bin/sh

容器内命令:
./apimain reset-admin-pwd <pwd>

image-20250403142748625

· 访问后台

依旧浏览器打开IP或域名:21114,用户名admin,密码为重置的密码

后续登录配置

上面的步骤配置完后就能在后台创建账号,客户端要使用创建的账号进行登录,还需要配置客户端信息。在客户端设置中配置 api 服务器,就能实现登录功能。

image-20250403142940126

image-20250403143016250

若想使用 github 绑定登录账号,需要配置 oauth

· GitHub 创建 oauth apps

地址:https://github.com/settings/developers

填写相关信息,自己服务器的 IP 或域名

创建好后会生成 ClientId 和 ClientSecret

· api 后台创建 oauth

填入生成的 ClientId 和 ClientSecret

RedirectUrl 为:http:// 你的域名或 IP/api/oauth/callback

选择 github 进行创建

· 配置完后就可以使用 GitHub 绑定账号进行授权登录了

解决登录账号后连接慢的问题

4 种解决方案

1、server 端指定 key。

· 优点:简单
· 缺点:链接不是加密的

hbbs -r <relay-server-ip[:port]> -k <key>
hbbr -k <key>
比如
hbbs -r <relay-server-ip[:port]> -k abc1234567
hbbr -k abc1234567

2、server 端使用系统生成的 key,或者自定义的密钥对,但如果 client 已登录,链接时容易超时或者链接不上,可以退出登录后再链接就可以了,webclient 可以不用退出登录

· 优点:链接加密
· 缺点:操作麻烦

3、server 端使用系统生成的 key,或者自定义的密钥对,fork 官方客户端的代码将 secure_tcp 修改成直接返回,然后通过 Github Actions 编译,下载编译后的客户端。 参考官方文档

· 优点:链接加密,可以自定义客户端一些功能,编译后直接可用
· 缺点:需要自己 fork 代码,编译,有点难度

4、使用编译好的客户端,操作简单

使用大佬 fork 的代码,已经修改了 secure_tcp,可以直接下载使用,下载地址
· 优点:代码改动可查看,Github Actions 编译,链接加密,直接下载使用
· 缺点:可能跟不上官方版本更新

对链接加密要求不高的可以使用 1,对链接加密要求高的可以使用 3 或 4