feat: SSH 改纯密码认证(paramiko,禁用密钥/agent 不弹授权框,密码放 .env)+ 部署配置全迁 .env(config.py 不再内置 STF/SSH/Tailscale 值,.env.example 补全 11 项)
This commit is contained in:
@@ -30,7 +30,8 @@ def _env(key, default):
|
||||
|
||||
|
||||
# ================== STF 配置 ==================
|
||||
STF_URL = _env("STF_URL", "http://192.168.20.220:7100")
|
||||
# 部署相关配置统一从 .env 读取(模板见 .env.example),config.py 不再内置具体值
|
||||
STF_URL = _env("STF_URL", "")
|
||||
STF_TOKEN = _env("STF_TOKEN", "") # 写入 .env,不要提交到 git
|
||||
|
||||
# ================== adb 路径 ==================
|
||||
@@ -65,21 +66,24 @@ APK_DIR = os.path.join(DATA_DIR, "apks")
|
||||
# 仅单实例部署时设为 True:多实例共用同一 STF 账户时不要开,会误释放另一实例的运行中任务。
|
||||
AUTO_RELEASE_STALE_OCCUPY = _env("AUTO_RELEASE_STALE_OCCUPY", "false").lower() in ("1", "true", "yes")
|
||||
|
||||
# ================== 维护(STF 容器一键重启 + STF 设备管理) ==================
|
||||
# 通过 SSH 到部署机执行 docker 命令/改脚本。
|
||||
# 前置条件:本机可免密 SSH 到目标机(stf@220 需已授权本机公钥)。
|
||||
STF_SSH_TARGET = _env("STF_SSH_TARGET", "[email protected]")
|
||||
STF_DOCKER_CONTAINER = _env("STF_DOCKER_CONTAINER", "stf")
|
||||
# STF 设备管理:"工具 → STF 设备管理"维护设备池。
|
||||
# 220 上 adb 跑在独立容器(connect_devices.sh 里是 docker exec adb adb ...);
|
||||
# 设备列表由脚本的 DEVICES 数组维护(cron 每 5 分钟补连)。
|
||||
STF_ADB_CONTAINER = _env("STF_ADB_CONTAINER", "adb")
|
||||
STF_SCRIPT_PATH = _env("STF_SCRIPT_PATH", "/mnt/data/openstf/connect_devices.sh")
|
||||
# ================== SSH 到部署机(维护页重启 STF + 工具页 STF 设备管理) ==================
|
||||
# 通过 SSH 到部署机执行 docker 命令/改脚本。配置从 .env 读取:
|
||||
# STF_SSH_TARGET SSH 目标(user@host)
|
||||
# STF_SSH_PASSWORD SSH 密码(配置后 paramiko 纯密码登录,跨平台;
|
||||
# 留空则退回系统 ssh 免密密钥 BatchMode=yes)
|
||||
# STF_DOCKER_CONTAINER STF Docker 容器名
|
||||
# STF_ADB_CONTAINER 220 上 adb Docker 容器名(STF 设备管理执行 adb 用)
|
||||
# STF_SCRIPT_PATH STF 设备池脚本路径(增删设备读写其 DEVICES 列表)
|
||||
STF_SSH_TARGET = _env("STF_SSH_TARGET", "")
|
||||
STF_SSH_PASSWORD = _env("STF_SSH_PASSWORD", "")
|
||||
STF_DOCKER_CONTAINER = _env("STF_DOCKER_CONTAINER", "")
|
||||
STF_ADB_CONTAINER = _env("STF_ADB_CONTAINER", "")
|
||||
STF_SCRIPT_PATH = _env("STF_SCRIPT_PATH", "")
|
||||
|
||||
# ================== 维护(Tailscale 管理) ==================
|
||||
# 维护页"Tailscale 管理"调用官方 API v2 管理 tailnet 设备。
|
||||
# TAILSCALE_API_KEY:Tailscale 后台 → Settings → API Access Tokens 生成(或 OAuth client_id:secret)
|
||||
# TAILSCALE_TAILNET:tailnet 名称/ID,个人账号一般是登录邮箱前缀
|
||||
# ================== Tailscale 管理(工具页) ==================
|
||||
# 调用官方 API v2 管理 tailnet 设备。配置从 .env 读取:
|
||||
# TAILSCALE_API_KEY:后台 → Settings → API Access Tokens 生成(或 OAuth client_id:secret)
|
||||
# TAILSCALE_TAILNET:tailnet 名称/ID,个人账号一般是登录邮箱前缀
|
||||
# 安全:密钥用环境变量/.env 注入,不要写死在代码或提交到 git。
|
||||
TAILSCALE_API_KEY = _env("TAILSCALE_API_KEY", "") # 写入 .env,不要提交到 git
|
||||
TAILSCALE_TAILNET = _env("TAILSCALE_TAILNET", "[email protected]")
|
||||
TAILSCALE_TAILNET = _env("TAILSCALE_TAILNET", "")
|
||||
|
||||
Reference in New Issue
Block a user