本文将介绍如何在 Debian 系统 上部署可通过浏览器访问的 OpenWebUI 聊天界面,并通过 OpenRouter API 接入大语言模型,实现一个自建的 ChatGPT 网页版。
同时,我们将使用 Cloudflare DNS 配置域名,使服务可通过<ai.你的域名>
直接访问。
OpenWebUI 是一个开源的 Web 聊天前端,支持接入本地模型(如 Ollama)或远程模型(如 OpenAI、OpenRouter)。
它提供了现代化的聊天界面、用户系统、多模型支持等功能,是理想的自建 AI 前端。
OpenRouter 提供统一接口访问多家大模型(OpenAI、Anthropic、Mistral 等)。
注册后可获得 API Key,格式如下:
sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
在 OpenWebUI 中配置该 Key 即可使用各类模型。
用于域名解析,将自有域名解析到服务器公网 IP。
它还能提供反向代理、安全加速与 HTTPS 支持。
确保系统为 Debian / Ubuntu,并具备以下条件:
bashsudo apt update sudo apt install python3 python3-venv python3-pip git -y
bashmkdir -p /opt/openwebui
cd /opt/openwebui
python3 -m venv venv
source venv/bin/activate
bashpip install open-webui
bashopenwebui serve
默认监听 8080 端口。
可直接访问:
http://<服务器IP>:8080
第一次登录的账户将自动成为 管理员账号。
登录 Cloudflare 控制台:
名称:ai 内容:<你的服务器公网 IP> 代理状态:可选(灰云直连 / 橙云反代)
保存后可用命令测试:
bashping ai.<你的域名>
若能解析出正确 IP,则说明域名配置成功。注意需要关闭DNS小彩云。
我们希望实现的架构是
[ Internet ] ↓ ai.<你的域名> ──(443/80)──▶ [Caddy] ──▶ localhost:8080 (OpenWebUI)
bashsudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy
编辑/etc/caddy/Caddyfile
,在其中添加:
ai.<你的域名> { reverse_proxy localhost:8080 }
bashsudo systemctl enable --now caddy
sudo systemctl restart caddy
默认情况下,普通用户无法访问管理员配置的所有模型。
为了解决此问题,可设置环境变量:
bashBYPASS_MODEL_ACCESS_CONTROL=True
在虚拟环境中设置
bashsource /opt/openwebui/venv/bin/activate
export BYPASS_MODEL_ACCESS_CONTROL=True
openwebui serve
bashnohup openwebui serve > openwebui.log 2>&1 &
创建文件 /etc/systemd/system/openwebui.service
:
ini[Unit]
Description=OpenWebUI Service
After=network.target
[Service]
WorkingDirectory=/opt/openwebui
ExecStart=/opt/openwebui/venv/bin/openwebui serve
Environment="BYPASS_MODEL_ACCESS_CONTROL=True"
Restart=always
User=root
[Install]
WantedBy=multi-user.target
启用并启动:
bashsudo systemctl daemon-reload
sudo systemctl enable openwebui
sudo systemctl start openwebui
此后可通过以下命令查看状态:
bashsudo systemctl status openwebui
当新版本发布时,只需在虚拟环境中执行:
bashsource /opt/openwebui/venv/bin/activate
pip install --upgrade open-webui
然后重启服务:
bashsudo systemctl restart openwebui
至此,你已经完成以下配置:
项目 | 状态 |
---|---|
Cloudflare 域名解析 | ✅ |
OpenWebUI 安装 | ✅ |
OpenRouter 接口接入 | ✅ |
模型权限放开 | ✅ |
后台运行与开机自启 | ✅ |
自动更新机制 | ✅ |
现在你可以通过以下方式访问你的自建 AI 平台:
https://ai.<你的域名>
这是一个完全自建、现代化、安全的 AI 聊天系统 🎉