基于docker搭建newapi图文教程
- 内容介绍
- 相关推荐
本文作者:猫猫摸大鱼
1. 前言
本文隶属于 OpenClaw龙虾系列教程文章,建议按顺序阅读 ,可以访问OpenClaw龙虾系列教程文章目录 https://iloli.love/archives/1766849996690 查看其它文章,本文也可单独作为 newapi 搭建教程文章阅读
本文基于newapi v0.11.0-alpha.5版本,Github地址为 https://github.com/QuantumNous/new-api
newapi 是一个聚合API项目,能够将其它免费或付费 API 接入,并统一到一个API接口,从而方便供给OpenClaw或其它客户端使用
该项目可以作为个人用途使用,也可以分发多人使用,目前市面上的中转站基本都是基于该项目,本文中仅作为个人用途使用
该项目有更多玩法,本文只赘述其中一部分,其他请自行探索
本系列教程全程使用腾讯云轻量应用服务器,可以参加腾讯云OpenClaw专属活动进行购买,新客68/年起,老客99/年起
活动链接 https://cloud.tencent.com/act/pro/lighthouse-moltbot (无AFF)
就算不买也强烈推荐使用有 快照 功能的厂商的服务器进行搭建,并且一定要经常打快照,不要问为什么,血的教训,血的教训,血的教训
1905×908 246 KB
1905×924 83.1 KB
2. 搭建
首先选择一个目录,本文中使用的是 /data/newapi ,先在该目录下创建 compose.yaml 文件
581×323 16.3 KB
然后在以下两个版本里面任选其一复制(3000端口比较常见容易被占用所以这里我改成了3480,可自行修改为其它端口)
精简单容器版本
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
command: --log-dir /app/logs
ports:
- "3480:3000"
volumes:
- ./data:/data
- ./logs:/app/logs
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
Redis+PG数据库版本
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
command: --log-dir /app/logs
ports:
- "3480:3000"
volumes:
- ./data:/data
- ./logs:/app/logs
environment:
- SQL_DSN=postgresql://root:123456@postgres:5432/new-api
- REDIS_CONN_STRING=redis://redis
- TZ=Asia/Shanghai
depends_on:
- redis
- postgres
healthcheck:
test: ["CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
redis:
image: redis:latest
container_name: redis
restart: always
postgres:
image: postgres:15
container_name: postgres
restart: always
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: 123456
POSTGRES_DB: new-api
volumes:
- ./pg_data:/var/lib/postgresql/data
粘贴到 compose.yaml 里(为了方便,本文中使用的是精简单容器版本)
1342×640 29 KB
在 /data/newapi 下运行 docker compose up -d ,创建容器,如图即为成功
3. 配置
访问 服务器IP:3480 (如果你修改了端口则替换为你的端口),进入初始化界面,点击下一步
1920×927 39.9 KB
设置管理员账号密码,点击下一步
1920×927 38.5 KB
本文仅展示个人用途,所以选择自用模式,点击下一步
1920×927 39.3 KB
点击初始化系统
1920×927 39.7 KB
会自动跳转到首页,点击登录
1920×901 117 KB
输入刚刚设置的账号密码,点击继续
1920×929 65 KB
进入后台主页
1920×929 71.4 KB
点击渠道管理,添加渠道
1920×929 56.8 KB
这里我们可以接入很多种类型的免费或者付费 API ,本文中我们仅演示接入在 https://iloli.love/archives/1771758983917 这篇文章里搭建的 API
(所有兼容标准化 OpenAI API 的大模型,都可以按照这个方法接入)
1920×927 61.7 KB
类型默认 OpenAI ,名称随意,填写在CLIProxyAPI配置的密钥,API 地址填写 CLIProxyAPI的服务器IP:端口,或是你反代CLIProxyAPI的域名(一定要注意,地址的最后不要带 / 或者 /v1 ),模型处可以暂时直接点击 填入相关模型 ,点击提交
707×927 41.6 KB
可以看到我们刚刚添加的渠道,点击编辑
1920×929 60.6 KB
点击 清除所有模型 , 获取模型列表
1920×927 87.8 KB
可以看到我们用CLIProxyAPI反代出的所有模型,选择自己需要的模型,点击确定
1920×927 81.7 KB
点击提交
1920×927 79.2 KB
可以点击这个小箭头,再点击批量测试,就能看到选择的模型是否能使用了
1920×929 53.4 KB
920×669 31.1 KB
920×669 31.4 KB
接下来点击令牌管理,添加令牌
1920×929 54.4 KB
名称随意,点击提交即可
685×929 34.4 KB
可以看到我们刚刚添加的令牌,点击密钥处可以查看或复制 API 密钥
1920×929 53.2 KB
4. 使用
到此已经完成,可以使用该密钥了,BaseURL 即为你的服务器IP:项目端口,该项目可以聚合更多大模型 API ,统一直接供给 OpenClaw 使用,这里就不过多赘述了
网友解答:--【壹】--:
行,那我就只删AFF了
--【贰】--:
顶顶顶。
--【叁】--:
学习一下
--【肆】--:
感谢教程。
--【伍】--:
这里不能发aff的,帮你去掉了
--【陆】--:
感谢佬的分享
--【柒】--:
感谢分享,已部署
--【捌】--:
谢谢分享!
--【玖】--:
image828×210 12.6 KB
规则没说博客原文也不能带AFF,应该没事的
--【拾】--:
收藏一下
--【拾壹】--:
牛牛牛牛!
--【拾贰】--:
那不能这样干的吧,太不道德了
--【拾叁】--:
PixPin_2026-03-25_13-19-25937×577 69 KB
这咋办
--【拾肆】--:
顶顶顶,优质教程,收藏一下
--【拾伍】--:
给佬友点赞
--【拾陆】--:
newapi也只是自用呀
--【拾柒】--:
我一个一个删吧,全都带AFF了,麻烦问一下有人说我博客原文也不能带AFF,那我把博客的地址去掉行吗
--【拾捌】--:
newapi再接站内公益站,会不会被公益站认为是再分发呢?
--【拾玖】--:
这几天自己也想搭个玩玩,学习了!
本文作者:猫猫摸大鱼
1. 前言
本文隶属于 OpenClaw龙虾系列教程文章,建议按顺序阅读 ,可以访问OpenClaw龙虾系列教程文章目录 https://iloli.love/archives/1766849996690 查看其它文章,本文也可单独作为 newapi 搭建教程文章阅读
本文基于newapi v0.11.0-alpha.5版本,Github地址为 https://github.com/QuantumNous/new-api
newapi 是一个聚合API项目,能够将其它免费或付费 API 接入,并统一到一个API接口,从而方便供给OpenClaw或其它客户端使用
该项目可以作为个人用途使用,也可以分发多人使用,目前市面上的中转站基本都是基于该项目,本文中仅作为个人用途使用
该项目有更多玩法,本文只赘述其中一部分,其他请自行探索
本系列教程全程使用腾讯云轻量应用服务器,可以参加腾讯云OpenClaw专属活动进行购买,新客68/年起,老客99/年起
活动链接 https://cloud.tencent.com/act/pro/lighthouse-moltbot (无AFF)
就算不买也强烈推荐使用有 快照 功能的厂商的服务器进行搭建,并且一定要经常打快照,不要问为什么,血的教训,血的教训,血的教训
1905×908 246 KB
1905×924 83.1 KB
2. 搭建
首先选择一个目录,本文中使用的是 /data/newapi ,先在该目录下创建 compose.yaml 文件
581×323 16.3 KB
然后在以下两个版本里面任选其一复制(3000端口比较常见容易被占用所以这里我改成了3480,可自行修改为其它端口)
精简单容器版本
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
command: --log-dir /app/logs
ports:
- "3480:3000"
volumes:
- ./data:/data
- ./logs:/app/logs
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
Redis+PG数据库版本
services:
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
command: --log-dir /app/logs
ports:
- "3480:3000"
volumes:
- ./data:/data
- ./logs:/app/logs
environment:
- SQL_DSN=postgresql://root:123456@postgres:5432/new-api
- REDIS_CONN_STRING=redis://redis
- TZ=Asia/Shanghai
depends_on:
- redis
- postgres
healthcheck:
test: ["CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
redis:
image: redis:latest
container_name: redis
restart: always
postgres:
image: postgres:15
container_name: postgres
restart: always
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: 123456
POSTGRES_DB: new-api
volumes:
- ./pg_data:/var/lib/postgresql/data
粘贴到 compose.yaml 里(为了方便,本文中使用的是精简单容器版本)
1342×640 29 KB
在 /data/newapi 下运行 docker compose up -d ,创建容器,如图即为成功
3. 配置
访问 服务器IP:3480 (如果你修改了端口则替换为你的端口),进入初始化界面,点击下一步
1920×927 39.9 KB
设置管理员账号密码,点击下一步
1920×927 38.5 KB
本文仅展示个人用途,所以选择自用模式,点击下一步
1920×927 39.3 KB
点击初始化系统
1920×927 39.7 KB
会自动跳转到首页,点击登录
1920×901 117 KB
输入刚刚设置的账号密码,点击继续
1920×929 65 KB
进入后台主页
1920×929 71.4 KB
点击渠道管理,添加渠道
1920×929 56.8 KB
这里我们可以接入很多种类型的免费或者付费 API ,本文中我们仅演示接入在 https://iloli.love/archives/1771758983917 这篇文章里搭建的 API
(所有兼容标准化 OpenAI API 的大模型,都可以按照这个方法接入)
1920×927 61.7 KB
类型默认 OpenAI ,名称随意,填写在CLIProxyAPI配置的密钥,API 地址填写 CLIProxyAPI的服务器IP:端口,或是你反代CLIProxyAPI的域名(一定要注意,地址的最后不要带 / 或者 /v1 ),模型处可以暂时直接点击 填入相关模型 ,点击提交
707×927 41.6 KB
可以看到我们刚刚添加的渠道,点击编辑
1920×929 60.6 KB
点击 清除所有模型 , 获取模型列表
1920×927 87.8 KB
可以看到我们用CLIProxyAPI反代出的所有模型,选择自己需要的模型,点击确定
1920×927 81.7 KB
点击提交
1920×927 79.2 KB
可以点击这个小箭头,再点击批量测试,就能看到选择的模型是否能使用了
1920×929 53.4 KB
920×669 31.1 KB
920×669 31.4 KB
接下来点击令牌管理,添加令牌
1920×929 54.4 KB
名称随意,点击提交即可
685×929 34.4 KB
可以看到我们刚刚添加的令牌,点击密钥处可以查看或复制 API 密钥
1920×929 53.2 KB
4. 使用
到此已经完成,可以使用该密钥了,BaseURL 即为你的服务器IP:项目端口,该项目可以聚合更多大模型 API ,统一直接供给 OpenClaw 使用,这里就不过多赘述了
网友解答:--【壹】--:
行,那我就只删AFF了
--【贰】--:
顶顶顶。
--【叁】--:
学习一下
--【肆】--:
感谢教程。
--【伍】--:
这里不能发aff的,帮你去掉了
--【陆】--:
感谢佬的分享
--【柒】--:
感谢分享,已部署
--【捌】--:
谢谢分享!
--【玖】--:
image828×210 12.6 KB
规则没说博客原文也不能带AFF,应该没事的
--【拾】--:
收藏一下
--【拾壹】--:
牛牛牛牛!
--【拾贰】--:
那不能这样干的吧,太不道德了
--【拾叁】--:
PixPin_2026-03-25_13-19-25937×577 69 KB
这咋办
--【拾肆】--:
顶顶顶,优质教程,收藏一下
--【拾伍】--:
给佬友点赞
--【拾陆】--:
newapi也只是自用呀
--【拾柒】--:
我一个一个删吧,全都带AFF了,麻烦问一下有人说我博客原文也不能带AFF,那我把博客的地址去掉行吗
--【拾捌】--:
newapi再接站内公益站,会不会被公益站认为是再分发呢?
--【拾玖】--:
这几天自己也想搭个玩玩,学习了!

