本教程由社区贡献,不获得 Open WebUI 团队的支持。它仅作为演示,说明如何根据您的特定用例定制 Open WebUI。想要贡献?请查看贡献教程。
使用 Caddy 的 HTTPS
确保用户与 Open WebUI 之间的安全通信至关重要。HTTPS(超文本传输协议安全)对传输的数据进行加密,保护其免受窃听和篡改。通过将 Caddy 配置为反向代理,您可以无缝地为 Open WebUI 部署添加 HTTPS,从而增强安全性和可信度。
本指南是一个简单的分步教程,旨在设置一个 Ubuntu 服务器,使用 Caddy 作为 Open WebUI 的反向代理,实现带自动证书管理的 HTTPS。
我们将遵循几个步骤来完成所有设置
Docker
按照指南设置 Docker 的 apt 仓库 Docker
我已包含 docker-compose
,因为它运行 docker compose
所必需。
安装 Docker
以下是我在 Ubuntu 上安装 Docker 所使用的命令
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
OpenWebUI
我建议先为 Open WebUI 项目创建一个目录
mkdir -p ~/open-webui
cd ~/open-webui
安装 OpenWebUI
在 ~/open-webui
目录下创建 docker-compose.yml
文件。我已在此文件中保留了一个用于设置 Qdrant 环境变量的注释部分,但您可以参照它来设置您可能需要的任何其他环境变量。
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "8080:8080"
volumes:
- ./data:/app/backend/data
# environment:
# - "QDRANT_API_KEY=API_KEY_HERE"
# - "QDRANT_URI=https://example.com"
restart: unless-stopped
Caddy
Caddy 是一款功能强大的 Web 服务器,它能自动为您管理 TLS 证书,使其成为通过 HTTPS 提供 Open WebUI 服务的绝佳选择。
安装 Caddy
按照在 Ubuntu 上设置 Caddy 的指南进行操作。
配置 Caddy
您需要修改 CaddyFile
以使用您的域名。
为此,请编辑文件 /etc/caddy/Caddyfile
。
sudo nano /etc/caddy/Caddyfile
然后配置应包含以下内容
your-domain.com {
reverse_proxy localhost:8080
}
请务必将 your-domain.com
替换为您的实际域名。
测试 HTTPS
现在,假设您已经设置了 DNS 记录指向您服务器的 IP 地址,您应该可以通过在 ~/open-webui
目录下运行 docker compose up
来测试 Open WebUI 是否可以通过 HTTPS 访问。
cd ~/open-webui
docker compose up -d
现在您应该可以通过 https://your-domain.com
访问 Open WebUI 了。
更新 Open WebUI
我想简要说明如何更新 Open WebUI 而不丢失数据。由于我们使用卷来存储数据,您可以直接拉取最新镜像并重启容器。
停止 Open WebUI
首先,我们需要停止并移除现有容器
docker rm -f open-webui
拉取最新镜像
然后您可以再次启动容器
docker pull ghcr.io/open-webui/open-webui:main
启动 Open WebUI
现在您可以再次启动 Open WebUI 容器
docker compose up -d