首页/新闻资讯/正文详情

new-api 用 docker compose 快速部署:TaoToken 统一 Key 接入配置骨架

发布时间:2026/9/27 20:57:36 来源:云帆数科 栏目:资讯中心
new-api 用 docker compose 快速部署:TaoToken 统一 Key 接入配置骨架
1. 为什么我要用 docker compose 跑 new-apinew-api 是一个把多家大模型 API 统一成 OpenAI 兼容格式的开源网关简单说就是你手里有 OpenAI、Claude、Gemini 或者任意兼容 OpenAI 协议的服务通过 new-api 可以只暴露一个地址、一套 Key让下游的客户端、脚本、Agent 都只认这一个入口。适合谁自建 AI 网关的开发者、想给团队做统一计费和额度管理的同学、以及需要把多个模型渠道聚合到一个 Key 后面的场景。但真到自己部署的时候坑往往不在 new-api 本身而在编排MySQL 和 Redis 的连接串写错一个字符容器起来了但页面 500SESSION_SECRET 没设或者太短登录态一直掉端口映射和云服务器安全组对不上本地 curl 通、外网访问不了。我试过手动 docker run 三个容器改一次配置要重启三次后来换成 docker compose 一把梭配置文件即文档重建环境只要一条命令。这篇就聚焦一件事用 docker compose 把 new-api MySQL Redis 一次性编排跑通并且把上游渠道指向 TaoToken 的统一 API 通道让 new-api 作为你本地的统一出口。全程给你可复制的docker-compose.yml、环境变量清单、启动后的连通性验证命令以及最常见的几类报错怎么排。你跟着做十分钟内应该能看到登录页。2. TaoToken 前置准备拿到统一 Key 和 API 地址new-api 本身是网关它需要至少一个上游渠道才能真正转发请求。这里我们用 TaoToken 作为上游它提供 OpenAI 兼容的统一 API 通道一个 Key 可以调用多种模型正好和 new-api 的「渠道」概念对上。你需要提前准备两样东西第一是 API Key。登录 TaoToken 控制台在 API Keys 页面创建一个新 Key复制保存。这个 Key 就是后面填进 new-api 渠道里的密钥。第二是 API 地址。TaoToken 的 API 端点是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 new-api 渠道的 Base URL 填入即可。new-api 在转发时会自动拼接/v1/chat/completions这类路径所以你不要自己多加/v1否则会变成/v1/v1/...导致 404。相关入口我列一下方便你按需跳转模型对话体验https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel_chatCoding Plan长期编码/Agent 场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding_plan控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsoleAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi_keys接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc注意Key 只在创建时完整显示一次页面刷新后就看不到了。建议创建后立刻粘贴到你的密码管理器或临时文件里别等关了页面再找。3. 可复制的 docker-compose.yml 与配置骨架下面这份编排是我实际在用的精简版三个服务new-api 主程序、MySQL 8.0 存数据、Redis 7.0 做缓存和会话。目录结构建议这样放new-api-deploy/ ├── docker-compose.yml ├── data/ # new-api 运行数据 ├── mysql/ # MySQL 持久化 └── redis/ # Redis 持久化docker-compose.yml内容如下你可以直接复制version: 3.8 services: new-api: image: calciumion/new-api:latest container_name: new-api restart: always ports: - 3000:3000 volumes: - ./data:/data environment: - SQL_DSNroot:newapi_pass_2024tcp(mysql:3306)/newapi?charsetutf8mb4parseTimeTruelocLocal - REDIS_CONN_STRINGredis://redis:6379/0 - SESSION_SECRETchange_this_to_a_long_random_string_at_least_32_chars - NODE_TYPEmaster - TZAsia/Shanghai depends_on: - mysql - redis mysql: image: mysql:8.0 container_name: new-api-mysql restart: always environment: - MYSQL_ROOT_PASSWORDnewapi_pass_2024 - MYSQL_DATABASEnewapi - TZAsia/Shanghai volumes: - ./mysql:/var/lib/mysql command: --default-authentication-pluginmysql_native_password --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci redis: image: redis:7.0 container_name: new-api-redis restart: always volumes: - ./redis:/data command: redis-server --appendonly yes几个关键点解释一下这些是我踩过坑之后固定下来的写法SQL_DSN里的密码必须和 MySQL 服务的MYSQL_ROOT_PASSWORD完全一致tcp(mysql:3306)里的mysql是 compose 的服务名容器间通过服务名互相解析不要写成localhost或127.0.0.1那会指向容器自己。SESSION_SECRET别用示例里的字符串换成你自己的随机串长度至少 32 位。生成方法openssl rand -hex 32REDIS_CONN_STRING用redis://redis:6379/0末尾的/0是数据库编号。如果你给 Redis 设了密码要写成redis://:你的密码redis:6379/0冒号前面留空表示用户名。MySQL 的command里加了mysql_native_password是因为部分 new-api 版本对 MySQL 8 默认的caching_sha2_password兼容性一般显式指定更稳。4. 启动、验证与渠道接入配置文件就位后在new-api-deploy目录下执行docker compose up -d第一次会拉取三个镜像耐心等。如果卡在拉取不动多半是镜像仓库网络问题可以给 Docker 配置镜像加速器在/etc/docker/daemon.json里加{ registry-mirrors: [https://docker.m.daocloud.io] }改完执行sudo systemctl restart docker再重新up -d。启动完成后查看状态docker compose ps三个服务都应该是Up状态。如果 new-api 反复重启先看日志docker compose logs -f new-api日志里出现database connection failed就是 DSN 写错了出现NOAUTH就是 Redis 连接串有问题。确认容器健康后验证 HTTP 端口是否通curl -I http://127.0.0.1:3000返回HTTP/1.1 200 OK或 302 跳转都算正常。如果部署在云服务器记得在安全组放行 3000 端口否则外网访问不了。然后浏览器打开http://你的服务器IP:3000首次访问会引导你创建管理员账号。登录后进入「渠道」页面添加一个渠道类型选择 OpenAIBase URL 填https://taotoken.net/api密钥填你在 TaoToken 创建的 API Key模型可以手动填比如gpt-4o-mini、claude-3-5-sonnet等按你实际要用的填保存后点渠道的「测试」按钮如果返回绿色成功说明 new-api 已经能通过 TaoToken 通道转发请求了。接着在「令牌」页面创建一个 new-api 自己的令牌这个令牌才是你给下游客户端用的。最后用 new-api 的令牌做一次端到端验证curl http://127.0.0.1:3000/v1/chat/completions \ -H Authorization: Bearer 你的new-api令牌 \ -H Content-Type: application/json \ -d { model: gpt-4o-mini, messages: [{role: user, content: 说一句你好}] }返回里带choices字段和正常内容整条链路就通了客户端 → new-api → TaoToken → 模型。5. 本篇常见错排查报错一dial tcp 127.0.0.1:3306: connect: connection refused说明 new-api 在连本机的 3306而不是 MySQL 容器。检查SQL_DSN里的主机名是不是写成了localhost或127.0.0.1必须改成服务名mysql。报错二NOAUTH Authentication requiredRedis 设了密码但连接串没带。要么去掉 Redis 密码要么把连接串改成redis://:密码redis:6379/0。报错三页面能打开但登录后立刻掉线SESSION_SECRET没设或太短。换成长随机串后重建容器docker compose down docker compose up -d。注意down不会删数据卷数据还在。报错四渠道测试返回 404Base URL 多写了/v1。TaoToken 的地址就是https://taotoken.net/apinew-api 会自己拼路径你多加一层就重复了。报错五外网访问超时本地 curl 正常云服务器安全组没放行 3000 端口或者系统防火墙拦了。检查安全组入站规则和ufw/firewalld状态。报错六MySQL 容器启动后马上退出多半是./mysql目录权限问题或者之前用不同密码初始化过数据目录导致密码不匹配。可以备份后清空./mysql重新初始化但注意这会丢数据。6. 后续怎么用这套骨架这套编排跑通之后你手里就有了一个本地统一出口。下游无论是 ChatBox、NextChat 这类客户端还是自己写的脚本、Agent 框架都只需要填http://你的IP:3000/v1和 new-api 令牌不用再关心上游到底是哪家模型。想加新模型在 TaoToken 侧确认可用后在 new-api 渠道里补一个模型名就行客户端完全无感。如果你后面要做长期编码或 Agent 场景可以了解下 Coding Plan配合 new-api 做额度隔离会更顺手单纯想先验证模型效果直接去模型对话页面试就行。接入过程中遇到渠道配置或 Key 的问题接入文档里有更细的字段说明API Keys 页面可以随时新建和吊销 Key。整套骨架的价值在于配置文件即环境换台机器复制目录、改一下 SESSION_SECRET 和密码docker compose up -d就能重建一套一模一样的网关。

