新增不同版本 rustdesk-api

Signed-off-by: Meng Sen <qyg2297248353@gmail.com>
This commit is contained in:
Meng Sen
2025-07-11 12:30:30 +08:00
parent 5d7724f8f3
commit 66cb78a12a
11 changed files with 348 additions and 14 deletions

View File

@@ -10,16 +10,16 @@ additionalProperties:
- default: 21114
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
labelZh: WebUI API 端口
labelEn: WebUI API port
required: true
rule: paramPort
type: number
- default: 21115
edit: true
envKey: PANEL_APP_PORT_SERVER_1
labelZh: 服务端口 21115
labelEn: 服务端口 21115
envKey: PANEL_APP_PORT_NAT
labelZh: NAT 服务端口
labelEn: NAT Server Port
required: true
rule: paramPort
type: number
@@ -41,17 +41,17 @@ additionalProperties:
type: number
- default: 21118
edit: true
envKey: PANEL_APP_PORT_SERVER_2
labelZh: 服务端口 21118
labelEn: Server Port 21118
envKey: PANEL_APP_PORT_API_WS
labelZh: WebSocket API 服务端口
labelEn: WebSocket API Service Port
required: true
rule: paramPort
type: number
- default: 21119
edit: true
envKey: PANEL_APP_PORT_SERVER_3
labelZh: 服务端口 21119
labelEn: Server Port 21119
envKey: PANEL_APP_PORT_SERVER_WS
labelZh: WebSocket Server 服务端口
labelEn: WebSocket Server Service Port
required: true
rule: paramPort
type: number
@@ -97,6 +97,18 @@ additionalProperties:
labelEn: Login validity period
required: true
type: text
- default: "1"
edit: true
envKey: RUSTDESK_API_RUSTDESK_PERSONAL
labelZh: 启用个人版API
labelEn: Enable personal API
required: true
type: select
values:
- label: 启用
value: "1"
- label: 禁用
value: "0"
- default: "1"
edit: true
envKey: RUSTDESK_API_APP_WEB_CLIENT

View File

@@ -30,12 +30,12 @@ services:
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_SERVER_1}:21115
- ${PANEL_APP_PORT_NAT}:21115
- ${PANEL_APP_PORT_ID}:21116
- ${PANEL_APP_PORT_ID}:21116/udp
- ${PANEL_APP_PORT_SERVER}:21117
- ${PANEL_APP_PORT_SERVER_2}:21118
- ${PANEL_APP_PORT_SERVER_3}:21119
- ${PANEL_APP_PORT_API_WS}:21118
- ${PANEL_APP_PORT_SERVER_WS}:21119
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}

View File

@@ -0,0 +1,5 @@
#!/command/with-contenv sh
cd /data || exit
PARAMS=
[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}"
/usr/bin/hbbr $PARAMS

View File

