打开/关闭搜索
搜索
打开/关闭菜单
76
1170
88
3486
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁CLIProxyAPI Docker 部署教程”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
CLIProxyAPI Docker 部署教程
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
# CLIProxyAPI Docker 部署教程 > 环境:Debian 13 | Docker Compose | Nginx 反向代理 > 访问域名:`xxx.com` ------ ## 一、安装系统依赖 ```bash apt update && apt upgrade -y apt install -y git nginx curl # 安装 Docker bash <(curl -fsSL https://get.docker.com) systemctl enable --now docker ``` ------ ## 二、部署 CLIProxyAPI ### 2.1 克隆项目 ```bash git clone https://github.com/router-for-me/CLIProxyAPI.git cd CLIProxyAPI cp config.example.yaml config.yaml ``` ### 2.2 编辑配置文件 ```bash nano config.yaml ``` 写入以下配置: ```yaml port: 8317 auth-dir: "~/.cli-proxy-api" request-retry: 3 quota-exceeded: switch-project: true switch-preview-model: true api-keys: - "your-api-key" # 客户端访问时使用的 Key,先随便填一个,后续可在面板修改 remote-management: allow-remote: true secret-key: "your-management-password" # 管理面板登录密码 ``` > `api-keys` 不能留空,先填一个占位,进管理面板后再改。 > `secret-key` 首次启动后会自动 bcrypt 加密写回配置,用明文登录即可。 ### 2.3 修改 docker-compose.yml 将 8317 和 8085 绑定到本地,OAuth 回调端口保持公网可达: ```bash nano docker-compose.yml ``` 找到 `ports` 部分,修改为: ```yaml ports: - "127.0.0.1:8317:8317" # 主 API,走 Nginx 反代 - "127.0.0.1:8085:8085" # 内部端口(实际未使用) - "1455:1455" # OAuth 回调(Claude/Codex) - "54545:54545" # OAuth 回调(Gemini CLI) - "51121:51121" # OAuth 回调(Antigravity) - "11451:11451" # OAuth 回调(其他) ``` ### 2.4 启动服务 ```bash bash docker-build.sh # 出现选项时输入 1 回车(使用预构建镜像,速度快) ``` 或直接: ```bash docker compose up -d ``` 验证服务正常运行: ```bash docker compose ps ss -tlnp | grep 8317 # 应看到 127.0.0.1:8317 tail -f ./logs/main.log # 实时日志 ``` ------ ## 三、配置防火墙 放行 OAuth 回调端口(API 端口由 Nginx 代理,无需放行): ```bash # ufw ufw allow 1455/tcp ufw allow 54545/tcp ufw allow 51121/tcp ufw allow 11451/tcp ``` ------ ## 四、配置 Nginx ### 4.1 创建站点配置 先只写 HTTP 块,等 certbot 申请完证书后再补 HTTPS: ```bash cat > /etc/nginx/sites-available/xxx.com << 'EOF' server { listen 80; listen [::]:80; server_name xxx.com; location / { return 301 https://$host$request_uri; } } EOF ``` ### 4.2 启用站点 ```bash ln -s /etc/nginx/sites-available/xxx.com /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx ``` ### 4.3 申请 HTTPS 证书 ```bash apt install -y certbot python3-certbot-nginx certbot --nginx -d xxx.com systemctl enable --now certbot.timer ``` ### 4.4 替换为完整配置 certbot 申请成功后,覆盖写入完整的 Nginx 配置: ```bash cat > /etc/nginx/sites-available/xxx.com << 'EOF' # HTTP → 强制跳转 HTTPS server { listen 80; listen [::]:80; server_name xxx.com; location / { return 301 https://$host$request_uri; } } # HTTPS 主配置 server { listen 443 ssl; listen [::]:443 ssl; server_name xxx.com; ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # 主 API location / { proxy_pass http://127.0.0.1:8317; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # SSE 流式响应必须关闭缓冲 proxy_buffering off; proxy_cache off; proxy_read_timeout 300s; proxy_connect_timeout 75s; } } EOF nginx -t && systemctl reload nginx ``` ------ ## 五、访问管理面板 浏览器打开: ``` https://xxx.com/management.html ``` - **服务器地址**:自动填入 `https://xxx.com` - **管理密钥**:填写 `config.yaml` 中 `secret-key` 的值 ------ ## 六、添加 OAuth 认证 在服务器上执行对应命令生成认证链接: ```bash cd ~/CLIProxyAPI # Claude docker compose exec cli-proxy-api /CLIProxyAPI/CLIProxyAPI -no-browser --claude-login # Gemini CLI docker compose exec cli-proxy-api /CLIProxyAPI/CLIProxyAPI -no-browser --login # OpenAI Codex docker compose exec cli-proxy-api /CLIProxyAPI/CLIProxyAPI -no-browser --codex-login # Qwen docker compose exec cli-proxy-api /CLIProxyAPI/CLIProxyAPI -no-browser --qwen-login ``` 复制输出的 `ssh` 隧道命令,**在本地电脑终端**执行(替换实际 SSH 端口): ```bash ssh -p 你的SSH端口 -R 1455:localhost:1455 root@服务器IP ``` 然后在服务器终端复制授权链接 → 本地浏览器打开 → 登录授权 → 认证文件自动保存。 ------ ## 七、客户端使用 | 项目 | 值 | | ------------ | -------------------------------------- | | API Endpoint | `https://xxx.com` | | API Key | `config.yaml` 中 `api-keys` 里设置的值 | ------ ## 八、常用运维命令 ```bash cd ~/CLIProxyAPI # 查看运行状态 docker compose ps # 实时日志 tail -f ./logs/main.log # 重启服务 docker compose restart # 升级到最新版 docker compose pull && docker compose up -d # 停止服务 docker compose down ``` ------ ## 各端口说明 | 端口 | 用途 | 是否公网 | | ------- | ----------------------- | ---------------- | | `8317` | 主 API 服务 | 否(Nginx 代理) | | `8085` | 内部端口 | 否 | | `1455` | Claude/Codex OAuth 回调 | ✅ 必须 | | `54545` | Gemini CLI OAuth 回调 | ✅ 必须 | | `51121` | Antigravity OAuth 回调 | ✅ 必须 | | `11451` | 其他 OAuth 回调 | ✅ 必须 | [[Category:500 常见应用指南 — Application Guides]]
返回
CLIProxyAPI Docker 部署教程
。
查看“︁CLIProxyAPI Docker 部署教程”︁的源代码
来自md5.pw