没有VPS?教你零成本在Render上部署CLIProxyAPI
在昨天的文章《没有VPS?教你零成本在ClawCloud上部署CLIProxyAPI》发布后,我接着测试了 Render 平台,发现其免费计划不包含持久化存储。在将此情况反馈给 CLIProxyAPI 的作者后,他连夜更新了版本,新增了通过 Git 进行持久化存储的功能。这样一来,我们便能将配置文件和认证文件保存在 GitHub 的私有仓库中,不需要依赖容器云的持久化存储了。接下来,本文将一步步地指导你如何在没有持久化存储的容器服务(例如 Render 的免费计划)上部署 CLIProxyAPI。至于通过 EasyCLI 进行 OAuth 认证的部分,与在 ClawCloud 上的部署完全一致,请参阅前一篇文章。首先,我们需要在 GitHub 上创建一个空的仓库。仓库名称可自定义,但务必设为私有,否则你添加的 API Key 等敏感信息就会裸奔了。创建仓库后,记下仓库的 URL 地址。接下来我们点击页面右上角的个人头像,进入 Settings,然后点击左侧菜单最下方的 Developer Settings。接着,依次点击 Personal access tokens → Fine-grained tokens,然后点击右上角的 Generate new token。如图所示填写 Token name(可自定义),根据你的需求选择过期时间(Expiration),并在 Repository access 中选择 Only select repositories,然后选中我们刚刚创建的那个空白仓库。将页面向下拉动,在 Permissions → Add permissions 中找到 Contents,添加并将其权限从 Read-only 修改为 Read and write。确认权限设置无误后,点击页面底部的 Generate token。此时页面上会显示生成的 Token。请注意,此 Token 仅会显示一次,页面关闭后将无法查看,请务必复制并妥善保存。至此,GitHub 的准备工作就全部完成了。接下来,Render 部署。首先,请确保你已注册 Render 账户。登录后,新建项目并选择 New Web Service。在部署方式中选择 Existing Image,在 Image URL 中输入 eceasy/cli-proxy-api:latest,然后点击 Connect。输入服务名称(Name,可自定义),选择区域(Region,可根据个人偏好选择),并确保实例类型为 Free。接下来,我们需要添加 4 个环境变量:GITSTORE_GIT_URL: 你的 GitHub 仓库地址 GITSTORE_GIT_USERNAME: 你的 GitHub 用户名 GITSTORE_GIT_TOKEN: 你刚刚创建的 Personal Access Token MANAGEMENT_PASSWORD: 用于登录管理界面的密码 输入完成后,点击页面底部的 Deploy Web Service。等待部署日志滚动,当状态变为 Live 时,并且日志中出现 Available at your primary URL:XXXX 之后,程序就成功启动了。使用 Render 提供的 URL,在其后添加 /management.html,即可进入 WebUI。输入你设定的 MANAGEMENT_PASSWORD 即可登录。此时再查看你的 GitHub 仓库,会发现里边已自动生成了两个文件夹。至此,在 Render 上部署 CLIProxyAPI 的全流程已完成。其他类似的容器云平台也可采用此方法进行部署,大家可自行探索。CLIProxyAPI 在 v6.2.2 之后才新增了这个功能,如果你想指定镜像版本的话,选择的版本至少为 eceasy/cli-proxy-api:v6.2.2。使用此方式部署后,配置文件中的 remote-management 部分将不再生效,管理密码以环境变量为准。这意味着,若要修改管理密码,你需要直接修改环境变量 MANAGEMENT_PASSWORD。使用 GitHub 存储配置文件和认证文件,不代表可以在多个容器实例中同时共享和调用,请务必避免这种情况,以免发生冲突。当容器正在运行时,直接在 GitHub 仓库中所做的任何手动更改都将是无效的。如确需手动修改,请务必先停止容器服务。推荐使用 WebUI 或 EasyCLI 来管理配置。使用 EasyCLI 还能进行 OAuth 的远程认证,具体方法可参考本文开头提到的《没有VPS?教你零成本在ClawCloud上部署CLIProxyAPI》中的相关内容。
评论已关闭