https://www.hcjike.com/archives/I5Mpc8cF
需要配合rustdesk
使用,需先安装rustdesk
容器。
1、创建专属桥接网络
若已创建,可跳过此步骤。
https://www.hcjike.com/archives/tMUqkbKb
2、部署项目
2.1、创建项目

2.2、Compose配置
networks:
app_network:
external: true
services:
rustdesk-api:
image: lejianwen/rustdesk-api
networks:
- app_network
environment:
- 'RUSTDESK_API_RUSTDESK_KEY=服务器密钥内容'
- 'RUSTDESK_API_RUSTDESK_API_SERVER=api服务反向代理后实际访问地址'
- 'RUSTDESK_API_RUSTDESK_RELAY_SERVER=DDNS的域名:21117'
- 'RUSTDESK_API_RUSTDESK_ID_SERVER=DDNS的域名:21116'
- 'RUSTDESK_API_LANG=zh-CN'
- 'TZ=Asia/Shanghai'
volumes:
- './data:/app/data'
ports:
- '21114:21114'
container_name: rustdesk-api
restart: always
RUSTDESK_API_RUSTDESK_KEY
:填写rustdesk/rustdesk-server-s6
的公钥信息
;
RUSTDESK_API_RUSTDESK_API_SERVER
:填写api服务反向代理后实际访问地址,例如:https://desk.domain.com:16666
,先填写http://NAS的IP:21114
,后续配置反向代理后再来修改;
RUSTDESK_API_RUSTDESK_RELAY_SERVER
:填写DDNS的域名:21117
,例如:desk.domain.com:21117
;
RUSTDESK_API_RUSTDESK_ID_SERVER
:填写DDNS的域名:21116
,例如:desk.domain.com:21116
;
2.3、其他环境变量
变量名
|
说明
|
示例
|
TZ
|
时区
|
Asia/Shanghai
|
RUSTDESK_API_LANG
|
语言
|
en,zh-CN
|
RUSTDESK_API_APP_WEB_CLIENT
|
是否启用web-client; 1:启用,0:不启用 ; 默认启用
|
1
|
RUSTDESK_API_APP_REGISTER
|
是否开启注册; true, false 默认false
|
false
|
RUSTDESK_API_APP_SHOW_SWAGGER
|
是否可见swagger文档;1显示,0不显示 ,默认0不显示
|
1
|
RUSTDESK_API_APP_TOKEN_EXPIRE
|
token有效时长
|
168h
|
RUSTDESK_API_APP_DISABLE_PWD_LOGIN
|
是否禁用密码登录; true, false 默认false
|
false
|
-----ADMIN配置-----
|
----------
|
----------
|
RUSTDESK_API_ADMIN_TITLE
|
后台标题
|
RustDesk Api Admin
|
RUSTDESK_API_ADMIN_HELLO
|
后台欢迎语,可以使用html
|
|
RUSTDESK_API_ADMIN_HELLO_FILE
|
后台欢迎语文件,如果内容多,使用文件更方便。
会覆盖RUSTDESK_API_ADMIN_HELLO
|
./conf/admin/hello.html
|
-----GIN配置-----
|
----------
|
----------
|
RUSTDESK_API_GIN_TRUST_PROXY
|
信任的代理IP列表,以,分割,默认信任所有
|
192.168.1.2,192.168.1.3
|
-----GORM配置-----
|
-------------
|
--------------
|
RUSTDESK_API_GORM_TYPE
|
数据库类型sqlite 或者mysql ,默认sqlite
|
sqlite
|
RUSTDESK_API_GORM_MAX_IDLE_CONNS
|
数据库最大空闲连接数
|
10
|
RUSTDESK_API_GORM_MAX_OPEN_CONNS
|
数据库最大打开连接数
|
100
|
RUSTDESK_API_RUSTDESK_PERSONAL
|
是否启用个人版API, 1:启用,0:不启用 ; 默认启用
|
1
|
-----MYSQL配置-----
|
----------
|
----------
|
RUSTDESK_API_MYSQL_USERNAME
|
mysql用户名
|
root
|
RUSTDESK_API_MYSQL_PASSWORD
|
mysql密码
|
111111
|
RUSTDESK_API_MYSQL_ADDR
|
mysql地址
|
192.168.1.66:3306
|
RUSTDESK_API_MYSQL_DBNAME
|
mysql数据库名
|
rustdesk
|
-----RUSTDESK配置-----
|
----------
|
----------
|
RUSTDESK_API_RUSTDESK_ID_SERVER
|
Rustdesk的id服务器地址
|
192.168.1.66:21116
|
RUSTDESK_API_RUSTDESK_RELAY_SERVER
|
Rustdesk的relay服务器地址
|
192.168.1.66:21117
|
RUSTDESK_API_RUSTDESK_API_SERVER
|
Rustdesk的api服务器地址
|
http://192.168.1.66:21114
|
RUSTDESK_API_RUSTDESK_KEY
|
Rustdesk的key
|
123456789
|
RUSTDESK_API_RUSTDESK_KEY_FILE
|
Rustdesk存放key的文件
|
./conf/data/id_ed25519.pub
|
RUSTDESK_API_RUSTDESK_WEBCLIENT_MAGIC_QUERYONLINE
|
Web client v2 中是否启用新的在线状态查询方法; 1:启用,0:不启用 ,默认不启用
|
0
|
RUSTDESK_API_RUSTDESK_WS_HOST
|
自定义Websocket Host
|
wss://192.168.1.123:1234
|
----PROXY配置-----
|
----------
|
----------
|
RUSTDESK_API_PROXY_ENABLE
|
是否启用代理:false, true
|
false
|
RUSTDESK_API_PROXY_HOST
|
代理地址
|
http://127.0.0.1:1080
|
----JWT配置----
|
--------
|
--------
|
RUSTDESK_API_JWT_KEY
|
自定义JWT KEY,为空则不启用JWT
如果没使用lejianwen/rustdesk-server 中的MUST_LOGIN ,建议设置为空
|
|
RUSTDESK_API_JWT_EXPIRE_DURATION
|
JWT有效时间
|
168h
|
仓库文档:https://github.com/lejianwen/rustdesk-api/blob/master/README.md
3、登录后台管理

初始密码需要在首次启动时的日志中寻找,如上图所示位置。

未配置反向代理时,访问:http://NAS的IP:21114
账号
:admin
密码
:日志获取,本教程为oeIFJszH
登录后修改用户名和密码。
4、lucky反向代理
4.1、反向代理API服务

4.2、反向代理ws/id服务

路由:/ws/id
4.3、反向代理ws/relay服务

路由:/ws/relay
4.4、全部代理情况

配置完成后需要修改环境变量:RUSTDESK_API_RUSTDESK_API_SERVER
填写Desk-Api
的访问地址:本例为:http://desk.domain.com:16666
5、配置客户端api地址

最终配置如图所示;
ID服务器
:使用21116
端口时可以省略端口号;
中继服务器
:使用21117
端口时可以省略端口号;
API服务器
:填写反向代理后的访问地址,若为https
,则需要填写https
开头的地址;
KEY
:填写rustdesk/rustdesk-server-s6
的公钥信息
。