教程

Sub2API Docker Compose 部署教程:生产环境最佳方案,含迁移和 Nginx 配置

Sub2API Docker Compose 生产环境部署完整指南:一键脚本自动生成密钥、手动配置精细控制、本地目录版和命名卷版对比、升级、tar 一键迁移、Nginx 反代 HTTPS 配置,官方推荐方案。

2026/4/144分钟 阅读ClaudeEagle

Sub2API 是开源 AI API 网关,把 Claude、OpenAI、Gemini 等订阅统一转成标准 API 接口,支持拼车共享、Token 计费、智能调度。

本文介绍方式二:Docker Compose 部署——官方推荐的生产环境方案,包含 PostgreSQL 和 Redis 容器,一键启动全套服务。


为什么选 Docker Compose

  • 环境完全隔离,不污染主机
  • 含 PostgreSQL + Redis,无需单独安装
  • 数据目录在本地,迁移只需 tar 打包
  • 适合生产环境,稳定可靠

前置条件

bash
# 检查 Docker 版本(需要 20.10+)
docker --version

# 检查 Docker Compose 版本(需要 v2+)
docker compose version

如果还没安装:

bash
# 一键安装 Docker(Linux)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker YOUR_USERNAME
newgrp docker

方式 A:一键脚本部署(推荐)

bash
# 创建部署目录
mkdir -p sub2api-deploy && cd sub2api-deploy

# 下载并运行部署准备脚本
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash

# 启动所有服务
docker compose up -d

# 查看日志
docker compose logs -f sub2api

脚本自动完成

  • 下载 docker-compose.local.yml(保存为 docker-compose.yml)和 .env.example
  • 自动生成安全的随机凭证(JWT_SECRET、TOTP_ENCRYPTION_KEY、POSTGRES_PASSWORD)
  • 创建 .env 文件
  • 创建数据目录(本地目录模式,便于备份迁移)

方式 B:手动部署(精细控制)

bash
# 克隆仓库
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api/deploy

# 复制环境配置
cp .env.example .env

# 编辑配置
nano .env

必须修改的 .env 配置

bash
# 数据库密码(必须修改)
POSTGRES_PASSWORD=your_secure_password_here

# JWT Secret(推荐设置,避免重启后用户登出)
JWT_SECRET=your_jwt_secret_here

# TOTP 加密 Key(推荐设置,保留重启后的 2FA 配置)
TOTP_ENCRYPTION_KEY=your_totp_key_here

# 管理员账号(可选,也可在安装向导里设置)
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=your_admin_password

# 服务端口(默认 8080)
SERVER_PORT=8080

生成安全的随机密钥

bash
# JWT_SECRET
openssl rand -hex 32

# TOTP_ENCRYPTION_KEY
openssl rand -hex 32

# POSTGRES_PASSWORD
openssl rand -hex 32
bash
# 创建数据目录(本地模式)
mkdir -p data postgres_data redis_data

# 启动(推荐:本地目录版本,便于迁移)
docker compose -f docker-compose.local.yml up -d

# 检查状态
docker compose -f docker-compose.local.yml ps

两种部署版本对比

版本数据存储迁移推荐场景
docker-compose.local.yml本地目录简单(tar 打包)生产环境、频繁备份
docker-compose.ymlDocker 命名卷需要 Docker 命令简单测试

推荐:生产环境用 docker-compose.local.yml(脚本自动选择这个)。


首次访问

bash
# 如果管理员密码是自动生成的,在日志里找
docker compose -f docker-compose.local.yml logs sub2api | grep "admin password"

访问 http://你的服务器IP:8080,如果没有预设管理员账号,会进入安装向导完成初始化。


配置接入 Claude Code

管理后台 → 添加 Claude 账号 → 生成 API Key,然后:

bash
export ANTHROPIC_BASE_URL="http://你的服务器IP:8080/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的APIKey"

Antigravity 账号(如果使用):

bash
export ANTHROPIC_BASE_URL="http://你的服务器IP:8080/antigravity"
export ANTHROPIC_AUTH_TOKEN="sk-你的APIKey"

日常运维

bash
# 查看所有服务状态
docker compose -f docker-compose.local.yml ps

