基于docker搭建sub2api图文教程

发布时间:2026/6/11 22:02:20

基于docker搭建sub2api图文教程 1. 前言本文隶属于 OpenClaw龙虾系列教程文章建议按顺序阅读 可以访问OpenClaw龙虾系列教程文章目录 https://iloli.love/archives/1766849996690 查看其它文章本文也可单独作为 sub2api 搭建教程文章阅读本文基于sub2api v0.1.84版本Github地址为 https://github.com/Wei-Shaw/sub2apisub2api 能够将 GeminiCLI ClaudeCode 等转换为不仅限于原客户端使用的API从而供给OpenCode或其它客户端使用搭建完才发现当前版本的sub2api不能提供标准的OpenAI API可用于OpenCode等但我不知道能否用于OpenClaw该项目有更多玩法本文只赘述其中一部分其他请自行探索本系列教程全程使用腾讯云轻量应用服务器可以参加腾讯云OpenClaw专属活动进行购买新客68/年起老客99/年起活动链接 https://cloud.tencent.com/act/pro/lighthouse-moltbot 无AFF http://to.iloli.love/openclaw 有AFF就算不买也强烈推荐使用有 快照 功能的厂商的服务器进行搭建并且一定要经常打快照不要问为什么血的教训血的教训血的教训2. 搭建首先选择一个目录本文中使用的是/data/sub2api运行mkdir -p /data/sub2api touch /data/sub2api/compose.yaml创建docker compose文件复制以下docker compose 配置8080端口太常见容易被占用所以这里我改成了6780可自行修改为其它端口services: # 主程序 sub2api: image: weishaw/sub2api:latest container_name: sub2api restart: unless-stopped ports: - 6780:8080 volumes: - ./data/sub2api:/app/data # 挂载到当前目录的 data/sub2api environment: - AUTO_SETUPtrue # 开启自动初始化 - TZAsia/Shanghai # 设置时区 - SERVER_MODErelease # 运行模式 - DATABASE_HOSTpostgres - DATABASE_PORT5432 - DATABASE_USERsub2api # 默认数据库用户 - DATABASE_PASSWORDsub2api_password # 默认数据库密码 - DATABASE_DBNAMEsub2api # 默认数据库名 - REDIS_HOSTredis - REDIS_PORT6379 - REDIS_PASSWORDredis_password # 默认 Redis 密码 - ADMIN_EMAILadminsub2api.local # 默认管理员账号 - ADMIN_PASSWORDadmin123456 # 默认管理员密码 - JWT_SECRET # 固定 JWT 密钥 - TOTP_ENCRYPTION_KEY # 固定 2FA 密钥 - SECURITY_URL_ALLOWLIST_ENABLEDfalse # 禁用白名单检查 - SECURITY_URL_ALLOWLIST_ALLOW_INSECURE_HTTPtrue # 允许 HTTP URL⚠️ 不安全 depends_on: postgres: { condition: service_healthy } redis: { condition: service_healthy } networks: - sub2api-network # 数据库 (PostgreSQL) postgres: image: postgres:18-alpine container_name: sub2api-postgres restart: unless-stopped volumes: - ./data/postgres:/var/lib/postgresql/data # 挂载到当前目录的 data/postgres environment: - POSTGRES_USERsub2api - POSTGRES_PASSWORDsub2api_password - POSTGRES_DBsub2api - PGDATA/var/lib/postgresql/data - TZAsia/Shanghai healthcheck: test: [CMD-SHELL, pg_isready -U sub2api -d sub2api] interval: 10s timeout: 5s retries: 5 networks: - sub2api-network # 缓存 (Redis) redis: image: redis:8-alpine container_name: sub2api-redis restart: unless-stopped volumes: - ./data/redis:/data # 挂载到当前目录的 data/redis command: [redis-server, --requirepass, redis_password, --appendonly, yes] environment: - REDISCLI_AUTHredis_password - TZAsia/Shanghai healthcheck: test: [CMD, redis-cli, ping] interval: 10s timeout: 5s retries: 5 networks: - sub2api-network networks: sub2api-network: driver: bridge粘贴到刚刚新建的 compose.yaml 里可选修改数据库信息请务必修改账号密码JWT密钥 和 2FA密钥 如果需要请自行生成作用分别为如果使用HTTPS并且在意安全性请删除 禁用白名单检查 和 允许HTTP URL 两项环境变量如果只使用HTTP不使用HTTPS的话这两个则似乎需要保留如果在上面修改了数据库信息别忘了这里也要同步修改如果没有修改则忽略此处修改好后运行如下命令cd /data/sub2api docker compose up -d创建容器如图即为成功3. 配置访问 服务器IP:6780 如果你修改了端口则替换为你的端口进入主页点击登录输入你在前面配置的账号密码登录可以看到sub2api已经给出了配置向导可以根据向导进行配置也可以跟着我的教程走点击 分组管理 点击创建分组不同的平台需要创建不同分组本文以对接Codex作为教程其它大同小异请自行研究输入名称平台选择OpenAI点击创建这里可以看见我们已经创建好的分组点击账号管理点击添加账号填写名称平台选择OpenAI账号类型选择OAuth注意要下拉勾选前面创建的分组 点击下一步点击生成授权链接可以看到生成的授权链接复制到浏览器打开它接下来按照提示登录登录后显示无法访问此网站为正常现象将网址栏的内容全部复制粘贴到如图所示位置点击完成授权可以看到我们刚刚添加的账号接下来点击 API 密钥点击创建密钥填写名称分组勾选我们之前创建的分组点击创建可以看到我们刚刚创建的 API 密钥4. 使用到此已经完成可以使用该密钥了BaseURL 即为你的服务器IP:项目端口点击上图中的使用密钥 可以看到相关配置这个项目不能提供标准的OpenAI API 似乎只能给 OpenCode 使用这里就不过多赘述了

相关新闻