Skip to main content

📋 常见问题

Sponsored by Dave Waring
Dave Waring
Follow along as I build my own AI powered digital brain.

💡 为什么选择 Docker?

我们理解 Docker 可能不是每个人的首选方案,但这种方法是我们项目设计和运营效率的核心。我们将项目对 Docker 的使用视为基础性选择,同时也鼓励需要其他部署方式的用户探索社区提供的替代方案。

📜 目录

问:如何自定义徽标和品牌?

答: 您可以通过购买我们的**企业授权**来实现主题、徽标和品牌的自定义,这将为您解锁专属的企业级功能。

如需了解企业解决方案和品牌定制的更多信息,欢迎通过以下方式联系我们的销售团队: 📧 sales@openwebui.com

问:为什么要我注册?我的数据会被发送到哪里?

答: 我们要求您注册是为了让您成为管理员用户,以增强安全性。这确保了即使 Open WebUI 暴露在外部访问中,您的数据仍然是安全的。请注意,所有内容都保存在本地。我们不会收集您的数据。当您注册时,所有信息都保存在您的服务器中,永远不会离开您的设备。您的隐私和安全是我们的首要任务,确保您的数据始终在您的控制之下。

问:为什么我的 Docker 容器无法使用 localhost 连接到主机上的服务?

答: 在 Docker 容器内部,localhost 指的是容器本身,而不是主机。这种区别在网络连接中至关重要。要从容器连接到主机上运行的服务,您应该使用 DNS 名称 host.docker.internal 而不是 localhost。Docker 特别识别这个 DNS 名称以便于此类连接,有效地使主机成为容器内部可访问的实体,从而绕过通常的 localhost 范围限制。

问:如何让我的主机服务对 Docker 容器可访问?

答: 要使主机上运行的服务对 Docker 容器可访问,需要将这些服务配置为监听所有网络接口,使用 IP 地址 0.0.0.0,而不是仅限于 localhost127.0.0.1。这种配置允许服务接受来自任何 IP 地址的连接,包括 Docker 容器。需要注意这种设置的安全影响,特别是在可能存在外部访问的环境中。实施适当的安全措施,如防火墙和身份验证,可以帮助降低风险。

问:为什么我的 Open WebUI 没有更新?我已经重新拉取/重启了容器,但没有任何变化。

答: 更新 Open WebUI 需要的不仅仅是拉取新的 Docker 镜像。以下是您的更新可能没有生效的原因以及如何确保更新成功:

  1. 更新 Docker 镜像:命令 docker pull ghcr.io/open-webui/open-webui:main 更新了 Docker 镜像,但不会更新正在运行的容器或其数据。
  2. Docker 数据卷中的持久数据:Docker 数据卷独立于容器生命周期存储数据,在更新过程中保留您的数据(如聊天历史)。
  3. 应用更新:确保您的更新生效,需要删除现有容器(这不会删除数据卷)并创建一个新容器,使用更新后的镜像和现有数据卷。

这个过程可以在保持数据安全的同时更新应用程序。

问:等等,为什么要删除我的容器?我不会丢失数据吗?

答: 这是一个常见的担忧,但只要您正确使用 Docker 数据卷,删除容器并不会导致数据丢失。原因如下:

  • 数据卷保存数据:Docker 数据卷设计用于在容器生命周期之外持久化数据。只要您的数据存储在数据卷中,无论容器发生什么,它都会保持完整。
  • 安全的更新过程:更新 Open WebUI 时,删除旧容器并创建新容器不会影响存储在数据卷中的数据。关键是不要使用 docker volume rm 等命令显式删除数据卷。

通过遵循正确的更新步骤——拉取新镜像、删除旧容器(不删除数据卷)、使用更新后的镜像和现有数据卷创建新容器——您的应用程序代码得到更新,而数据保持不变且安全。

问:我应该使用发行版打包的 Docker 还是官方 Docker 包?

答: 我们建议使用官方 Docker 包而不是发行版打包的版本来运行 Open WebUI。官方 Docker 包经常更新,包含最新的功能、错误修复和安全补丁,确保最佳性能和安全性。此外,它支持重要功能,如 host.docker.internal,这在发行版打包的版本中可能不可用。这个功能对于 Docker 容器内的正确网络配置和连接至关重要。

选择官方 Docker 包,您可以获得跨不同环境的一致行为、更可靠的故障排除支持,以及访问最新的 Docker 进展。更广泛的 Docker 社区和资源也更多地与官方包保持一致,为您可能遇到的任何问题提供丰富的信息和支持。

运行 Open WebUI 所需的一切,包括您的数据,都保持在您的控制之下和您的服务器环境中,这体现了我们对您的隐私和安全的承诺。有关安装官方 Docker 包的说明,请参阅 Docker 官方文档网站上的安装 Docker 引擎指南。

问:Docker 中是否支持 GPU?

