https://www.hcjike.com/archives/I5Mpc8cF需要配合rustdesk
使用,需先安装rustdesk
容器。
1、创建专属桥接网络
若已创建,可跳过此步骤。
https://www.hcjike.com/archives/tMUqkbKb2、部署项目
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
的公钥信息
。