@@ -0,0 +1,6 @@
#!/command/with-contenv sh
sleep 2
cd /data
PARAMS=
[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${RUSTDESK_API_RUSTDESK_KEY}"
/usr/bin/hbbs -r $RELAY $PARAMS

View File

@@ -0,0 +1,220 @@
additionalProperties:
formFields:
- default: "/home/rustdesk-api"
edit: true
envKey: RUSTDESK_API_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 21114
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI API 端口
labelEn: WebUI API port
required: true
rule: paramPort
type: number
- default: 21115
edit: true
envKey: PANEL_APP_PORT_NAT
labelZh: NAT 服务端口
labelEn: NAT Server Port
required: true
rule: paramPort
type: number
- default: 21116
edit: true
envKey: PANEL_APP_PORT_ID
labelZh: ID 服务端口
labelEn: ID Server Port
required: true
rule: paramPort
type: number
- default: 21117
edit: true
envKey: PANEL_APP_PORT_SERVER
labelZh: 中继服务端口
labelEn: Intermediate Service Port
required: true
rule: paramPort
type: number
- default: 21118
edit: true
envKey: PANEL_APP_PORT_API_WS
labelZh: WebSocket API 服务端口
labelEn: WebSocket API Service Port
required: true
rule: paramPort
type: number
- default: 21119
edit: true
envKey: PANEL_APP_PORT_SERVER_WS
labelZh: WebSocket Server 服务端口
labelEn: WebSocket Server Service Port
required: true
rule: paramPort
type: number
- default: "http://127.0.0.1:21117"
edit: true
envKey: RUSTDESK_SERVER_URL
labelZh: RustDesk 中级服务地址
labelEn: RustDesk Intermediate service address
required: true
type: text
- default: "http://127.0.0.1:21116"
edit: true
envKey: RUSTDESK_API_RUSTDESK_ID_SERVER
labelZh: RustDesk ID 服务地址
labelEn: RustDesk ID server address
required: true
type: text
- default: "http://127.0.0.1:21114"
edit: true
envKey: RUSTDESK_API_RUSTDESK_API_SERVER
labelZh: RustDesk API 服务地址
labelEn: RustDesk API server address
required: true
type: text
- default: "RustDesk API Admin"
edit: true
envKey: RUSTDESK_API_ADMIN_TITLE
labelZh: 后台页面标题
labelEn: Admin page title
required: true
type: text
- default: ""
edit: true
envKey: RUSTDESK_API_RUSTDESK_KEY
labelZh: RustDesk API 密钥
labelEn: RustDesk API key
required: true
type: password
- default: "168h"
edit: true
envKey: RUSTDESK_API_APP_TOKEN_EXPIRE
labelZh: 登录有效期
labelEn: Login validity period
required: true
type: text
- default: "1"
edit: true
envKey: RUSTDESK_API_RUSTDESK_PERSONAL
labelZh: 启用个人版API
labelEn: Enable personal API
required: true
type: select
values:
- label: 启用
value: "1"
- label: 禁用
value: "0"
- default: "1"
edit: true
envKey: RUSTDESK_API_APP_WEB_CLIENT
labelZh: 启用 Web Client
labelEn: Enable Web Client
required: true
type: select
values:
- label: 启用
value: "1"
- label: 禁用
value: "0"
- default: "1"
edit: true
envKey: RUSTDESK_API_APP_SHOW_SWAGGER
labelZh: 开启 Swagger 文档
labelEn: Enable Swagger docs
required: true
type: select
values:
- label: 启用
value: "1"
- label: 禁用
value: "0"
- default: "false"
edit: true
envKey: RUSTDESK_API_APP_REGISTER
labelZh: 启用注册
labelEn: Enable register
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: "false"
edit: true
envKey: RUSTDESK_API_APP_DISABLE_PWD_LOGIN
labelZh: 登录策略
labelEn: Login strategy
required: true
type: select
values:
- label: 禁用密码登录
value: "true"
- label: 允许密码登录
value: "false"
- default: "false"
edit: true
envKey: RUSTDESK_API_PROXY_ENABLE
labelZh: 启用代理
labelEn: Enable proxy
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: ""
edit: true
envKey: RUSTDESK_API_PROXY_HOST
labelZh: 代理地址
labelEn: Proxy address
required: false
type: text
- default: "sqlite"
edit: true
envKey: RUSTDESK_API_GORM_TYPE
labelZh: 数据库类型
labelEn: Database type
required: true
type: select
values:
- label: sqlite
value: "sqlite"
- label: MySQL
value: "mysql"
- default: "127.0.0.1:3306"
edit: true
envKey: RUSTDESK_API_MYSQL_ADDR
labelZh: 数据库地址
labelEn: Database Host
required: false
type: text
- default: "rustdesk"
edit: true
envKey: RUSTDESK_API_MYSQL_DBNAME
labelZh: 数据库 名称
labelEn: Database Name
required: false
rule: paramCommon
type: text
- default: "rustdesk"
edit: true
envKey: RUSTDESK_API_MYSQL_USERNAME
labelZh: 数据库 用户名
labelEn: Database Username
required: false
type: text
- default: ""
edit: true
envKey: RUSTDESK_API_MYSQL_PASSWORD
labelZh: 数据库 密码
labelEn: Database Password
required: false
rule: paramComplexity
type: password

View File

@@ -0,0 +1,41 @@
networks:
1panel-network:
external: true
services:
rustdesk:
image: lejianwen/rustdesk-server-s6:latest
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:21114
- ${PANEL_APP_PORT_NAT}:21115
- ${PANEL_APP_PORT_ID}:21116
- ${PANEL_APP_PORT_ID}:21116/udp
- ${PANEL_APP_PORT_SERVER}:21117
- ${PANEL_APP_PORT_API_WS}:21118
- ${PANEL_APP_PORT_SERVER_WS}:21119
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data
environment:
- TZ=Asia/Shanghai
- RUSTDESK_API_LANG=zh-CN
rustdesk-server-s6:
volumes:
- ${RUSTDESK_API_ROOT_PATH}/server-data:/data
- ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data
- ${HBBR_RUN_FILE:-./conf/hbbr/run}:/etc/s6-overlay/s6-rc.d/hbbr/run
- ${HBBS_RUN_FILE:-./conf/hbbs/run}:/etc/s6-overlay/s6-rc.d/hbbs/run
environment:
- TZ=Asia/Shanghai
- MUST_LOGIN=N
- ENCRYPTED_ONLY=1
- RUSTDESK_API_LANG=zh-CN
- RELAY=${RUSTDESK_SERVER_URL}

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View File

@@ -0,0 +1,19 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "HBBR_RUN_FILE=${CURRENT_DIR}/conf/hbbr/run" >> .env
echo "HBBS_RUN_FILE=${CURRENT_DIR}/conf/hbbs/run" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi