离线部署OneAPI无网络家用住宅服务器
如果你家里有一台旧电脑或低功耗主机,平时没有接到公网,但想用它跑 OneAPI 来统一管理各种 AI 接口,这篇文章就是为你准备的。
离线部署 OneAPI 并不难,关键是把依赖和安装包提前准备好,然后用 U 盘或局域网传到内网机器上。
本文按零基础能理解的方式,把每一步拆开讲清楚。
前置准备:硬件与物料清单
开始之前,先确认你的家用服务器满足这些条件:
- 操作系统:推荐 Ubuntu 22.04 LTS 或 Debian 11/12(本文以 Ubuntu 22.04 为例)
- CPU 与内存:OneAPI 对性能要求不高,2 核 4G 足够
- 存储:至少 10GB 空闲空间
- 网络:这台服务器确实没有外网,但你需要另一台能上网的电脑来下载文件
你需要提前获取以下几个文件(以下步骤在有网络的电脑上操作):
- Docker 离线安装包:去 Docker 官方 GitHub Releases 下载
docker-<版本>.tgz(找x86_64版本) - OneAPI 的 Docker 镜像:用
docker pull拉取后导出为 tar 文件 - docker-compose(可选):同样下载二进制文件
把这些文件拷贝到 U 盘或通过局域网共享文件夹传到你的家用服务器上。
分步操作:从安装 Docker 到启动 OneAPI
1. 安装 Docker(无网络方式)
把下载好的 docker-<版本>.tgz 传到服务器后,解压并安装:
tar -xzf docker-<版本>.tgz
sudo cp docker/* /usr/bin/
sudo dockerd &
然后创建一个 docker 用户组(避免每次加 sudo):
sudo groupadd docker
sudo usermod -aG docker $USER
退出当前 shell 重新登录,或者执行 newgrp docker,再运行 docker version 确认安装成功。
2. 导入 OneAPI 镜像
把之前导出的镜像 tar 文件(例如 oneapi-image.tar)放到服务器上,然后用以下命令导入:
docker load -i oneapi-image.tar
导入后执行 docker images 应该能看到 OneAPI 镜像。
3. 启动 OneAPI 容器
这里我们用 Docker 直接运行(如果你有 docker-compose 也可以,但步骤类似):
docker run -d --restart always -p 3000:3000 \
-v /home/your_user/oneapi/data:/data \
--name oneapi <镜像名>
注意替换 <镜像名> 为实际导入后的名称(通常是 justsong/one-api: 类似格式)。
latest-p 3000: 将容器的 3000 端口映射到主机。
3000
启动后,通过 docker ps 查看容器状态是否为 Up。
4. 访问 OneAPI 管理界面
在服务器本地或局域网内另一台电脑的浏览器里,输入 http://你的服务器IP:3000。
如果看到登录页面,说明部署成功。
默认管理员账号为 root,密码 123456(第一次登录后请立即修改)。
避坑指南:常见问题与解决
Q1:执行 docker 命令报错 "permission denied"
A:说明当前用户不在 docker 用户组。
要么每次加 sudo,要么按上面的方法重新添加组并退出登录。
Q2:docker load 后镜像名不对
A:用 docker images 查看实际 REPOSITORY 和 TAG,然后运行容器时用完整的名称。
Q3:容器启动后无法访问 3000 端口
A:检查服务器防火墙。
Ubuntu 下执行 sudo ufw status,如果开启则放行端口:sudo ufw allow 3000。
另外确认 docker ps 中端口映射列为 0.0.0.0:3000->3000/tcp。
Q4:OneAPI 登录后配置 API Key 时报错
A:检查容器内的 /data 目录是否有写入权限。
启动命令中的 -v 挂载卷,本地目录请先创建并给足权限:mkdir -p /home/your_user/oneapi/data && chmod 755 /home/your_user/oneapi/data。
效果验证:确保服务正常可用
- 打开浏览器,确认能正常访问 OneAPI 后台
- 在“渠道”里添加一个有效 API Key(如 OpenAI 或本地模型),测试能否发送请求
- 也可以直接通过命令行验证:
curl http://localhost:3000/api/
返回 JSON 说明服务运行正常。
如果你正在处理家用无网络服务器离线部署 OneAPI,建议先按本文步骤完整执行一遍,遇到报错时优先检查防火墙、Docker 用户组和挂载目录权限。
熟悉流程后,也可以尝试用 docker-compose 管理多个组件。
完整教程就到这里,祝搭建顺利。