# 查看实时日志
docker compose -f docker-compose.local.yml logs -f

# 重启
docker compose -f docker-compose.local.yml restart

# 停止(不删数据)
docker compose -f docker-compose.local.yml down

升级

bash
# 拉取最新镜像并重启
docker compose -f docker-compose.local.yml pull
docker compose -f docker-compose.local.yml up -d

也可以在管理后台点「检查更新」通过 Web 界面升级。


迁移到新服务器

本地目录版本迁移极其简单:

bash
# 源服务器:打包
docker compose -f docker-compose.local.yml down
cd ..
tar czf sub2api-complete.tar.gz sub2api-deploy/

# 传输到新服务器
scp sub2api-complete.tar.gz user@new-server:/path/

# 新服务器:解压启动
tar xzf sub2api-complete.tar.gz
cd sub2api-deploy/
docker compose -f docker-compose.local.yml up -d

Nginx 反向代理配置

生产环境建议用 Nginx 做反代 + HTTPS:

nginx
http {
    underscores_in_headers on;  # 必须,否则 Codex sticky session 失效

    server {
        listen 80;
        server_name your-domain.com;
        return 301 https://your-domain.com/;
    }

    server {
        listen 443 ssl;
        server_name your-domain.com;

        ssl_certificate /path/to/cert.pem;
        ssl_certificate_key /path/to/key.pem;

        location / {
            proxy_pass http://localhost:8080;
            proxy_set_header Host your-domain.com;
            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 https;
        }
    }
}

Simple Mode(个人/内网使用)

如果只是个人或小团队内网使用,可以开启简洁模式,隐藏 SaaS 相关功能:

.env 里加:

bash
RUN_MODE=simple
SIMPLE_MODE_CONFIRM=true

来源:github.com/Wei-Shaw/sub2api | 整理:ClaudeEagle

相关文章推荐

教程Sub2API 脚本一键安装教程:5 分钟部署 Claude OpenAI 订阅转 API 中转网关Sub2API 脚本安装完整教程:一行命令安装 Claude/OpenAI/Gemini 订阅中转网关,含 PostgreSQL/Redis 配置、安装向导、systemd 管理、Nginx 反代、一键升级和卸载,适合 Linux 新手快速部署。2026/4/14教程Sub2API 源码编译部署教程:Go + Vue 3 自定义构建 AI API 中转网关开发者指南Sub2API 源码编译完整指南:Go/Node.js/pnpm 环境搭建、前后端分别编译、-tags embed 嵌入前端、config.yaml 详细配置、开发热重载、Ent/Wire 代码生成、systemd 生产部署,面向开发者和需要自定义的用户。2026/4/14教程Hermes Agent 消息网关配置完整指南:Telegram、Discord、Slack 多平台同步Hermes Agent 消息网关全面配置教程:Telegram Bot 创建和私聊话题分区、Discord Bot 权限配置、Slack App 设置、多平台同步原理、工具权限按平台管控、安全白名单配置,含常见连接问题排查。2026/4/15教程Hermes Agent Cron 定时任务完全指南:10 个开箱即用的 AI 自动化任务模板Hermes Agent 定时任务完整教程:自然语言配置 Cron、10 个实用任务模板(AI 资讯简报/GitHub 监控/代码扫描/服务器告警/周报生成等)、标准 Cron 表达式参考和时间守卫防异常补跑。2026/4/15教程Hermes Agent 六种安装路径详解:VPS、Mac、WSL2、Docker、Pinokio、ServerlessHermes Agent 六种安装方式完整指南:VPS 一键部署(推荐)、Mac 本地 + Ollama、Windows WSL2、Docker Compose、Pinokio 无命令行、Modal/Daytona Serverless,含从 OpenClaw 迁移方法和常见报错解决。2026/4/15教程Hermes Agent 真实费用详解:API 成本、服务器托管和硬件选择完全指南Hermes Agent 完整费用指南:Nous Portal/OpenRouter/Ollama 三种 LLM 方案成本对比、真实月费估算表(从 0 到 500 元)、VPS 和 Mac Mini 托管方案、Honcho 是否值得开,帮你选到最省钱的配置。2026/4/15