Revert "up readme"

This reverts commit 18c61a2bfc.
This commit is contained in:
ljw
2024-10-11 22:06:20 +08:00
parent 18c61a2bfc
commit aa65382a0f
2 changed files with 319 additions and 440 deletions
+35 -93
View File
@@ -41,45 +41,22 @@
### [Rustdesk](https://github.com/rustdesk/rustdesk) ### [Rustdesk](https://github.com/rustdesk/rustdesk)
#### PC客户端使用的是 ***1.3.0***,经测试 ***1.2.6+*** 都可以 1. PC客户端使用的是 ***1.3.0***,经测试 ***1.2.6+*** 都可以
2. server端指定key,不用自带的生成的key,否则可能链接不上或者超时
#### 关于PC端链接超时或者链接不上的问题以及解决方案
- 链接不上是因为server端相对于客户端落后版本,server不会响应客户端的`secure_tcp`请求,所以客户端超时
相关代码代码位置在`https://github.com/rustdesk/rustdesk/blob/master/src/client.rs#L322`
```rust
if !key.is_empty() && !token.is_empty() {
// mainly for the security of token
allow_err!(secure_tcp(&mut socket, key).await);
}
```
可看到当`key`和`token`都不为空时,会调用`secure_tcp`,但是server端不会响应,所以客户端超时
`secure_tcp` 代码位置在 `https://github.com/rustdesk/rustdesk/blob/master/src/common.rs#L1203`
- ***解决方案***
1. server端指定key。
- 优点:简单
- 缺点:链接不是加密的
```bash ```bash
hbbs -r <relay-server-ip[:port]> -k <key> hbbs -r <relay-server-ip[:port]> -k <key>
hbbr -k <key> hbbr -k <key>
``` ```
比如 比如
```bash ```bash
hbbs -r <relay-server-ip[:port]> -k abc1234567 hbbs -r <relay-server-ip[:port]> -k abc1234567
hbbr -k abc1234567 hbbr -k abc1234567
``` ```
2. server端使用系统生成的key或者自定义的密钥对,但如果client已登录,链接时容易超时或者链接不上,可以退出登录后再链接就可以了,webclient可以不用退出登录 3. server端使用系统生成的key,但如果client已登录,链接时容易超时或者链接不上,可以退出登录后再链接就可以了,webclient可以不用退出登录
- 优点:链接加密
- 缺点:操作麻烦
3. server端使用系统生成的key,或者自定义的密钥对,fork官方客户端的代码将`secure_tcp`修改成直接返回,然后通过`Github Actions`编译,下载编译后的客户端。
参考[官方文档](https://rustdesk.com/docs/en/dev/build/all/)
- 优点:链接加密,可以自定义客户端一些功能,编译后直接可用
- 缺点:需要自己fork代码,编译,有点难度
4. 使用[我fork的代码](https://github.com/lejianwen/rustdesk),已经修改了`secure_tcp`,可以直接下载使用,[下载地址](https://github.com/lejianwen/rustdesk/releases)
- 优点:代码改动可查看,`Github Actions`编译,链接加密,直接下载使用
- 缺点:可能跟不上官方版本更新
##### 对链接加密要求不高的可以使用`1`,对链接加密要求高的可以使用`3`或`4`
## 功能 ## 功能
@@ -168,10 +145,6 @@ rustdesk:
api-server: "http://192.168.1.66:21114" api-server: "http://192.168.1.66:21114"
key: "123456789" key: "123456789"
personal: 1 personal: 1
logger:
path: "./runtime/log.txt"
level: "warn" #trace,debug,info,warn,error,fatal
report-caller: true
``` ```
* 环境变量,变量名前缀是RUSTDESK_API,环境变量如果存在将覆盖配置文件中的配置 * 环境变量,变量名前缀是RUSTDESK_API,环境变量如果存在将覆盖配置文件中的配置
@@ -198,7 +171,7 @@ logger:
| RUSTDESK_API_RUSTDESK_API_SERVER | Rustdesk的api服务器地址 | http://192.168.1.66:21114 | | RUSTDESK_API_RUSTDESK_API_SERVER | Rustdesk的api服务器地址 | http://192.168.1.66:21114 |
| RUSTDESK_API_RUSTDESK_KEY | Rustdesk的key | 123456789 | | RUSTDESK_API_RUSTDESK_KEY | Rustdesk的key | 123456789 |
### 运行 ### 安装步骤
#### docker运行 #### docker运行
@@ -208,17 +181,18 @@ logger:
docker run -d --name rustdesk-api -p 21114:21114 \ docker run -d --name rustdesk-api -p 21114:21114 \
-v /data/rustdesk/api:/app/data \ -v /data/rustdesk/api:/app/data \
-e TZ=Asia/Shanghai \ -e TZ=Asia/Shanghai \
-e RUSTDESK_API_LANG=zh-CN \
-e RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 \ -e RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 \
-e RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 \ -e RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 \
-e RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 \ -e RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 \
-e RUSTDESK_API_RUSTDESK_KEY=<key> \ -e RUSTDESK_API_RUSTDESK_KEY=123456789 \
lejianwen/rustdesk-api lejianwen/rustdesk-api
``` ```
2. 使用`docker compose` 2. 使用`docker compose`
- 简单示例 - 简单示例
```yaml
```docker-compose
services: services:
rustdesk-api: rustdesk-api:
container_name: rustdesk-api container_name: rustdesk-api
@@ -227,7 +201,7 @@ logger:
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> - RUSTDESK_API_RUSTDESK_KEY=123456789
ports: ports:
- 21114:21114 - 21114:21114
image: lejianwen/rustdesk-api image: lejianwen/rustdesk-api
@@ -238,9 +212,9 @@ logger:
restart: unless-stopped restart: unless-stopped
``` ```
- 根据rustdesk官方提供的示例加上自己的rustdesk-api - 根据rustdesk提供的示例加上自己的rustdesk-api
- 如果是使用的系统生成的KEY,去掉`-k <key>`参数,在启动后运行`docker-compose logs hbbs`或者`cat ./data/id_ed25519.pub`查看KEY,然后再修改`RUSTDESK_API_RUSTDESK_KEY=<key>`再执行`docker-compose up -d`
```yaml ```docker-compose
networks: networks:
rustdesk-net: rustdesk-net:
external: false external: false
@@ -253,9 +227,9 @@ logger:
- 21116:21116/udp # 自定义 hbbs 映射端口 - 21116:21116/udp # 自定义 hbbs 映射端口
- 21118:21118 # web client - 21118:21118 # web client
image: rustdesk/rustdesk-server image: rustdesk/rustdesk-server
command: hbbs -r <relay-server-ip[:port]> -k <key> # 填入个人域名或 IP + hbbr 暴露端口 command: hbbs -r <relay-server-ip[:port]> -k 123456789 # 填入个人域名或 IP + hbbr 暴露端口
volumes: volumes:
- ./data:/root # 自定义挂载目录 - /data/rustdesk/hbbs:/root # 自定义挂载目录
networks: networks:
- rustdesk-net - rustdesk-net
depends_on: depends_on:
@@ -271,9 +245,10 @@ logger:
- 21117:21117 # 自定义 hbbr 映射端口 - 21117:21117 # 自定义 hbbr 映射端口
- 21119:21119 # web client - 21119:21119 # web client
image: rustdesk/rustdesk-server image: rustdesk/rustdesk-server
command: hbbr -k <key> command: hbbr -k 123456789
#command: hbbr
volumes: volumes:
- ./data:/root - /data/rustdesk/hbbr:/root # 自定义挂载目录
networks: networks:
- rustdesk-net - rustdesk-net
restart: unless-stopped restart: unless-stopped
@@ -288,7 +263,7 @@ logger:
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> - RUSTDESK_API_RUSTDESK_KEY=123456789
ports: ports:
- 21114:21114 - 21114:21114
image: lejianwen/rustdesk-api image: lejianwen/rustdesk-api
@@ -297,11 +272,14 @@ logger:
networks: networks:
- rustdesk-net - rustdesk-net
restart: unless-stopped restart: unless-stopped
``` ```
- S6的镜像 - 如果使用的是S6的镜像,会需要修改启动脚本,覆盖镜像中的`/etc/s6-overlay/s6-rc.d/hbbr/run`
- 如果使用***自定义KEY***,会需要修改启动脚本,覆盖镜像中的`/etc/s6-overlay/s6-rc.d/hbbr/run`和`/etc/s6-overlay/s6-rc.d/hbbr/run` 和`/etc/s6-overlay/s6-rc.d/hbbr/run`
1. 创建`hbbr/run`,自定义KEY才需要
1. 创建`hbbr/run`
```bash ```bash
#!/command/with-contenv sh #!/command/with-contenv sh
cd /data cd /data
@@ -309,7 +287,8 @@ logger:
[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" [ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}"
/usr/bin/hbbr $PARAMS /usr/bin/hbbr $PARAMS
``` ```
2. 创建`hbbs/run`,自定义KEY才需要
2. 创建`hbbs/run`
```bash ```bash
#!/command/with-contenv sh #!/command/with-contenv sh
sleep 2 sleep 2
@@ -319,7 +298,8 @@ logger:
/usr/bin/hbbs -r $RELAY $PARAMS /usr/bin/hbbs -r $RELAY $PARAMS
``` ```
3. 修改`docker-compose.yml`中的`s6`部分 3. 修改`docker-compose.yml`中的`s6`部分
```yaml
```
networks: networks:
rustdesk-net: rustdesk-net:
external: false external: false
@@ -337,7 +317,7 @@ logger:
environment: environment:
- RELAY=192.168.1.66:21117 - RELAY=192.168.1.66:21117
- ENCRYPTED_ONLY=1 - ENCRYPTED_ONLY=1
- KEY=<key> #自定义KEY - KEY=abc123456789
volumes: volumes:
- ./data:/data - ./data:/data
- ./hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run - ./hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
@@ -353,55 +333,17 @@ logger:
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> - RUSTDESK_API_RUSTDESK_KEY=abc123456789
volumes:
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped
```
- 如果使用***系统生成的KEY***或者***自定义KEY_PUB,KEY_PRIV***,不需要修改启动脚本,但要在生成KEY后获取到KEY再`docker-compose up -d`
```yaml
networks:
rustdesk-net:
external: false
services:
rustdesk-server:
container_name: rustdesk-server
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: rustdesk/rustdesk-server-s6:latest
environment:
- RELAY=192.168.1.66:21117
- ENCRYPTED_ONLY=1
volumes:
- ./data:/data
restart: unless-stopped
rustdesk-api:
container_name: rustdesk-api
ports:
- 21114:21114
image: lejianwen/rustdesk-api
environment:
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> #系统生成的KEY
volumes: volumes:
- /data/rustdesk/api:/app/data #将数据库挂载 - /data/rustdesk/api:/app/data #将数据库挂载
networks: networks:
- rustdesk-net - rustdesk-net
restart: unless-stopped restart: unless-stopped
``` ```
#### 下载release直接运行 #### 下载release直接运行
[下载地址](https://github.com/lejianwen/rustdesk-api/releases) 下载地址[release](https://github.com/lejianwen/rustdesk-api/releases)
#### 源码安装 #### 源码安装
+33 -96
View File
@@ -40,46 +40,21 @@ desktop software that provides self-hosted solutions.
### [Rustdesk](https://github.com/rustdesk/rustdesk) ### [Rustdesk](https://github.com/rustdesk/rustdesk)
1. The PC client version used is ***1.3.0***, and versions ***1.2.6+*** have been tested to work.
2. The server can specify a key, and not use the auto-generated key, otherwise there may be connection failures or timeouts.
#### The PC client uses version ***1.3.0***, and versions ***1.2.6+*** have been tested to work.
#### Solutions for PC client connection timeout or connection issues
- The connection issue is due to the server version lagging behind the client version, causing the server to not respond to the client's `secure_tcp` request, resulting in a timeout.
Relevant code can be found at `https://github.com/rustdesk/rustdesk/blob/master/src/client.rs#L322`
```rust
if !key.is_empty() && !token.is_empty() {
// mainly for the security of token
allow_err!(secure_tcp(&mut socket, key).await);
}
```
As seen, when both `key` and `token` are not empty, `secure_tcp` is called, but the server does not respond, causing the client to timeout.
The `secure_tcp` code is located at `https://github.com/rustdesk/rustdesk/blob/master/src/common.rs#L1203`
- ***Solutions***
1. Specify the key on the server.
- Advantage: Simple
- Disadvantage: The connection is not encrypted
```bash ```bash
hbbs -r <relay-server-ip[:port]> -k <key> hbbs -r <relay-server-ip[:port]> -k <key>
hbbr -k <key> hbbr -k <key>
``` ```
For example
Example:
```bash ```bash
hbbs -r <relay-server-ip[:port]> -k abc1234567 hbbs -r <relay-server-ip[:port]> -k abc1234567
hbbr -k abc1234567 hbbr -k abc1234567
``` ```
2. Use a system-generated key or a custom key pair on the server. If the client is already logged in, it may timeout or fail to connect. Logging out and reconnecting usually resolves the issue, and the web client does not need to log out. 3. The server use the auto-generated key, but if the client has logged in, it is easy to time out or the link failed, you can log out and then link again, and the webclient don't have to log out
- Advantage: Encrypted connection
- Disadvantage: Complicated operation
3. Use a system-generated key or a custom key pair on the server, fork the official client code to modify `secure_tcp` to return directly, then compile using `Github Actions` and download the compiled client.
Refer to [official documentation](https://rustdesk.com/docs/en/dev/build/all/)
- Advantage: Encrypted connection, customizable client features, ready to use after compilation
- Disadvantage: Requires forking code and compiling, which can be challenging
4. Use [my forked code](https://github.com/lejianwen/rustdesk), which has already modified `secure_tcp`. You can download and use it directly from [here](https://github.com/lejianwen/rustdesk/releases)
- Advantage: Code changes are viewable, compiled with `Github Actions`, encrypted connection, ready to use
- Disadvantage: May not keep up with official version updates
##### If encryption is not a high priority, use `1`. If encryption is important, use `3` or `4`.
## Overview ## Overview
@@ -173,10 +148,6 @@ rustdesk:
api-server: "http://192.168.1.66:21114" api-server: "http://192.168.1.66:21114"
key: "123456789" key: "123456789"
personal: 1 personal: 1
logger:
path: "./runtime/log.txt"
level: "warn" #trace,debug,info,warn,error,fatal
report-caller: true
``` ```
* Environment variables, with the prefix `RUSTDESK_API_RUSTDESK_PERSONAL`, will override the settings in the * Environment variables, with the prefix `RUSTDESK_API_RUSTDESK_PERSONAL`, will override the settings in the
@@ -219,22 +190,23 @@ logger:
-e RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 \ -e RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 \
-e RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 \ -e RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 \
-e RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 \ -e RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 \
-e RUSTDESK_API_RUSTDESK_KEY=abc123456 \ -e RUSTDESK_API_RUSTDESK_KEY=123456789 \
lejianwen/rustdesk-api lejianwen/rustdesk-api
``` ```
2. Using `docker-compose` 2. Using `docker-compose`
- Simple example: - Simple example:
```yaml
```docker-compose
services: services:
rustdesk-api: rustdesk-api:
container_name: rustdesk-api container_name: rustdesk-api
environment: environment:
- RUSTDESK_API_LANG=en
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> - RUSTDESK_API_RUSTDESK_KEY=123456789
ports: ports:
- 21114:21114 - 21114:21114
image: lejianwen/rustdesk-api image: lejianwen/rustdesk-api
@@ -246,8 +218,8 @@ logger:
``` ```
- Example with RustDesk's official Docker Compose file, adding your `rustdesk-api` service: - Example with RustDesk's official Docker Compose file, adding your `rustdesk-api` service:
- If you are using a system-generated KEY, remove the `-k <key>` parameter. However, after the first startup, run `docker-compose logs hbbs` or `cat ./data/id_ed25519.pub` to view the KEY, then modify `RUSTDESK_API_RUSTDESK_KEY=<key>` and execute `docker-compose up -d` again.
```yaml ```docker-compose
networks: networks:
rustdesk-net: rustdesk-net:
external: false external: false
@@ -259,10 +231,11 @@ logger:
- 21116:21116 # 自定义 hbbs 映射端口 - 21116:21116 # 自定义 hbbs 映射端口
- 21116:21116/udp # 自定义 hbbs 映射端口 - 21116:21116/udp # 自定义 hbbs 映射端口
- 21118:21118 # web client - 21118:21118 # web client
image: rustdesk/rustdesk-server image: rustdesk/rustdesk-server
command: hbbs -r <relay-server-ip[:port]> -k <key> # 填入个人域名或 IP + hbbr 暴露端口 command: hbbs -r <relay-server-ip[:port]> -k 123456789 # 填入个人域名或 IP + hbbr 暴露端口
volumes: volumes:
- ./data:/root # 自定义挂载目录 - /data/rustdesk/hbbs:/root # 自定义挂载目录
networks: networks:
- rustdesk-net - rustdesk-net
depends_on: depends_on:
@@ -278,9 +251,10 @@ logger:
- 21117:21117 # 自定义 hbbr 映射端口 - 21117:21117 # 自定义 hbbr 映射端口
- 21119:21119 # web client - 21119:21119 # web client
image: rustdesk/rustdesk-server image: rustdesk/rustdesk-server
command: hbbr -k <key> command: hbbr -k 123456789
#command: hbbr
volumes: volumes:
- ./data:/root - /data/rustdesk/hbbr:/root # 自定义挂载目录
networks: networks:
- rustdesk-net - rustdesk-net
restart: unless-stopped restart: unless-stopped
@@ -291,11 +265,10 @@ logger:
rustdesk-api: rustdesk-api:
container_name: rustdesk-api container_name: rustdesk-api
environment: environment:
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> - RUSTDESK_API_RUSTDESK_KEY=123456789
ports: ports:
- 21114:21114 - 21114:21114
image: lejianwen/rustdesk-api image: lejianwen/rustdesk-api
@@ -304,11 +277,13 @@ logger:
networks: networks:
- rustdesk-net - rustdesk-net
restart: unless-stopped restart: unless-stopped
```
- S6 image ```
- - If using ***custom KEY***, you will need to modify the startup script to override the `/etc/s6-overlay/s6-rc.d/hbbr/run` and `/etc/s6-overlay/s6-rc.d/hbbr/run` in the image. - If you are using an S6 image, you need to modify the startup script `/etc/s6-overlay/s6-rc.d/hbbr/run`
1. Create `hbbr/run`, only needed for custom KEY and `/etc/s6-overlay/s6-rc.d/hbbr/run`
1. create `hbbr/run`
```bash ```bash
#!/command/with-contenv sh #!/command/with-contenv sh
cd /data cd /data
@@ -316,7 +291,8 @@ logger:
[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" [ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}"
/usr/bin/hbbr $PARAMS /usr/bin/hbbr $PARAMS
``` ```
2. Create `hbbs/run`, only needed for custom KEY
2. create `hbbs/run`
```bash ```bash
#!/command/with-contenv sh #!/command/with-contenv sh
sleep 2 sleep 2
@@ -325,8 +301,8 @@ logger:
[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}" [ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}"
/usr/bin/hbbs -r $RELAY $PARAMS /usr/bin/hbbs -r $RELAY $PARAMS
``` ```
3. Modify the `s6` section in `docker-compose.yml` 3. edit `docker-compose.yml`
```yaml ```
networks: networks:
rustdesk-net: rustdesk-net:
external: false external: false
@@ -344,7 +320,7 @@ logger:
environment: environment:
- RELAY=192.168.1.66:21117 - RELAY=192.168.1.66:21117
- ENCRYPTED_ONLY=1 - ENCRYPTED_ONLY=1
- KEY=<key> #KEY - KEY=abc123456789
volumes: volumes:
- ./data:/data - ./data:/data
- ./hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run - ./hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
@@ -360,48 +336,9 @@ logger:
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116 - RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117 - RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114 - RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key> - RUSTDESK_API_RUSTDESK_KEY=abc123456789
volumes: volumes:
- /data/rustdesk/api:/app/data - /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped
```
- If using ***system-generated KEY*** or ***custom KEY_PUB, KEY_PRIV***, you do not need to modify the startup script, but you need to obtain the KEY after it is generated and then run `docker-compose up -d`
```yaml
networks:
rustdesk-net:
external: false
services:
rustdesk-server:
container_name: rustdesk-server
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: rustdesk/rustdesk-server-s6:latest
environment:
- RELAY=192.168.1.66:21117
- ENCRYPTED_ONLY=1
volumes:
- ./data:/data
restart: unless-stopped
rustdesk-api:
container_name: rustdesk-api
ports:
- 21114:21114
image: lejianwen/rustdesk-api
environment:
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=192.168.1.66:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=192.168.1.66:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://192.168.1.66:21114
- RUSTDESK_API_RUSTDESK_KEY=<key>
volumes:
- /data/rustdesk/api:/app/data
networks: networks:
- rustdesk-net - rustdesk-net
restart: unless-stopped restart: unless-stopped