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公钥信息