相关推荐

ECShop 2.7.2 去版权实战:从 lib_main.php 到 common.js 的完整配置与验证
ECShop 2.7.2 去版权实战:从 lib_main.php 到 common.js 的完整配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:57:36

【无需服务器】零代码微调Qwen3,收藏这一篇就够!TaoToken 统一 Key 配置实战
【无需服务器】零代码微调Qwen3,收藏这一篇就够!TaoToken 统一 Key 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:57:23

ROS机械臂抓取仿真避坑指南:从Gazebo环境搭建到MoveIt抓取实战
ROS机械臂抓取仿真避坑指南:从Gazebo环境搭建到MoveIt抓取实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:57:23

重庆自动seo避坑指南3个关键注意事项助新手零代码建站
重庆自动seo避坑指南3个关键注意事项助新手零代码建站

重庆自动seo避坑指南3个关键注意事项助新手零代码建站 自己不会代码想做网站,最怕的就是被“自动SEO”这种词忽悠得云里雾里,最后钱花了,流量没来。很多重庆的中小企业老板,特别是做本地生活服务或实体贸易的,手里没技术团队,只想找个省事的路子… · 2026/9/27 22:33:59

OpenClaw部署教程完整版:用TaoToken统一API Key的最简配置流程
OpenClaw部署教程完整版:用TaoToken统一API Key的最简配置流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:53

用 Microsoft Agent Framework 构建 SubAgent(Multi-Agent):config.toml 骨架与验证清单
用 Microsoft Agent Framework 构建 SubAgent(Multi-Agent):config.toml 骨架与验证清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:53

目前热门的IP驱动产业新场景新工具哪家专业
目前热门的IP驱动产业新场景新工具哪家专业

开篇:定下基调测评背景与目的近年来IP价值从单一内容输出向全产业场景渗透,数字工具作为IP落地的核心载体,正在重构实体经营、康养服务、副业创业等多赛道的协作模式。本次测评聚焦IP驱动产业落地的实际效能,从真实落地案例、用户… · 2026/9/27 22:33:53

AIGC智能编程实战:大模型代码助手巧学巧用与TaoToken配置指南
AIGC智能编程实战:大模型代码助手巧学巧用与TaoToken配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

OpenAI自研芯片降本50%背后:用TaoToken统一Key打通AI工具链配置
OpenAI自研芯片降本50%背后:用TaoToken统一Key打通AI工具链配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:33:47

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码