发布时间:2026/9/1 14:37:31
One API 如何升级版本:Docker 一键换镜像到 Watchtower 自动更新的完整指南 One API 如何升级版本Docker 一键换镜像到 Watchtower 自动更新的完整指南【免费下载链接】one-apiLLM API 管理 分发系统支持 OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、字节豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元等主流模型统一 API 适配可用于 key 管理与二次分发。单可执行文件提供 Docker 镜像一键部署开箱即用。LLM API management key redistribution system, unifying multiple providers under a single API. Single binary, Docker-ready, with an English UI.项目地址: https://gitcode.com/GitHub_Trending/on/one-apiOne API 是一个 LLM API 管理与分发系统把 OpenAI、Azure、Claude、DeepSeek 等渠道统一成 OpenAI 格式接口。它的版本升级并不复杂Docker 部署下只要拉取新镜像、重建容器即可数据挂在卷上就不会丢。本文给出从最快手动操作到无人值守自动更新的路径并讲清楚数据要备份到哪一层。 最快升级路径一条命令换掉 Docker 镜像先说结论只要你是 Docker 部署升级就是拉新镜像 重建容器这一件事。容器本身可抛弃状态全在挂载卷里重建后与无升级前无异。Docker Compose 升级命令仓库自带的 docker-compose.yml 包含 one-api、MySQL、Redis 三个服务升级只需两行docker-compose pull docker-compose up -ddocker-compose pull拉取最新镜像up -d发现镜像变化后会重建容器并切换。之后用docker-compose ps确认状态为 Up 即可。Docker Run 重建容器命令如果当初是用单条docker run拉起的同样先拉镜像再移除旧容器重新运行。注意 run 参数要和原部署保持一致原本带了SQL_DSN、SESSION_SECRET等就要原样带上docker pull justsong/one-api docker stop one-api docker rm one-api docker run --name one-api -d --restart always -p 3000:3000 \ -e TZAsia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api-v挂载的宿主机路径必须与首次部署时一致否则新容器看不到旧数据。换镜像只要几秒真正的风险在数据侧动手前先确认该备份什么。️ 升级不丢数据挂载卷与自动数据库调整One API 自身的状态文件都在容器内/data目录compose 部署对应./data/oneapi包括默认的 SQLite 库one-api.db日志则按--log-dir参数落到独立目录compose 中为./logs。升级前备份清单对象说明/data挂载目录含 one-api.db渠道、令牌、用户数据都在这里环境变量记录.env或 compose 文件含SQL_DSN、SESSION_SECRET等数据库快照MySQL 部署时执行一次mysqldump导出最常见的升级变灾难是用了 SQLite 默认配置却没挂卷容器一重建数据全部清零。如果你检查后发现/data没有挂载先补上挂载并恢复备份再谈升级。数据库结构要手动改吗一般不需要。系统初始化时会自动调整表结构无需手工执行迁移脚本个别版本若涉及数据库手工处理会在更新日志中明确说明。升级后如果出现数据库报错多数是外部库连接参数没跟上核对SQL_DSN即可。数据边界确认之后就可以聊无人值守了。 无人值守升级Watchtower 自动更新命令不想每次惦记升级README.md 给了一条现成的更新命令docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cRWatchtower 是一个监听镜像变化的容器。跑起这条命令后它会自动检测justsong/one-api镜像是否发布了新版本有更新就拉取并重启容器整轮升级无人参与。有两个前提要满足服务使用latest标签镜像、数据卷挂载正确。所以建议先用上一节的手动方式完整升级一次、确认一切正常再交给 Watchtower。Watchtower 只负责镜像层容器重建后能否正常服务仍依赖数据层第一次自动更新后建议多看一眼日志。可执行文件部署的手动替换步骤裸机、面板或不方便装 Docker 的环境按停进程 → 换二进制 → 起新进程的节奏走。有 Go 与 Node 工具链的话可以自行构建先git clone https://gitcode.com/GitHub_Trending/on/one-api获取源码在web/default内执行npm install和npm run build构建前端再回到根目录执行go mod download与go build -ldflags -s -w -o one-api。不想编译的话直接取官方发布页提供的预编译二进制替换旧文件即可。替换完成后启动./one-api --port 3000 --log-dir ./logs--port缺省就是 3000--log-dir指定日志目录--version可随时确认当前版本。配置都来自环境变量与命令行参数保持启动命令与升级前一致新版本起来后行为就和原来一样。二进制换好了还差最后一步确认新版本真的在服务。 升级后验证与高频问题速查最简单的验证是浏览器打开http://localhost:3000登录后检查渠道、令牌数据是否完好。更机械化的方式就是 docker-compose.yml 里内置健康检查用的那招——请求/api/status看返回里success是否为truewget -q -O - http://localhost:3000/api/status现象常见原因处理重启后渠道、用户全没了SQLite 数据没挂卷随容器重建丢失补挂载卷并从备份恢复页面打不开提示端口被占旧容器未删净或宿主机已有服务占用 3000docker ps排查或更换宿主机端口日志出现数据库初始化错误SQL_DSN与新容器环境不匹配核对.env/ compose 文件另提醒一句初始账号是root/123456如果一直没改过趁这次升级之后立刻改掉。升级完成后的下一步稳定跑起来之后值得顺带做两件事一是设置THEME环境变量切换 Web 主题可选default、berry、air界面与实现都在 web/ 目录下二是利用系统访问令牌调用管理接口把拉镜像 → 重建 → 验证写进定时脚本比依赖 Watchtower 更可控。全部参数与接口的定义见 docs/API.md镜像的构建过程则可参考 Dockerfile。【免费下载链接】one-apiLLM API 管理 分发系统支持 OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、字节豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元等主流模型统一 API 适配可用于 key 管理与二次分发。单可执行文件提供 Docker 镜像一键部署开箱即用。LLM API management key redistribution system, unifying multiple providers under a single API. Single binary, Docker-ready, with an English UI.项目地址: https://gitcode.com/GitHub_Trending/on/one-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/9/1 14:37:31