答: Docker 中的 GPU 支持是可用的,但因平台而异。官方支持 GPU 的平台是 Windows 版 Docker 和 Linux 版 Docker Engine。其他平台,如 Linux 版 Docker Desktop 和 MacOS 版,目前不提供 GPU 支持。对于需要 GPU 加速的应用程序来说,这个限制很重要。为了获得最佳体验并利用 GPU 功能,我们建议在官方支持 GPU 集成的平台上使用 Docker。

问:为什么 Open WebUI 强调使用 Docker?

答: 选择使用 Docker 源于其确保一致性、隔离依赖关系以及简化跨不同环境部署的能力。Docker 最大限度地减少了兼容性问题,并简化了 WebUI 的启动和运行过程,而不受底层系统的影响。这是项目维护者的战略选择,以利用这些优势。我们承认虽然 Docker 有学习曲线,但对于部署和维护来说,其优势是显著的。我们理解 Docker 可能不是每个人的首选,但这种方法是我们项目设计和运营效率的核心。我们将项目对 Docker 的承诺视为基本方面,并鼓励寻找不同部署方法的人探索社区驱动的替代方案。

问:为什么语音转文本(STT)和文本转语音(TTS)在我的部署中不工作?

答: 在您的部署中,语音转文本(STT)和文本转语音(TTS)服务的功能可能需要 HTTPS 才能正常工作。现代浏览器强制执行安全措施,限制某些功能(包括 STT 和 TTS)仅在安全的 HTTPS 连接下工作。如果您的部署未配置使用 HTTPS,这些服务可能无法按预期运行。确保您的部署通过 HTTPS 访问可以解决这些问题,使 STT/TTS 功能完全可用。

问:为什么 Open WebUI 不包含内置的 HTTPS 支持?

答: 虽然我们理解对包含 HTTPS 支持的一体化解决方案的需求,但我们认为这种方法无法充分满足用户群的多样化需求。直接在项目中实现 HTTPS 可能会限制灵活性,可能无法满足所有用户的特定要求或偏好。为确保每个人都能根据其独特环境定制其设置,我们将 HTTPS 终止的实现留给用户进行生产部署。这个决定允许更大的适应性和定制化。虽然我们不提供设置 HTTPS 的官方文档,但社区成员可能会根据请求提供指导,分享他们的经验和建议。

问:我更新/重启/安装了一些新软件,现在 Open WebUI 不能工作了!

答: 如果您的 Open WebUI 在更新或安装新软件后无法启动,这很可能与直接安装方式有关,特别是如果您没有为后端依赖项使用虚拟环境。直接安装对系统环境的变化很敏感,比如更新或新安装可能会改变现有的依赖关系。为避免冲突并确保稳定性,我们建议使用虚拟环境来管理后端的 requirements.txt 依赖项。这样可以将您的 Open WebUI 依赖项与其他系统包隔离,最大限度地减少此类问题的风险。

问:我更新/重启后登录不了了,我不得不创建新账号,而且所有聊天记录都不见了。

答: 这个问题通常发生在创建 Docker 容器时没有挂载 /app/backend/data 的数据卷,或者指定的 Open WebUI 数据卷(在我们的示例中通常命名为 open-webui)被无意中删除。Docker 数据卷对于在容器生命周期中持久化您的数据至关重要。如果您发现在重启后需要创建新账号,很可能是您启动了一个新容器,但没有附加存储数据的现有数据卷。确保您的 Docker run 命令包含指向正确数据位置的数据卷挂载,以防止数据丢失。

问:我尝试登录但失败了,创建了新账号后被告知需要管理员激活。

答: 这种情况发生在您忘记了首次设置时创建的初始管理员账号的密码。第一个创建的账号会自动被指定为管理员账号。在没有管理员账号访问权限的情况下创建新账号将导致需要管理员激活。避免丢失初始管理员账号凭据对于顺利访问和管理 Open WebUI 至关重要。请参阅重置管理员密码指南,了解恢复管理员账号的说明。

问:为什么 Open WebUI 因 SSL 错误而无法启动?

答: 当启动 Open WebUI 时遇到的 SSL 错误很可能是由于缺少 SSL 证书或 huggingface.co 配置不正确导致的。要解决这个问题,您可以为 HuggingFace 设置一个镜像,比如 hf-mirror.com,并在启动 Docker 容器时将其指定为端点。使用 -e HF_ENDPOINT=https://hf-mirror.com/ 参数在 Docker run 命令中定义 HuggingFace 镜像地址。例如,您可以按如下方式修改 Docker run 命令:

docker run -d -p 3000:8080 -e HF_ENDPOINT=https://hf-mirror.com/ --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

需要更多帮助?

如果您有任何其他问题或疑虑,请访问我们的 GitHub Issues 页面或我们的 Discord 频道获取更多帮助和信息。