NAS飞牛N1部署OneAPI低成本AI网关
飞牛NAS N1部署OneAPI:低成本搭建统一AI网关
如果你手边有一台飞牛N1 NAS,又想统一管理OpenAI、Claude多个AI模型接口、降低调用成本,那OneAPI是绕不开的开源方案。
OneAPI本身只是一个轻量API网关,通过Docker跑在飞牛NAS上毫无压力。
本文将手把手带你在飞牛N1上完成部署,并调通第一个渠道,全程不需要高深技术,按步骤来就能用上自己的AI网关。
部署前需要准备什么
- 一台飞牛N1 NAS(飞牛OS系统版本不限,建议保持最新固件)
- 确保NAS已开启SSH远程登录功能(在系统设置-远程管理-启用SSH)
- 一台可访问NAS IP的电脑,用于SSH连接和浏览器配置
- 已注册并拥有至少一个AI服务商(如OpenAI、Claude)的API密钥
- 建议NAS存储空间剩余大于5GB,以便拉取镜像和存放数据
登录飞牛NAS并拉取OneAPI镜像
打开电脑的终端(Windows用PuTTY,Mac/Linux用自带终端),SSH连接飞牛N1的IP:
ssh root@你的飞牛IP地址
输入管理员密码后进入NAS系统。
下一步拉取OneAPI官方镜像(当前最新稳定版为justsong/one-api:latest):
docker pull justsong/one-api
拉取完成后,创建用于存放持久化数据的目录:
mkdir -p /docker/one-api/data
路径可以自定义,但后面启动容器时要保持一致。
这一步很重要,否则容器删除后配置和日志会丢失。
启动OneAPI容器并配置端口
使用以下命令启动容器,将宿主机端口3000映射到容器内部3000端口(浏览器访问端口):
docker run -d --name one-api \
-p 3000:3000 \
-v /docker/one-api/data:/data \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
justsong/one-api
-p 3000:3000:访问http://你的飞牛IP:3000进入管理后台-v /docker/one-api/data:/data:将容器内/data目录挂载到宿主机,保存配置和日志--restart unless-stopped:确保NAS重启后容器自动启动
如果宿主机3000端口已被占用,可以换成其他端口,比如-p 3001:3000,后续访问时对应修改。
初始化配置:添加渠道与分发策略
容器启动后,打开浏览器访问http://飞牛IP:3000(如果改了端口就用新端口)。
首次访问会显示初始化页面,设置管理员邮箱和密码(务必记住)。
登录后进入管理面板。
添加一个模型渠道(以OpenAI为例)
- 左侧菜单点击“渠道” -> “添加渠道”
- 类型选择“OpenAI”
- 名称随意填写(如“我的OpenAI”)
- 密钥填入你的真实OpenAI API密钥
- 模型选择“gpt-4o”或“gpt-4-turbo”等(可多选)
- 其他保持默认,点击“提交”
创建分发令牌
- 点击左侧“令牌” -> “添加令牌”
- 名称随意,过期时间选长期
- 勾选刚才添加的OpenAI渠道,点击“提交”
- 复制生成的令牌(形如
sk-xxxxx),这是你后续调用网关的认证凭据
常见避坑与高频问题
容器启动后网页打不开
- 检查宿主机防火墙是否放行了3000端口,飞牛NAS默认未开启防火墙可忽略;若自己装了防火墙需要放行端口。
- 查看容器日志:
docker logs one-api,确认无报错。
配置丢失
- 确保挂载路径正确,且NAS磁盘没有写权限问题。挂载后可以进入
/docker/one-api/data目录看看是否有文件生成。
模型调用失败
- 在渠道配置里测试连接:点击渠道右侧的“测试”按钮,选择对应模型,若报错检查API密钥是否有效。
如何升级OneAPI
- 停止并删除旧容器:
docker stop one-api && docker rm one-api - 重新拉取镜像:
docker pull justsong/one-api - 再次用相同的启动命令运行容器,数据不会丢失。
验证网关是否生效
用任意API测试工具(如Postman、curl)调用你的OneAPI网关地址:
curl http://你的飞牛IP:3000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的令牌" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'
如果返回正常的AI回复,说明部署成功。
以后你的所有AI调用都指向这个网关,同一个API密钥可以分发到多个渠道,还能在后台查看每条请求的消耗成本,真正实现低成本的统一管理。
如果你希望进一步优化,可以给网关绑定域名并配置HTTPS,或者添加更多模型渠道(Claude、本地大模型等),发挥OneAPI的全部能力。
按照本文步骤走完,相当于免费拥有了一个生产级的AI接入网关,后续维护也很省心。