Harbor 在 github.com/av/harbor 是一个开源 CLI 和配套应用程序,可使用 Docker Compose 组装本地 AI 服务。一个基本的 怀抱 可以启动已连接的 Ollama 和 Open WebUI ;添加服务句柄可以将搜索、语音、图像生成、网关、可观察性和其他组件连接到同一堆栈中。该项目已获得 Apache-2.0 许可。
这不是 CNCF Harbor 容器注册表,位于 戈哈伯。它也不是法学硕士、安全边界或托管生产平台。它是围绕许多独立维护的映像的快速集成层。 Harbor 减少配置工作;运营商仍然拥有图像来源、暴露的端口、身份验证、GPU 容量、模型许可证、持久数据、升级和每个服务的漏洞。

本地人工智能堆栈是一个网络,而不是一个应用程序
浏览器/编码客户端
|
v
[Open WebUI / API 网关]
|
.------+---------+--------------。
维维维
[Ollama] [llama.cpp] [vLLM] 模型推理
| | |
'----------------+--------------'
|
.---------+----------。
伏
[SearXNG] [演讲] 工具/演讲
|
互联网
Docker网络≠可信网络
本地主机≠自动私有
Harbor 选择 Compose 片段和跨服务配置,以便消费者可以通过内部服务名称和预期的 API 路径找到提供者。这种便利扩展了信任图:Web UI 可以到达模型后端、搜索服务和语音引擎;插件或代理可以调用更多端点。在添加服务之前清点数据流。
服务角色和各自引入的决策
| 图层 | Harbor 记录的示例 | 运营商决策 |
|---|---|---|
| 推理后端 | Ollama、llama.cpp、vLLM、SGLang 等 | 模型、量化、GPU、上下文、许可证和 API 暴露 |
| 前端 | Open WebUI 和替代聊天界面 | 身份验证、用户、历史记录、上传和工具 |
| 网关/路由器 | LiteLLM、Bifrost、Harbor 提升 | 密钥、后备、日志、配额和提供商路由 |
| 检索/搜索 | SearXNG,研究和 RAG 服务 | 出站流量、索引隐私、引用和提示注入 |
| 媒体 | 演讲、ComfyUI 和语音/设计服务 | 模型权利、GPU 争用和生成媒体审查 |
| 代理/工作流程 | Dify,n8n,编码/代理服务 | 工具权限、凭证、沙箱和副作用 |
| 代理/访问 | Traefik 和内置隧道 | TLS、主机名、身份验证和互联网暴露 |
通过可审查的供应链进行安装
官方资料展示了安装脚本和基于Docker的操作。诸如以下的命令 卷曲... |巴什 很方便,但会立即执行可变的网络内容。为了受控使用,请下载脚本,检查它,固定提交/标签并在运行之前验证存储库所有权。查看所选服务的 Dockerfile 和 Compose 定义。
容器标签如 最新的 是不可重现的。固定图像摘要以获得稳定的环境,记录 Harbor 的版本并导出有效的 Compose 配置。根据您的政策扫描图像和软件材料清单。官方镜像仍然可能包含易受攻击的基础层。
| 神器 | 记录 | 为什么 |
|---|---|---|
| Harbor CLI/应用程序 | 版本、提交和安装程序哈希 | 再现编排行为 |
| 撰写配置 | 渲染/弹出的文件和环境名称 | 知道实际运行了什么 |
| 容器镜像 | 注册表、存储库和摘要 | 防止无声标签漂移 |
| 型号 | 来源、修订、散列、量化和许可 | 质量、安全和合法来源 |
| 公司简介 | 检查本地文件和校验和 | 配置文件可以更改端点和秘密 |
GPU和内存规划
Harbor 可以检测功能并将 GPU 资源传递给支持的容器,但它无法使不兼容的工作负载适合。估计模型权重、KV 缓存、运行时开销和并发请求。成功加载的模型仍可能在请求的上下文中或当 ComfyUI 和语音服务竞争 VRAM 时失败。
| 工作量 | 产能驱动 | 测试 |
|---|---|---|
| 单用户聊天 | 模型权重+1个KV缓存 | 目标上下文中第一个令牌和令牌/秒的时间 |
| 长上下文RAG | KV缓存和提示预处理 | 实际文档大小下的峰值 VRAM/RAM 和延迟 |
| 多用户 | 批处理、队列和缓存碎片 | P50/P95 延迟和负载下拒绝的请求 |
| 图像生成 | 扩散模型和分辨率 | LLM 后端处于活动状态时发生争用 |
| 语音管道 | 音频时长、模型和实时因素 | 端到端捕获到响应延迟 |
根据实际情况设置内存、CPU、GPU 和磁盘配额。监控工作站的温度和电源。避免假设“本地”意味着免费:将硬件折旧、电力、存储、工程和闲置容量纳入每个接受任务的成本中。
端口和身份验证
将开发服务绑定到环回,除非另一个主机必须访问它们。 Docker 发布的端口可以绕过有关主机防火墙的假设。启动后列出侦听器并从另一台设备进行测试。许多本地 LLM 端点接受虚拟密钥或不接受 API 密钥,因为它们期望有一个受信任的机器;不要将它们原封不动地暴露在 LAN 或互联网上。
该项目明确警告说,如果没有身份验证,通过隧道将服务传输到互联网是不安全的。治疗 海港隧道 作为曝光事件:需要强大的身份、TLS、速率限制、请求大小限制、日志和狭窄的目标。切勿使用默认凭据对原始 vLLM/Ollama 端点或管理 UI 进行隧道传输。
| 曝光 | 最小控制 | 剩余风险 |
|---|---|---|
| 仅环回 | 主机账户安全 | 恶意本地进程/浏览器请求 |
| 可信局域网 | 防火墙、身份验证和分段子网 | 对等点受损且 Wi-Fi 信号较弱 |
| 反向代理/VPN | SSO/MFA、TLS 和访问策略 | 代理配置错误和会话被盗 |
| 公共隧道 | 以上全部加上滥用保护和监控 | 互联网扫描、成本/DoS 和模型提取 |
秘密和跨服务信任
网关和 UI 可能需要 API 密钥来托管模型、搜索或存储。将机密放入从 Git 排除的托管存储或受保护环境文件中。优先选择特定于服务的低范围密钥并轮换它们。检查有效的容器环境和挂载的文件; UI 不应仅仅因为两者共享 Compose 项目而接收后端密钥。
OpenAI 兼容 API 创建接口兼容性,但身份验证或语义不同。在本地工作的虚拟密钥不得重复用作真正的访问控制。验证每个客户端/后端对的流、工具调用、结构化输出、模型名称、限制和错误行为。
持久数据、备份和删除
映射每个卷:模型缓存、聊天数据库、上传的文档、矢量索引、生成的图像、日志和网关遥测。决定什么可以生存 向下、升级和配置文件更改。加密磁盘和备份。使用相同的固定服务测试恢复。
- 将可替换的模型缓存与不可替换的用户数据分开。
- 如果可以避免,请勿备份应用程序数据库内的 API 密钥。
- 设置聊天和上传文档的保留;删除应涵盖矢量索引和缩略图。
- 在删除服务之前,以记录的格式导出数据并确认卷清理。
配置文件是可执行的配置
Harbor 配置文件保存场景配置,并且可以从 URL 导入。配置文件可以更改图像版本、端点、参数和潜在的凭据。切勿直接应用不受信任的远程配置文件。下载、检查、固定和剥离秘密;将个人资料审查视为代码更改。
维护个人资料,例如 离线私人, GPU聊天 和 抹布测试 具有明确的服务清单和预算。避免使用一种不断增长的默认配置文件,该配置文件会默默地启动数十个容器并扩大攻击面。
Web RAG 添加了不受信任的内容通道
Harbor 堆栈结合了 Open WebUI、SearXNG 和法学硕士,可以搜索网络并将结果用作上下文。网络文本可能包含提示注入和虚假声明。将检索到的内容标记为不可信数据、限制工具、保留 URL 并要求引用。不允许页面指令访问机密或调用管理端点。
即使 LLM 位于本地,搜索查询和获取的页面也会离开计算机。在任何隐私声明中记录此例外情况。代理和 DNS 日志可能会暴露用户意图。
一次升级一层
| 改变 | 金丝雀证据 | 回滚资产 |
|---|---|---|
| Harbor 更新 | 渲染的 Compose diff 和冒烟测试 | 之前的 CLI/版本和配置 |
| 服务形象 | 架构、身份验证、UI 和集成检查 | 先前的摘要和卷快照 |
| 型号 | 质量、工具调用和延迟基准 | 以前的模型哈希 |
| GPU驱动程序/运行时 | 所有后端加载并维持目标工作负载 | 已知良好的主机映像/驱动程序 |
| 公司简介 | 端口、秘密和数据流差异 | 版本化的先前配置文件 |
迁移前备份状态、停止写入并测试兼容性。 “容器启动”还不够:发送已知提示、执行 RAG 检索、测试工具调用并验证用户/历史记录持久性。
使用弹出作为毕业路径
港口弹出 可以生成所选服务和变量的独立 Compose 表示。当实验组合变得重要时,这是很有价值的:检查输出、替换浮动标签、外部化秘密、定义运行状况检查、备份、监控和所有权,然后将其作为普通基础设施进行管理。
顶出不是自动生产硬化。生成的 Compose 反映了实验的假设。生产可能需要 Kubernetes 或其他调度程序、外部数据库、高可用性、自动扩展、审计日志记录和经过测试的灾难恢复。
评估记分卡
| 尺寸 | 测量 | 通过问题 |
|---|---|---|
| 设定值 | 从干净主机到工作场景的时间 | Harbor 是否显着减少了可重复设置时间? |
| 可靠性 | 冷启动、重启和失败的依赖恢复 | 其他运营商可以恢复吗? |
| 品质 | 固定模型/设置的任务基准 | 接受的结果是否足够? |
| 性能 | 延迟、吞吐量、VRAM 和队列 | 是否满足真实的并发负载? |
| 安全性 | 端口、身份验证、秘密、扫描和数据流 | 每个服务的权限是否合理? |
| 便携性 | 在干净的主机上弹出并恢复 | 堆栈可以离开 Harbor 而不会丢失数据吗? |
替代方案
| 选项 | 最适合 | 与 Harbor 的权衡 |
|---|---|---|
| Harbor (av) | 探索许多预连接的本地人工智能服务 | 庞大且快速变化的服务目录 |
| 手动 Ollama + Open WebUI | 简单稳定的本地聊天 | 更少的抽象和更容易的审计,更多的手动接线 |
| LMStudio | 桌面优先模型下载和聊天/API | 减少多服务 Compose 编排 |
| Docker Compose 内部构建 | 小型生产拥有的堆栈 | 更初始的工程,更清晰的最小曲面 |
| 库伯内斯/头盔 | 多节点生产平台 | 操作复杂度更高 |
| 托管模型/API平台 | 团队避免使用 GPU 基础设施 | 使用成本、上传和提供商依赖性 |
常见问题
这是 Harbor 容器注册表吗?
否。此列表指向 AV/港口,本地人工智能堆栈协调器。注册表项目是 戈哈伯.
Harbor 是法学硕士吗?
不会。它下载/运行并连接模型服务器、UI 和支持工具。
免费吗?
该项目已获得 Apache-2.0 许可。模型、托管 API、电力、硬件和第三方服务都需要花钱。
本地意味着私有吗?
仅当所有选定的服务、模型、工具和存储都保留在本地并安全配置时。搜索、云 API 和隧道创建外部流。
我可以远程公开它吗?
该项目包括隧道和代理选项,但警告互联网暴露。使用经过身份验证的 VPN/反向代理控制,切勿公开未经身份验证的原始服务。
生产就绪了吗?
它是一个优秀的探索/集成层。生产准备情况取决于所选的服务以及您的固定、安全、监控、备份和支持。
我该如何迁移?
使用弹出工作流程作为起始 Compose 文件,然后对其进行强化和独立操作。
主要来源
- 官方 Harbor 存储库、服务概述和许可证
- 官方安装指南
- 官方 CLI 参考
- 官方后台指南
- 官方本地 Web RAG 指南
- Docker 引擎安全文档
- Docker Compose 环境变量实践
- OWASP 提示注入指导
- CNCF Harbor 注册表用于消歧
上次审核日期为 2026 年 7 月 26 日。Harbor 及其服务目录变化很快。固定编排器、渲染的 Compose、图像、模型和配置文件,并在更改后重新运行安全性和兼容性检查。