基于Spring Boot+Thymeleaf的旅游景点酒店预订网站设计与实现

简介:这是一套面向计算机专业本科生的毕业设计实战项目,基于SpringBootThymeleafMySQL构建的旅游景点与酒店预订网站,完整覆盖电商类系统核心业务场景,适用于课程设计、毕设选题及Java全栈能力进阶学习。资源包共487个文件&#x…

2026/9/1 14:37:31

电动车目标检测实战:基于1600+数据集与YOLOv8从训练到部署

简介:本资源是面向计算机视觉初学者与智能交通算法开发者的目标检测实战数据集,聚焦电动车识别这一典型城市感知任务,可用于YOLO、Faster R-CNN等主流模型的训练与评估。压缩包共2000个文件,含1599张标注清晰的JPG图像及401份对应…

2026/9/1 14:32:30

黑客爱用的 HOOK 技术大揭秘!

黑客爱用的 HOOK 技术大揭秘! 什么是 HOOK 技术? 病毒木马为何惨遭杀软拦截? 商业软件为何频遭免费破解? 系统漏洞为何能被补丁修复? 这一切的背后到底是人性的扭曲,还是道德的沦丧,敬请收…

2026/9/1 14:52:34

3 步跑通人声分离:RVC WebUI 中 UVR5 的完整实操

3 步跑通人声分离&#xff1a;RVC WebUI 中 UVR5 的完整实操 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-W…

2026/9/1 14:52:34

携程春招技术通用岗笔试复盘:题型解析与备考策略

2023年携程春招技术通用岗第一批笔试&#xff0c;我是在开考前一周才拿到通知的&#xff0c;当时整个人是有点懵的。网上关于携程春招的信息一直比较零散&#xff0c;尤其是"技术通用岗"这个分类&#xff0c;既不像后端开发那样有明确的题库方向&#xff0c;又不像算…

2026/9/1 14:52:34

基于Python Django与Vue的酒店管理系统毕业设计开发指南

简介&#xff1a;本资源是一套完整的本科毕业设计项目&#xff0c;面向计算机相关专业学生及Web开发初学者&#xff0c;聚焦酒店业务数字化管理需求&#xff0c;提供从前端交互到后端逻辑、数据库设计与文档交付的全栈实践方案。压缩包为ZIP格式&#xff0c;共包含源码工程、开…

2026/9/1 14:52:34

Loop Engineering:大模型Agent循环控制的核心方法论

很多人刚开始接触 Agent 开发时&#xff0c;都以为最难的是让大模型“听懂人话”。等真正动手做一个能跑多轮任务的应用&#xff0c;才发现卡住自己的根本不是 Prompt&#xff0c;而是那个看起来非常不起眼的“循环”。同样的一个语义理解任务&#xff0c;单次调用大模型就能完…

2026/9/1 14:52:34

星环科技秋招笔试算法题复盘:高频题型与Python解题思路

星环科技在2024年秋招里的笔试算法题&#xff0c;我在牛客网刷经验帖的时候就已经盯上了。作为一个主攻大数据方向、投了不少基础软件公司的应届生&#xff0c;星环的算法笔试算是秋招路上很有代表性的一场。它的题目难度不低&#xff0c;而且风格很“实用”——和纯互联网大厂…

2026/9/1 14:47:33

AI开发Skill实战:用自然语言一键生成微信小程序完整指南

1. 背景与核心概念 1.1 什么是 Skill&#xff1f;一个全新的 AI 开发范式 在传统的软件开发流程中&#xff0c;从需求分析、原型设计、UI 开发、后端联调、测试到最终部署上线&#xff0c;往往需要多个角色、多轮迭代、多套工具配合才能完成一个最小可用产品。对于微信小程序这…

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出&#xff0c;第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器&#xff0c;出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台&#xff0c;直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/1 8:27:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流&#xff1a;为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历&#xff1a;明明传感器本身性能很好&#xff0c;信号输出却一塌糊涂——噪声大、漂移明显、重复性差&#xff0c;怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/1 7:04:43

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起&#xff0c;其实就是嵌入式开发里最常遇到的一类需求&#xff1a;用一块不算贵的 MCU&#xff0c;同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控&#xff0c;主频…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…